本人在秋招过程中,在河畔上得到很多师兄、师姐指导和帮助,现在秋招基本结束,是时候献上一篇面经了。在这里,我最想讲的是学习、面试过程中的一些经验教训和建议。但是要说明一点的是,这些经验教训和建议可能并不是适合每一个人,也只是我一家之谈,个人的话还是要根据自己的实际情况,来选择适合自己的学习办法。另外,这篇面经也不涉及到面试过程中具体的问答,但是最后会有我在面试过程中的知识点的总结,这些知识点大多是面试过程中的高频考点大家可以做一个参考。但是我还是建议大家把这些总结仅仅做个参考,具体的知识点还是要自己总结,因为只有自己总结的理解才能更加明白、记忆才能更加深刻。
这篇面经主要分为两个部分:准备阶段、面试阶段
一.准备阶段:
C++的学习可以分为,C++基础、数据结构与算法、计算机网络和操作系统。另外,需要特别指出来的就是编程能力(如果要归类的话,应该是属于C++基础和数据结构和算法的综合)。个人认为最为重要的就是编程能力。可以通过刷题(剑指offer、LeetCode)来提高编程能力。下面就上面的4大块罗列一些书籍和资料,需要指出的是,这些书籍和资料有点多,有时间有能力全部吃透,当然最好,但是如果时间紧张的话,我还是建议大家有重点地看。另外建议大家尽早准备,可以在提前批抢占先机,在提前批最大的一个感受就是,难度并不大,最大的问题就是没得准备好,需要时间准备。
C++基础:
(1)C++ primer
这本书将的比较全面,并且比较基础,是看其他书籍的基础。
学习建议:看书的过程中要动手,把课后习题过一遍,不动手的话,是根本没有办法掌握的。
(2)Effective C++
正如这本书的封面所写的:改善程序与设计的55个具体做法。这本书绝对经典
(3)深入探索C++对象模型
C++的底层实现
(4)STL源码剖析
STL的底层实现,建议学完数据结构和算法之后再看
面试过程中,如果要问C++基础的话,常常会问C++的底层实现和C++编程当中的注意事项,这才是C++基础中的重点。因此,Effective C++、深入探索C++对象模型、STL源码剖析绝对值得一看(可以有重点地看),但是看看这些书的基础是C++ primer,基础必须打扎实。
数据结构和算法:
(1)浙大的网易公开课:
http://www.icourse163.org/learn/ZJU-93001?tid=1002019005#/learn/announce
个人认为要要比大话数据结构强很多,入门强推。并且在看视频学习的同时,建议把课件上的代码敲一遍,还有习题也是要做的。
(2)算法导论
难度比较大,个人建议还是有一定数据结构和算法基础之后再看,并且可以选一部分看。我建议可以看一下贪心算法、动态规划和红黑树,特别是红黑树。
(3)剑指offer
强强强推,编程能力的提高就靠它了,面试过程中的手写代码好多都是这本书的内容,建议大家,早刷,有时间的话,多刷几遍。
计算机网络:
计算机网络(谢希仁)
其他的书籍:图解TCP/IP、TCP/IP详解、图解HTTP
本人只看了计算机网络一本书,计算机网络这本书讲TCP/IP这部分还可以,但是http这部分讲的并不是很详细,所以建议大家可以看一下其他的书籍做一下补充。
***作系统:
(1)北京大学的《***作系统原理》
http://www.chinesemooc.org/kvideo.php?do=course_progress&kvideoid=4747&classesid=1971
(2)现代操作系统
可以配合上面的视频一起看
(3)深入理解计算机系统
这本书强推,有能力的同学可以全看,但是如果时间紧张的话,可以有重点的看。看起来可能有些吃力,大家要有个心理准备。
其他:
其他比较重要的部分还有:linux系统相关、网络编程相关、数据库相关,设计模式相关,脚本语言相关,由于本人对这些涉猎很少,也就不敢班门弄斧了,这些内容大家可以根据自己的实际情况学习。
二.面试阶段:
关于招聘信息:
(1)牛客网(2)校园招聘网(3)各种公众号
关于是否参加提前批:
非常建议大家参加提前批,不要因为担心提前批不过会影响校招。原因有以下几个方面:
(1)正如那些公司宣传的,参加提前批等于多了一次机会,提前批也没有想象中那么难,很有可能就会被录取
(2)大多公司的提前批提供的offer都是sp,薪资的话,大家懂得,但是校招的话,这样的机会还是比较少的。
(3)提前批相比于秋招的话,难度略低,所以不要担心实力不够,丧失信心。
(4)面试中是有一些套路、技巧和一些要避讳的事情的,因此,可能把提前批当做是一种练习,给自己犯错的机会,在秋招中避免犯相同的错误,把握住机会。
(5)百度的提前批是分部门的,不会影响校招,并且可以同时面试多个部门,是个很好的练习的机会。
(6)提前批进不去阿里,校招基本上没得机会能够进去阿里。
关于面试阶段的学习:
(1)做总结,记笔记。面试之前,看面经做笔记,面试之后,查缺补漏做笔记,
(2)多和自己的小伙伴谈论,交换信息,这是一个很重要的成长的过程。
关于面试的一些建议:
(1)态度要谦逊
(2)项目介绍过程中要流利,不然面试官就会认为项目不是你做的。可以为每一个项目准备一套说辞。对每个项目也要足够熟悉,不能被项目官问倒了。
(3)问你有什么优缺点:优点避免说自己勤奋好学
(4)问你项目中是怎么分工的:这时候考察是你的团队合作能力,有些答案是很避讳的,即使这个项目真的是你负责了大部分的工作。
(5)问你有什么问题想问的:最好能够体现出你的上进心,是很好的一个加分项
(6)面试过程中遇到不会的问题,不会的题目很正常,要调整好心态,不要慌,积极地思考。
最后附上找工作过程中总结的知识点:链接: https://pan.baidu.com/s/1sKkpV9DtiS2vqbg0dJF08A 提取码: 4m46
作者:未透露姓名的学长