忙碌的二月份终于过去了,目前拿到心仪的offer。现在将自己这些天面试的经验大致总结下,希望能够帮助到所需之人:

背景介绍

本人985硕在通讯行业做一枚C++开发的程序猿有3年的时间。我的C++水平在3年的时间里已经丢掉了很多,赶不上刚刚研究生毕业出来那会了,可能是因为平时工作更加注重的是业务吧,加上3年没有持续的积累和学习,再加上今年就业环境感人,所以通宵达旦重新学习了好多东西,很多是目前工作中没有用到的,亦或者是以前学过现在忘记了面试需要的。这个学习的过程真的是一个痛苦的过程,大家想要找工作就一定要挺住,相信美好一定会不期而遇。

另外通过大大小小的面试,我总结了面试中的几个比较重要的点吧,按照我的感受从重要度的优先级排序。:

1、学历和年龄(这个是硬门槛)

2、知识的深度(简历上写的一定要弄清楚,且要够深)

3、随机应变的能力(比较考察思维逻辑和基础知识扎实程度)

4、上一份工作的方向

5、知识的广度

6、自信度

其实,不同的公司要求是不一样的。自己需要结合自身的实力和方向投其所好。我前期就是打乱仗,海投,每一个工作的要求都有一点差别。学习的东西太多,搞得自己都快扛不住了。但是说实话,可能还是自己太菜了,加上工作的内容用到的技术不够广泛,导致面试一次次失败,又一次次告诉自己坚持下去。我投递的行业包括新能源、医疗、通信、DEA软件开发等。话不多说,分享面经,只记得大概,答案需要自己可以去搜:

华芯巨数 面试流程

hr沟通 -> 线上技术一面 -> 线上技术二面挂

面试中问题

1、项目经历?用到的技术栈?有哪些成就?遇到困难的解决方式?

2、多态的实现机制(详细)?虚表的顺序?析构函数可以是虚函数吗?那构造函数呢?为什么?

3、常用的STL容器?string的append函数是怎么实现扩容的?时间复杂度是多少?如果现在需要一次append5000个字符串,整体的时间复杂度最坏和最好分别是多少?

4、排序算法有哪些?时间复杂度是多少?快排的实现机制是?如果现在有几千的完的整数,让你找出最大的1000个数,你会怎么实现?

5、两个长度分别为L1和L2的数组进行归并,时间复杂度是多少?空间复杂度呢?

6、怎样判断两个线段相交?

7、怎么求一个多边形的面积?

开立医疗 面试流程

hr沟通 -> 简单技术面试 -> 现场笔试 -> 现场技术面试 -> 技术总管面试 -> hr面试 -> 薪资沟通 -> offer审批流程

笔试

只记得百分之60左右,时间太久了:

1、构造函数的调用次数:class Test ==> Test t1, t2[3], *t3[3]

2、计算一个算法的复杂度;

3、前中序遍历推出后序遍历;

4、观察者模式的UML图;

5、编程:一个跟数字相关的题目,忘记具体的,不是很难,需要注意数字的范围,是否会越界。

6、编程:最长回文串

7、编程:合并链表

面试中问题

1、项目经历?用到的技术栈?有哪些成就?遇到困难的解决方式?

2、常用的STL容器?vector的内存管理?map的底层实现?红黑树重新平衡的复杂度?

3、智能指针有哪些?使用场景?如果让你设计shared_ptr你会怎么设计?

4、多线程多进程:互斥锁,现场安全,问完基础概念一般会结合场景再问

5、什么是虚拟内存?内存碎片呢?怎么解决?

6、软件设计的原则?

7、多态的实现机制?

8、堆栈的区别?一般系统分配的栈有多大?

镁佳科技 面试流程

hr沟通 -> 线上技术一面 -> 线上技术二面 -> 线上技术三面挂

面试中问题

技术一面笔试:合并两个链表

技术二面笔试:字符串排序

1、项目经历?用到的技术栈?有哪些成就?遇到困难的解决方式?(这个感觉基本都会问)

2、多态的实现机制(详细)?虚表的顺序?析构函数可以是虚函数吗?那构造函数呢?为什么?(这个感觉也必问)

3、智能指针?(经典必问)

以上三个基本都是必问,只是可能出的的场景不一样,一定搞清楚底层原理。

4、多线程多进程相关,忘记了

5、网络有那些层级划分?怎么识别具体是哪一层?详细说说三次握手四次挥手,注意是详细

6、TCP和UDP相关

7、会QT有了解吗?

鸿芯微纳 面试流程

hr沟通 -> 线上技术一面 -> 线上技术二面 -> hr面试

面试中问题

