秋招面试记录——c++软开岗(CVTE,大华,华为,深信服,同花顺,小米,亚信,招银,中兴)

从三四月份参加了华为的实习生面试,被面试官狠狠打击,意识到基础对于秋招的重要性,后续进入了一家小公司的算法部门实习,在实习期间一直都在努力学习基础知识,算法能力,coding能力,也成功在秋招斩获了想要的offer,在这里记录一些自己的心得,以及一些面经。

我的秋招大致是从8月份开始,一直到11月才真正结束,但实际的战线要长得多,可以说是从三四月份的实习生面试失败后开始的,通过这次经历,摆正自己的位置,毕业生嘛,所有大厂更看重的是你的基础,除非你有令人惊叹的成果,否则打好基础是进大厂的必要条件。

实习生面试的时候手头上只有几个在别人工程上进行改造的小项目,但是啊,面试官并没有对这些小项目加以询问(毕竟绝大多数学生阶段的项目在他们都是比较低级的),对我的提问是从简单的数据结构开始,这恰好是我严重不足的一点,相信也有很多人和我一样。平时只是跑了些深度学习的项目,搭环境,做调试什么的就不知不觉就花光了时间,但不好意思,企业不看你这些从别人那学会的,没有自己能力体现的东西,我记得当时考我的就是数据结构里的栈,当然是结合实际场景考的,这与我所想象的面试场景完全不一样,当时直接就有点懵逼,一路也就懵逼着出来了。其实也是很合理的,一个毕业生,连自己的基础都没有打扎实,也就不用问哪些“抄来的”项目了。

回去之后,我就重拾了本科的c++,从头开始,看视频,看书,等等,难就难在坚持,而且研究生阶段难免会有琐事,但必须时时刻刻记住秋招才是这段时间的重中之重。当然,实习还是很有必要的,能去就一定要去,但这必须进行衡量,会不会影响基础学习,影不影响刷题等等。本人还算是比较幸运,通过老师进了一家小公司的算法部门(虽然这与后边的职业选择有违背,后续会说明),与公司协商后,大致是一周去公司一趟并汇报这段时间的成果,因此得以在完成安排的任务后有充足的时间coding,补偿基础知识等等,当然薪资基本没有哈哈。但我十分感激这一份实习工作,让我有了这样一份体验,并且实习这一项,在后续公司的面试中有实习经历必然是一个比重较大的加分项。

实习大致是在8月底结束,总时长大致是三个月,期间完成了两个项目,这里说一句,必须要对自己做的所有项目,包括在学校做的,有一个详细的总结,最重要的是思路说明,另外还会在面试中考察你的项目完成过程。比如说我有一个项目,是分多个算法部分组成的,因此可以问每个算法的具体实现步骤,在使用这一个算法之前有没有考虑过其他方法,有没有其他方案,最后为什么选择这几个算法等等

大致是在9月份,参加了第一次秋招面试,是中兴的提前批,当时申报的是算法工程师岗位。(这里主要讲感受)面试怎么说呢,面试官全程嫌弃我的项目,大致就是这样。这么说吧,如果想应聘大厂算法工程师的岗位,你要满足大赛获奖(ACM,天池等等)、相关*期刊论文,然鹅这些我都没有,所以面试官对我这些个人项目的不满也就十分正常了。这里我认为:大部分人想做算法无非是因为其薪资,但经历完这次秋招,我认为吧,想进大厂的算法岗位,你需要有比较不错的出身,如985211硕博士,扎实的基础能力,如算法竞赛,顶刊论文等等,否则还是要思量思量,事实上是没有那么多的算法岗位的,你如果不够强,就别进这个圈子了,因为这会影响到你后续的秋招的。可以说,所有的公司,都只会把你的第一志向纳入考虑,除非你特别优秀,否则就是在池子里泡死

也就是中兴打了我的脸,才让我慢慢从岗位选择上的死脑筋慢慢转过来,其实没有那么多人,就业岗位是与研究生阶段搞的项目一致的。在这之后,我就慢慢将投递岗位往C++方面靠了。

接下来就是正式的秋招了,个人是这么安排每一天的,复习一遍自己准备的所有的面试相关材料(个人有一份一开始只有20页的内容整理,包括项目以及一些面试常考内容,到后边这份资料多到了80多页,但一定要坚持每天刷一遍,别过分依赖自己的印象,你要做到的是面试的时候对考到的知识点倒背如流),当天有面试笔试就在这之前查一查相关的笔经面经,如果当天没有其他安排,就一定要花时间刷题。

C++框架可以用这个
秋招面试记录——c++软开岗(CVTE,大华,华为,深信服,同花顺,小米,亚信,招银,中兴)
C++常考的还有计算机原理,计算机网络等等,也必须对一些常考的知识点由足够的认知。
秋招面试记录——c++软开岗(CVTE,大华,华为,深信服,同花顺,小米,亚信,招银,中兴)
秋招面试记录——c++软开岗(CVTE,大华,华为,深信服,同花顺,小米,亚信,招银,中兴)
没有捷径,只能多看多记。

下面是我秋招的主要经历。

CVTE(GET)

面试官1(专业面):
自我介绍;
栈和堆的区别;
内存分布情况(堆,栈等的位置);
TCP,UDP区别;
Socket套接字;
最熟悉的STL;
Vector的扩容方式;
线程间的通信;
一个类的基本函数有哪些(构造,析构等);
访问一个url发生的事;
知道的协议有哪些;
说明一个协议的具体过程(https);
算法题是二分查找(找完后对代码进行了具体分析,可能存在的问题等,相加溢出)
想问什么(c++岗位)

