22年毕业,c++/qt面经,华OD
学校背景:普通二本学院 ,工作经验2年
- 面试流程:
- 一、机考(390分)
第一道:
靠谱的车 题目大概是任何数字遇到数字4就直接跳过,注意进位处理就好。
第二道:
机场航班调度程序 飞机的航班号例如:CA3385,CZ6678,然后字符串拆串、排序,
第三道:
链表回环 难度较大,深度优先搜索(DFS)来检测是否存在环
- 二、综测
在网上找一些资料结合着hr发的攻略,感觉问题不大。
- 三、Hr面
先是自我介绍,然后hr会问一些问题:
主要是问一些离职原因,为什么来武汉(工作地点),还有就是对od的了解,个人的一些现状,还有期望薪资,也是没什么大问题,就正常回答就行,
- 四、技术一面
刚开始让自我介绍,之后让介绍自己的项目,再根据你的项目去问问题,我当时网络出现了一点小状况(面试前一定调试好设备,提前入场),听不清面试官说话
然后面试官让先做一道算法题,题目大概是:有三种颜色不同的小球,用0、1、2代替颜色,它们的顺序是打乱的(若干个),最后让他们按规定的顺序摆放。我是用双指针做的,不算太难。做完题之后简单和面试官讲了一下思路,当时面试官问我还有没有别的做法,实在想不到别的什么做法,我就说了一种暴力解法。
之后就是八股文了,问了:
怎么理解栈和堆的,
什么是多态,用过哪些容器,
说下vector和list之间的区别,Unordered_map和map的区别,
什么是死锁,怎么解决,
还有就是linux的调试命令,怎么解决程序crash问题,
最后问了一个我在工作中有没有遇到特别的问题,解决之后觉得很有成就感的,这个结合自己的工作经历去说了。个人感觉一面更注重基础。
- 五、技术二面
也是上来让自我介绍,之后问了一些有关项目的问题,这个就要结合自己做过的项目了,问了项目之后开始问八股文:
c++的新特性有什么,当时我这里说到了智能指针,
然后就问了怎么理解智能指针,怎么检测内存泄漏,对qt的理解,
还有线程间的通信方式,线程池,怎么保证线程安全,也问了常用的容器和内部的实现原理,怎么解决哈希冲突, 大概就是这些问题,
最后在力扣上找了一个题(107题二叉树的层序遍历Ⅱ),广度优先搜索,记得零零碎碎的,个人感觉二面更深入一些。
- 六、综合面试(综面也是会问技术的)
自我介绍,综面时候有两个面试官,一个问我技术,一个问我个人状况。刚开始还是问项目,做什么比较多,问项目具体的流程什么的,问了一些细节,libevent库 curl库,项目中怎么解析json的,问了stl库容器的使用场景,问stl库是安全的吗?,为什么不安全,怎么解决,问了windows的句柄,还有git的使用,怎么解决冲突,代码的规范性什么的,综面问的比较多和杂许多小问题记不太清楚了,另一个面试官主要问的是未来几年的规划,因为我是北方的吗,然后问为什么来武汉,能不能适应南方的环境,还有自己的优缺点,在工作和学习之外遇到的困难还有收获了什么,大概就是这么多。
总结:
整个流程是从6月中旬到7月底结束,流程还是比较长的,但是因为学校是一个普通二本没有什么竞争力,就一直在复习刷题,准备面试,不过最后结果是好的,总的来说技术一面看重基础,技术二面比较深入,综面问的广和杂,但只要多复习多刷题,跟着hr栗栗姐的节奏,就完全没问题的。