技术二面笔试:给k组数字对(1-2,3-2,2-6,1-5,7-8…)输出不连通的数字组合。【因为1-2-3-5-6是连通的所以是一组,7-8为另外一组】。其实就是图的遍历。

1、知道哪些数据结构和算法?复杂度分别是?怎么计算复杂度?

2、STL中的sort函数的源码看过吗?用到了哪些排序算法?时间复杂度是?为什么快排的时间复杂度平均为logN?为什么不用堆排?(反正挖的比较细,会根据你回答的挖到底)

3、树和图知道吗?树有哪些?图的数据结构?

4、图的算法有用到吗?有哪些遍历算法?哪个你比较熟说说具体的原理?

5、内存泄露知道吗?哪些场景会造成内存泄露?怎么解决?

6、智能指针?

7、左右值?

8、多态?以及根据多态进行拓展的问题?构造函数?

9、C++标准(11/14/17/20)用到哪些?

10、C++11提供的多线程库有哪几个互斥锁?

11、强制类型转换有哪些?static_cast和dynamic_cast有什么区别?

12、VN图知道吗?

13、触发器有哪些?

金山WPS 面试流程

hr沟通 -> 线上技术一面 -> 线上技术二面挂

面试中问题

1、项目经历?用到的技术栈?有哪些成就?遇到困难的解决方式?(这个感觉基本都会问)

2、多态的实现机制(详细)?虚表的顺序?析构函数可以是虚函数吗?那构造函数呢?为什么?(这个感觉也必问)

3、智能指针?(经典必问)

以上三个基本都是必问,只是可能出的的场景不一样,一定搞清楚底层原理。

4、迭代器是什么?迭代器失效知道吗?push_back()操作会导致迭代器失效吗?怎么解决迭代器失效的问题?

5、内存泄露?数组越界?内存碎片?

6、STL使用的多吗?用到哪些?底层的实现是什么?hash和map的区别?用途是什么?具体什么 场景用hash什么场景用map?还有用其他的吗?

7、给一个数组去掉里面重复的元素,不允许使用辅助空间,你会采用什么方法?具体说说你的实现?

8、QT会吗?GUI开发还会哪些工具?消息与槽的机制和原理?消息与槽怎么互相通信的?如果是你,你会怎么设计?

迈瑞医疗 面试流程

hr沟通 -> 现场笔试 -> 现场技术一面 -> 现场技术二面 -> 现场技术三面 -> hr面试

笔试

1、选择题:不定项选择,细节很多,主要是基础方面。比如关于类的一些问题,问题感觉还是有点小难;代码正确性判断;越界问题;感觉跟大学里面的考试差不多,需要扎实的基础吧。

2、填空题:

(1)设计模式的不同应用场景

(2)一段代码填空题,考察的是链表

4、编程题:

(1)链表中插入一个元素

(2)一个N*M的二维数组,在不使用STL容器的情况下,先找到每一行第三大的数,再找出这些数中第四大的数。

(3)合并两个有序链表

整张试卷的难度我个人觉得集中在选择题上。

面试中问题

1、项目经历?用到的技术栈?有哪些成就?遇到困难的解决方式?(这个感觉基本都会问)

2、多态的实现机制(详细)?虚表的顺序?析构函数可以是虚函数吗?那构造函数呢?为什么?(这个感觉也必问)

3、智能指针?(经典必问)

以上三个基本都是必问,只是可能出的的场景不一样,一定搞清楚底层原理。

4、内存泄露有哪些场景会造成?怎么解决?平时工作中怎么避免?

5、栈溢出是什么?怎么解决?

6、C++11标准用到了哪些?C++14、17用到了吗?

7、构造函数里面调用虚函数会怎么样?

8、new一个数组,delete不带[]会怎么样?为什么?

总结

还有很多问题都忘记了,像一些智力问题、多线程多进程的场景题目、还有设计模式的细节。如果想起来了我会继续补充。另外自我介绍、为什么离职、你的未来规划等必问问题我就不再上面罗列了。最好分享下个人经验吧:简历一定要针对不同公司做相应的调整;简历上写到的技术自己一定要会而且要深,不会就不要写;自己目前工作中的项目一定要描述清楚;自我介绍是门学问要下功夫去写;面试完了一定要总结,不要这次没答上来下次还不会;还有最重要的就是心态,可能有的面试官真的就是没想招人,自己水平一般般,问的问题毫无逻辑,到最后还要数落你,我也同样遇到过,备受打击。但是没办法,人总是在磨难中更加坚强,加油吧,致敬每一个在奋斗中人!

我要一步一步往上爬,在最高点乘着叶片向前飞,小小的天流过的泪和汗,总有一天我有属于我的天…


本文由转载于互联网,如有侵权请联系删除!