先介绍下本人的情况,本人研究生双非院校,本科也是普通二本,也无实习无项目非科班出生。刷了将近半年的题和自学了相关知识点,最终拿到华为、海康、大华、同花顺、深信服、CVTE、紫光展锐offer。本人主要投递的岗位是C++相关的软件开发及后端开发。本文为2021级秋招经验,主要介绍相关知识点及面试经验,包括C++语法、数据结构、操作系统、计算机网络、数据库及设计模式等高频知识点。
先讲讲本人的学习路线及各大公司推荐学习路线。本人可以说是非常的惨了,前几届师兄都是非研发岗,一点面试研发岗的经验都没有,什么实习的更别提了。本人的主要学习内容是Leetcode从第一题刷到150题,剑指offer刷完;在专业知识点方面只看了本文总结的高频知识点。在这里做个申明,如果同学不想进互联网大公司,只想进上面说的厂或者其他非互联网公司,那么你可以按照本人的学习路线走一遍,因为基本上上述内容用于非互联网公司的笔试和面试都够了。接下来聊聊双非院校同学想进BAT或者其他互联网大公司的见解和学习路线,双非院校的同学想进互联网大厂还是有一定难度的,不过功夫不负有心人,有付出就会有收获。双非院校同学进互联网大厂最好的路线就是提前准备,在研二上学期先去华为这样的大厂实习,等研二下的时候通过笔试和面试拿到互联网大厂的暑期实习offer,到时候直接转正结束秋招。说了这么多现在聊聊BAT互联网大厂的学习路线,BAT大厂的学习路线是由拿到腾讯offer的同门提供。以下是BAT大厂的学习路线:
C++基础
《C++ Prime 第五版》
不说了强烈建议这本书;有人可能推荐《C++ Prime Plus》这本书,只能说面试是以前者为主的。至少看一遍,能多看就多看。
C++11
《深入理解C++11:C++11新特性解析与应用》
《Effective Modern C++》
《modern C++ tutorials》
这个模块主要是需要了解C++11新特性,也不需要全看,可以结合网上面经进行重要知识点扫盲。
C++进阶
《Effective C++》
《STL源码剖析》
《Effective C++》这本书还是有一定难度的,需要看完C++基础再看(可能还是有点看不懂,可以结合各大厂面经看)。《STL源码剖析》还是需要仔细看看的,面试的时候可能会让你说出原理或者写出某个STL函数中的源码(具体结合面经)。
操作系统
《深入理解计算机系统》
看看重点章节2,3,5,7,9,多看几遍
Linux
《UNIX环境高级编程》
重点章节3,4,5,7,8,10,11,12
《UNIX网络编程》
重点章节1,2,3,4,5,6,7,8,11,14,16,26
后端
《Linux高性能服务器编程》
强烈推荐!
数据结构与算法
刷题:
(1) Leetcode至少200题,有时间刷300题。只要从第一题顺序刷就行。
(2)剑指offer刷完
在刷题方面有两种思路,一个是按照顺序刷,遇到不会的算法或者数据结构去看书学习;另外一种是先看书学习数据结构或者算法,在按照种类进行刷题。按照个人学习习惯刷题。这里面有一点比较坑的地方是上面刷题都没有输入输出的,在笔试面试中往往可能因为输入输出问题导致题目不能AC,这样的情况是非常可惜的,楼主就遇到所血淋淋的教训。所以需要重视起来,可以去牛客网专门有练输入输出的,总结一下。
算法:
《数据结构与算法》 小甲鱼视频,B站有。当然也可以按照自己的学习习惯选择相关视频。
说完学习路线,来聊聊笔试面试经验。一般来说笔试中会考两种题型,专业知识方面的选择题和编程题,建议选择题时间花费的少一点(分数也相对较少),多花时间在编程题;当然也有像华为、阿里、腾讯这样只有编程题的,一般会给两道或者三道编程题,两个小时,一般来说第一题比较简单,但也不绝对。在这里说一下楼主碰到的坑,楼主在四月份准备华为实习的时候笔试挂了导致秋招没有接收到笔试,于是一直等到九月底,有个好心招聘专员去帮楼主重新申请笔试,这才有笔试机会。所以一定要重视起来,同学们的实习面试笔试在公司是有记录的,当你去秋招的时候就会被重新翻出来,或者阻碍你的流程,一定要去找相关人员解决问题。再接着说,华为笔试是一次比一次难的,不知道其他公司是否如此,当然楼主遇到的华为笔试也是最难的,三题hard,差点又挂了(难受!!!)。再来说说面试经验,这里就不介绍具体的面试问题了,介绍一些面试技巧和方法。首先在面试前强烈建议去牛客网看你面试的岗位的相关面经(非常有用);其次在面试中可能会遇到一些你答不上的问题。这里要注意了,先说下面试官是如何问问题的,一个经验丰富的面试官是需要在一场面试中测试出你的真实水平,所以他们问问题的思路是先广撒网,问很多简单的问题,当你会回答一些简单问题的时候,那么他会深入这个问题继续问,来测试你对这方面知识的理解。所以一旦你连续两个问题答不上来时,说明这个面试官暂时无法预测到你的知识面,这个时候你需要引导面试官。打个比方,面试官问简单讲一下协程,你可能不会,但是你可以说平时这一块用的不是很多,线程和进程用的比较多,然后balabala讲一下。这样下来一是给自己一个机会,不至于一问三不知,第二是给面试官一个提示,你的知识点大概分布在哪个层次。另一方面就是手撕代码,在互联网公司手撕代码是常规操作,同学们也不用很慌张,手撕代码的难度一般是简单或者中等(只要认真刷题的一般问题不会特别大),只有面试官认为你非常优秀,才会给你hard题。在手撕代码时一定要和面试官进行交流(非常重要),交流的好处有两点,一是明确题目需求;二是给面试官留下好印象,面试官比较喜欢和他交流的人。和面试官交流内容主要有明确题目需求、相关提示或者换题目(有些同学可能懵了,还能有这种操作?答案是肯定的,有些面试官会在跟你交流并且提示完后发现你不会做,但是你大胆地要求换题时会同意的,前提是你上一道题也不要看太久,都看半个小时了再换题,人家肯定不愿意,看个5分钟没啥思路就提一下换题呗)。
相关电子书、知识点总结及学习视频都在百度云盘:(如果连接有问题请私聊我)
链接:https://pan.baidu.com/s/1Rqy2nQNHKHbYto0dpO3N4g
提取码:nhem
链接:https://pan.baidu.com/s/1UNbs8PI8lrY9fCpS0igYCw
提取码:0olk
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)