23届考研C++面经(华oD)
- 先介绍一下背景:
23届科班,考研复试被刷选手,后来直接投递了华为od项目。个人刷题300+,但是基本上没有项目经验,都是学校内的一些课程设计,栗栗姐的机试题刷了10天。
- 机考
运气很好,抽到的都比较简单,没有遇到难题。
第一道:内存冷热标记,直接使用二维数组多条件排序,或者使用哈希表直接存储就可以解决了,全AC。
第二道:虚拟理财游戏,这道题目直接暴力破解,分别考虑取一种或取两种的情况,选取最大值,但是最后一个用例死活AC不了,过了93%。
第三道:跳马,对每一匹马进行bfs,使用二维数组记录每匹马到各点最小步数,最后输出,全AC。
栗栗姐会给,我是把od全部题库从头到尾刷了一遍,又把题库里面难的题目再做了一遍,其实基本上做一遍就够,不用太过于担心自己会遇到难题。
- 综测
不要有自己的想法。
- HR面试
遵循栗栗姐的注意事项就行了。
1.介绍自身情况以及空档期的原因
2.是否有过项目经历以及项目的代码行数
3.为什么选择这个地方作为工作地点
4.未来规划
5.反问部门的主要业务
- 技术一面
项目基本没怎么问,觉得我项目太简单了。
由于了解到我是考研的,面试官就主要问我操作系统以及计算机网络的知识
1、操作系统:
对于操作系统的理解,进程线程的特点,多进程与多线程,读写锁与互斥锁
2、计算机网络:
每层名称以及各自协议,后面就主要集中在TCP与UDP的特点与应用上。
3、算法题:
leetcode3,无重复最长子串,双指针直接解决,原题是输出最长长度,如果你做的快的话,面试官会让你输出每个最长的子串。
- 技术二面
同上,项目依旧基本没怎么问。
这一面的八股文主要就是C++中常见的八股文,包括常用stl容器的特点,怎么使用,使用的注意事项,以及虚函数相关的知识。
算法题是面试官口述的一道题,广度搜索的题目,二维数组中有-1,0,1,2,-1为不可通过位置,0,1,2位置均可通行,求所有1到最近的2的距离的和。将所有2加入到一个队列当中进行广度优先搜索,遇到1就记录距离,并将其标记为已经访问,最后输出答案,我最开始方法不是最优的,面试官就让我一直优化,直到最后达到最优。
- 主管面
主观问题:
1.自我介绍一下;
2.对自身技术水平的估计
3.项目中遇到的最大困难,以及怎么解决
4.聊加班的看法
5.聊薪资
- 总结
栗栗姐在整个过程中都在一直积极跟进,每次面试结束后都会立刻询问结果。在整个流程当中,提供了许多帮助,包括复习资料和解答我提出的各种问题。