华为OD : 面经
绪论
要个p绪论,直接正文,仅供参考就完事儿了
步骤一 : 机试
- 机试考察 : 两道中等题(100分),1道困难题(200分)
- 代码形式 : ACM模式,(需要自己控制输入输出)
- 建议:通常来说150分为及格线, 300分是安全线
- 过了300分,以后如果卡流程了,想转其他部门,这个分数线可以说是通行证。
- 听说有时候卡流程还可能是对应的部门有学历要求,可以跟对接人沟通一下。
- 机试练习 :一般来说参加机试的人都会收到这个链接,所以我就不放上来了。
- 不过我还是推荐直接刷leetcode
步骤二 : 技术一面
技术一面为本部门的人进行面试,所以时间上比较容易安排。
这个我当时写过一篇面经,这里我直接复制过来吧,指路👉点这里面试时长: 1个小时
面试内容:分为三块,一半时间在手撕代码上
【手撕代码】(面试官全程监看)
leetcode中等题 : 55.跳跃游戏- 手撕代码全都是中等题,只要你把leetcode刷够了,一般来说都是没有什么问题的
- 需要注意的是,使用本地IDE编译,需要你提前打开vs studio
【八股】 (C++)
- 面向对象的三个特性
- 封装、继承、多态都是怎么做的(扩展了很多)
2.1 虚函数,父类子类,override, - private,public,protect 各自的使用场景 & 有什么区别
- 讲讲重载
- 使用过什么智能指针
5.1 细讲一下你用过的这些智能指针 - 讲讲多线程
6.1 锁是怎么运用的、细说 锁的内容(锁的啥,咋锁的)
6.2 线程之间是怎么通讯的
6.3 两个进程之间是怎么通讯的
6.4 call_back的使用,在什么时候使用的, - 结构体和联合体之间的区别
- 讲讲通过哪些STL
8.1 map 怎么做的
8.2 vector初始化没有分配内存的时候,是怎么样的
8.3 vector,push_back之后,内存是怎么变的
8.4 vector 和普通数组之间的区别
8.5 vector 的最大容量
8.5 讲讲unordered_set - 讲讲内存对齐
- 讲讲内存
10.1 malloc,new,delete,free
10.2 栈和堆 - 宏定义
- 了解过排序吗
12.1 讲讲sort() 里面是怎么实现的。- 备注:这块是C++的八股了, 这块是基本功,多看看面经帖子看看总结吧。
- 我也写过C++八股的markdown文档,但不算很全面,后续看情况补充完整吧。
- 【项目经验】
- 项目经验就是对着简历,挨个问你项目实现的功能,涉及的技术,怎么实现的。
- 这块地方不要给自己挖坑,完成了什么项目,实现了什么功能,用到了什么知识点,要跟前面的八股能联系起来
- 实际体感,这块花的时间是最多的,比八股还多。在项目中遇到的问题,怎么解决的都可以讲出来。
步骤三 技术二面
技术二面是其他部门的人进行交叉面试,使用时间相较一面不太好安排,
面试内容和一面是一模一样的,把一面准备的内容再复述一遍就可以了,不过多赘述。
步骤四 HR面试
不少人卡流程都是卡在这里了,因为没坑位了啊,招聘暂停了啊,二面没过啊,等等原因
别干等着,主动跟对接人联系吧。
他们都很友善的,没回你真的是因为太忙了,优先级不高所以忘了。
所以需要主动联系。
- HR面,又名 资面
- 整体氛围来说比较轻松,不考察技术,更多的是了解你的近况,工作稳定性等等
【自我介绍】
【近况】 : 比如说,最近在干什么
【未来规划】
【人生轨迹】
【离职原因】
【对华为的看法】
【学习经历】
【手头的offer】
【期望薪资】
【反问环节】:就多问有关个人发展和工作环节的问题吧, - 这些内容因人而异,但大抵如此,诸位按照自己的情况畅聊即可。
- 整体氛围来说比较轻松,不考察技术,更多的是了解你的近况,工作稳定性等等
步骤五 主管面试
- 主管面, 又名 综面
- 这个环节是业务主管进行面试
- 大概内容和HR面并没有太多的区别
- 需要注意的是综面有一个特别重要的考察环节就是【项目经历】
- 【项目经历】
- 关于项目,不只是一面二面的如何实现,如何完成了
- 还需要站在项目负责人的角度考虑
- 这个东西给其他完全陌生的同事看
- 给客户看
- 给新人看
- 他们能不能很快的理解,并且明白你这块代码的需求啊,功能啊,实现啊等等
- 很多都涉及到代码规范的问题
- 【反问】
- 多问技术相关的问题吧,我就不提什么建议了。
步骤六 提交材料&申鹤
- 这块就跟对接人沟通吧,他们会告诉你该怎么做了,我就不多此一举了。