1.  什么是数据结构?  
 
 2. 什么是算法?  
 
 3. 数据结构和算法的重要性  
 
 4. 如何学好数据结构和算法  
 
 5. 数据结构和算法书籍及资料推荐 
 
1. 什么是数据结构?
         数据结构(Data Structure) 是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。  
  2.什么是算法?
         算法(Algorithm): 就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果 
 
3.数据结构和算法的重要性
 在校园招聘的笔试中: 
 
 
         目前校园招聘笔试一般采用Online Judge 形式, 一般都是 20-30 道选择题 +2 道编程题,或者 3-4 道 编程题。 
   2020奇安信校招笔试真题_C++工程师_牛客网 (nowcoder.com) 
  2021美团校招笔试真题_Java工程师、C++工程师_牛客网 (nowcoder.com) 
  2021网易校招笔试真题_C++工程师_牛客网 (nowcoder.com) 
  2021网易校招笔试真题_C++工程师_牛客网 (nowcoder.com) 
  
  
  
  可以看出,现在 公司对学生代码能力的要求是越来越高了,大厂笔试中几乎全是算法题而且难度  
  大,中小长的笔试中才会有算法题 。算法不仅笔试中考察,面试中面试官基本都会让现场写代  
  码。而算法能力短期内无法快速提高了,至少需要持续半年以上算法训练积累,否则真正校招时  
  笔试会很艰难,因此算法要早早准备。  
   在校园招聘的面试中:  
   某学长 CVTE 面试:  
  1. 怎么计算一个类到底实例化了多少对象?  
  2. 如果还有一个派生类继承了这个类,那么如何计算这两个类,各自实例化了多少对象?  
  3. 你了解联合体和结构体吗?  
  4. 如何测试一个机器是大端还是小端?  
  5. 你了解队列和栈吗?  
  6. 怎么用两个栈实现一个队列。  
  7. 你使用过模版吗?  
  8. 写一个比较两个数大小的模板函数。  
  9. 你使用过容器吗?  
  10. 判断两个链表是否相交。  
  11. Vector 和数组的区别。  
  12. 你在学校里做的最满意的一个项目是什么?简述一下这个项目 
   某学长腾讯的面试:  
  1 、自我介绍  
  2 、 学习 STL 具体是怎么开展的?  
  3 、如果一款产品给你怎么检测内存泄露?  
  4 、进程间通信方式,共享内存是怎么实现的,会出现什么问题,怎么解决?  
  5 、 TCP 为什么是可靠的?可靠是怎么保证的?为什么要三次握手?为什么三次握手就可以可靠?  
  6 、 Http 数据分包问题;  
  7 、 Vector 相关;  
  8 、 Hashmap 相关;  
  9 、 红黑树的原理、时间复杂度等;  
  10 、 Memcpy 和 memmove 的区别;  
  11 、客户端给服务器发送数据,意图发送 aaa ,然后再发 bbb ,但是可能会出现 aaabbb 这种情  
  况,如何处理?  
  12 、游戏的邮件服务器中每天会有玩家频繁的创建邮件和删除邮件,海量数据、大小不一,会有  
  哪些场景,怎么存储,邮件是怎么到内存的?  
  13 、写一道算法题 
   某学姐百度的面试:  
  1. 手写五道题,三道编程题 ,一道数据库,一道 linux  
  2. 数据库的题两问  
  3. 算法了解的如何,插入排序编程  
  4. 说一下 IP,TCP,ARP  
  5. 内核是什么 
  6.IP 层主要功能  
  7. map 和 set 底层  
  8.bootstrap 的用法 ,html,html 的全称  
  9. 你觉得框架和库有啥区别  
  10. 代码优化  
  11. 哈希表  
  12.shell 脚本  
  13. 快速排序思想  
  14. 递归是什么  
  15. 分治是什么,与递归区别是什么  
  16.web 平台是怎么做的  
  17.linux 命令  
  18. 了解些什么前沿的技术,英语怎么样,了解过什么英语的文献 
   在未来的工作中: 
  学好算法对一个程序员来说是必须的吗?如果是,至少应该学到哪种程度? - 知乎 (zhihu.com) 
   你似乎来到了没有知识存在的荒原 - 知乎 (zhihu.com) 
  4.如何学好数据结构和算法
4.1 死磕代码,磕成这样就可以了

4.2 注意画图和思考
5.数据结构和算法书籍及资料推荐
5.1数据结构学习得差不多了,推荐大家都去把《剑指offer》和《程序员代码面试指南》上的题 做一遍
剑指offer_在线编程_牛客网 (nowcoder.com)

 
 
5.2 刷完上面的内容,我们童鞋还可以去刷刷 Leetcode
题库 - 力扣 (LeetCode) 全球极客挚爱的技术成长平台