本科:二本,材料专业
硕士:211硕,光学工程专业
基础:0基础,研一入学开始学习C++,计算机相关知识
实习:地平线,嵌入式C++软件开发工程师,实习时间约3个月
项目:一个简单的Qt开发的软件,代码量约2000行
论文、竞赛:无
秋招投了80+家公司,简历挂和笔试挂的公司就不列举了。
offer情况:百度(嵌入式开发),高仙机器人(C++开发),小米(嵌入式开发)
流程走完泡池子:大华(嵌入式开发)、网易雷火(游戏客户端开发)、虹软(嵌入式开发)、加特兰(测试开发)、兆芯(嵌入式驱动开发)、华为(软件开发)、同花顺(移动端开发)
面试挂:滴滴(测试开发,三面挂)、ZEKU(C++开发,二面挂)、趋势科技(C++开发,一面挂)、CVTE(C++开发,HR面挂)、浪潮(软件开发、分配到了Java的部门,技术栈不匹配)、ThoughtWorks(软件开发,二面挂)、海康威视(嵌入式开发,一面挂)、广联达(C++开发,二面综合面挂)、万集(嵌入式开发,HR面挂)、米哈游(C++客户端开发,三面挂)
面试流程中:荣耀(软件开发,一面完),博世(软件开发,一面完),海光(C++开发,一面完),ZOOM(C++客户端开发,一面完),东软(C++开发,一面完)
秋招前自己主要准备四块内容,下面说一下每一块内容自己的准备过程以及一些建议:
如果不是后端开发,主要学习C++基础、操作系统、计算机网络;如果后端开发,还需要学习网络编程、数据库、Redis那一套。后端开发要求比较高,我自己对数据库也不熟,所以可以看到我基本投递的都不是后端开发岗位。
1)准备过程和建议
我自己从研一开始陆陆续续学C++基础、操作系统、计算机网络、网络编程、数据库、Redis。学习方式基本都是B站找相关视频入门,然后看经典书籍理解和深入学习,然后跟着阿秀的校招笔记背八股,八股与书籍结合能比较好的把握重点知识(看书的作用:网上八股质量参差不齐,看过书才有可能辨别,毕竟经典书籍的表述才是比较权威的),并把知识内化成自己的东西,这样面试的时候回答问题就不会很僵硬。
因为我准备的比较早,所以我一般不会高强度背八股,前期主要是看书打牢基础,后期有面试的前几天才会高强度集中背八股,当然到了后期已经不是背了,而是有自己的理解了。
尽量早做准备,不要想着到秋招再说,等到秋招会发现大量的测评笔试面试,根本没有时间学习新知识,另外知识的掌握也是需要时间的沉淀的,所以尽早打基础很重要!
记住,八股一开始背了忘很正常,没有人能一遍记住,忘了再背,多背几遍就完事了,无他,唯手熟尔。
2)看过的一些书籍
重要,很多面试问题都源于这几本书,看过和没看过是有本质的差别的:《C++ Primer》、《深度探索C++对象模型》、《STL源码剖析》、《Effective C++》
推荐看一下,可以加深理解,但这些书涉及到的知识点,单纯背八股其实也能应付大多数面试了:《计算机网络自顶向下方法》、《现代操作系统》、《Linux高性能服务器编程》、《More Effective C++》
浅浅看了一下,不太重要:《算法》(第四版)、Linux内核设计与实现
别看:《C++ Primer Plus》
1)准备过程
2020年10月4日开始接触力扣。 ”两数之和,梦开始的地方!“
之后一年陆陆续续抽时间刷题,这算是一个熟悉的过程。
2022年暑期实习面试(秋招前的暑期)受挫后,意识到自己数据结构和算法还是有很多知识盲区,所以开始比较频繁的刷题、查漏补缺,主要针对面试高频题、经典数据结构和算法。
2)刷题建议
a、 0基础的话,尽早开始。面试的时候想要顺利手撕代码,“无他,唯手熟尔”;
b、不用像我这样刷这么多题,面向面试刷题在精不在多,针对面试高频题就可以,主要刷HOT100、剑指offer、CodeTop足够;
c、一开始可以只学习一种解法,后期一定要一题多解;
d、排序算法必会,并查集、最小生成树、最短路最好了解。
为了秋招简历好看点,自己从研一下学期,也就是2021年4 - 5月份开始着手找实习,然而这一次尝试是没有只有一家公司的面试且以失败告终。这次面试让我认识到基础知识的不牢靠,这个节点之后我开始精读《C++ Primer》、《深度探索C++对象模型》、《STL源码剖析》、《Effective C++》等经典的书籍,打牢基础。并且与此同时也有时间就刷题,算是锻炼编程能力和思维吧。
经过一段时间的沉淀,在2021年11月份我又开始尝试找实习,这次拿了三个offer,两家小厂拒了,最后去了平台更大的地平线实习,这段实习让我学到了很多,也丰富了一下自己的简历,为后面秋招做准备。
秋招前的暑期投了很多大厂的暑期实习,以失败告终,这让我意识到了自己的不足,开始补不熟的知识和频繁刷题。
我的建议是一定要去尝试实习,有实习在秋招的时候就是一个闪光点!另外在准备找实习的过程中也能检验自己学的怎么样。
简历上的项目就是很简单,没啥技术含量,一个Qt开发的软件,跟自己课题相关,算是个练手项目。
Web Server自己也有做,跟着Linux高性能服务器编程做了简单的功能,但是觉得这个太浅了还不足以写到简历上,所以自己也就没有在简历上写这个项目,但是自己在自我介绍的时候会说自己会网络编程,有时候面试官也会问道一些相关的内容。
秋招下来,八股、算法、实习这三块基本没啥问题,下面说一下自己秋招准备过程中的不足:
1 项目经历少,导致面试的时候聊完实习就没有其他项目聊了。一定要找一个目标岗位相关的项目认真做(最好不要Web Server)或者多实习几家公司,面试的时候能有的聊。
2 操作系统、计算机网络理解的太浅,不过后来认真啃了一下书,好了很多。
3 SQL、数据库、Redis不熟,面后端会很吃力。
4 自我介绍、项目和实习没有在秋招前形成自己的一套规范的回答,导致秋招一开始的时候自我介绍、项目和实习都是即兴回答,效果不是很好。
写在最后:一定要多面多面多面!这样才能认识到自己的不足,才能熟练八股和算法,才能流畅表达自己的项目和实习内容… 光背不实战,没用!