面试官2(专业面):
自我介绍;
介绍最得意的项目(我讲的太久被打断了);
项目中的难点;
项目中觉得最有挑战性的是什么;
项目中可提升的点有哪些;
职业规划;
想问什么(c++岗位,培训机制)

HR面:
未来规划
薪资
家庭情况
对工作的担忧
人生经历
简历上的
家人对自己的影响
家人对自己事业的看法
愿意在哪里生活
印象深刻的事
最近遇到的最大的困难
实习
个人性格
个人缺陷

大华(GET)

技术面1:(15min)
常在最后部分进行插入删除的STL;
链表是什么;
链表和线性表的区别;
不能进行赋值运算符重载的运算符有哪些;
什么是重载;
印象最深的一门课;
平时成绩
问:
C++在公司常做什么

技术面2:(10min)
自我介绍;
项目介绍;
加了微信;
面试官介绍自己的项目;
成绩如何;
本科学的什么课程,最好的是哪门课,不好的是哪门课;

HR面
自我介绍;
奖学金情况;
项目情况;
看待加班;
薪资要求

华为(GET)

一面
45min
手撕算法,数字,动规的,字母,数字
A-1
B-2

Z-26
给一列数组,能实现的最多字符种类
如22 有2,22,两个,分别是B和2那个
如223有2,22,23三个

一个类的基本函数有哪些(最好能手写)

排序算法,堆,桶,实际过程是怎么样的
项目,详细的,花时间最多的项目
想问啥

二面
60min
项目
实习项目
Map的内部排序(hash,红黑树)

手撕算法,排序012 花了好长时间,半小时吧
一个数列仅有0,1,2三种数字,排序,不能使用sort,要求只遍历一次,最多常数的空间复杂度。
如1,2,0,0,2,1排序为0,0,1,1,2,2。

三面
讲项目
对华为的看法
地点选择
还有那些要补充的知识点感觉补充起来,学习能力可以
想问啥

之后的电话联系:
汇报目前情况(面试还是不错的,目前正在和公司需求进行匹配,大概一周后发布结果);
目前已有的offer以及薪资情况;
相关证件(四六级等);
有什么想问的(希望尽快得到结果)。

深信服(GET)

专业面1:
30min;
自我介绍
项目说明
内存结构
malloc相关
哈希表(如何减少冲突)
大数据量找中位数
自身优点
手撕冒泡,你说你经常刷题,那就算了

专业面2:
30min
通信协议
socket
堵塞
哈希表
冲突解决
手撕,字符串转数值
身份证号查询

HR面:
20min
HR
自我介绍
项目介绍
难点
平时成绩
恋爱
家庭
对深信服的理解
听HR吹
目前秋招情况,选哪个
有什么问题

20号前出结果

同花顺(一面挂)

AI面试:
大部分问相关情况
小部分技术题
如单例,工厂等模式的情况;
三次握手,四次挥手
TCP
介绍项目等

电话面:
代码量,疯狂强调代码量;
看的书有哪些;
看过那些有关于代码编写的书;
项目;
是否接触过Linux;
在Linux上用过什么通信相关的知识;
IP查询;
有没有接触过客户端开发的相关知识项目;
怎么学习项目相关的知识;
有没有接触过别人的项目,看过源码等;
Vector的源码;
对vector进行内存操作指令有哪些
能否实习
月薪要求

专业面:
自我介绍;
项目介绍;
本科情况;
撕代码:
字符串变整形(考虑进制情况,正负号,非数字(如符号;等))。
一个及其反感的面试官,就没打算继续面试了。

小米(一面挂)

总体上:
相较于概念知识,更希望了解底层的详细原理
测试开发就是测试开发,不能偏向于开发,需要的是很广阔的知识面以及一定程度上的算法能力。
很强的面试官,投的岗位错了,终归还是我太菜了

一面:
数据库:按要求写几句具体的指令;
有哪些模式(单例,工厂等);
对于工厂模式举一个具体的例子;
单例模式有哪些,哪些是线程安全的;
HTTP协议的构成;
HTTP不同版本的区别;
知道的排序算法有哪些,区别;
ARP是什么;
SVM和逻辑回归的区别,优劣;

算法题:
用最少不同数值的钱得到指定的结果(dp);
求三个数的和为指定的值;
当遇到所排序的内容远大于存储空间时怎么办;

亚信(二面挂)

总体感觉:
像是来找操作工,也就是外包公司,需要能马上去公司干活的。

一面(技术)
多态;
指针,引用;
malloc,new;
项目中遇到的难点;
Sizeof;
喜欢问的很细致,举例子问;
Const;
Static;

二面(技术)
多态;
指针超出范围后会报什么错;
之后的安排;
我说要工作可能得明年四月份,就委婉地让我滚了

招银网络(电话面挂)

电话面试:
自我介绍;
代码量;
虚函数表;
纯虚函数;
死锁;
数据库用过什么;
脏读;
事务(ACID);
问了之后的安排(如果通过会有现场面试)

中兴(死池子里了)

专业面:
排队排了俩小时;
面试时间大概半个小时
介绍你擅长的计算机知识(c++什么的)
Python怎么调用c++;
死锁
Const对指针的操作
进程,线程
索引
Socket
项目
原因工作的地点(南京,长沙)

综面:
英语自我介绍;
项目;
项目的原因;
项目的提升点;
薪资;
工作地点;

11月8号,我是在这天把我的三方交了,秋招也就这么结束了,后头想想,还是很充实的,秋招就是有付出就有回报,希望各位都能拿到满意的offer。