华为od-22届考研-C++面经
个人情况:22届本科,工科专业,非科班,无工作经验(考研)。
一、机试
T1:求三个矩形A、B、C相交区域的面积,给出每个矩形的左上顶点坐标以及长宽数据。
T2:给定一个字符串,该字符串由 @ 分成两部分。@前的部分表示可以使用的字母及其数量。@ 后的部分表示已经被使用的字母及使用的数量。你需要按原字符串的顺序输出剩余的可使用字母及其剩余数量。
例子:
输入:a3b2c1@a1c1 输出:a2b2
T3:寻找单词。给定一系列等长字符串,组成一个二维矩阵。给定一个目标单词,判断是否存在一系列上下左右相邻的字母能够按顺序连成目标单词,若存在,按顺序打印每个字母在矩阵中的位置(连接时每个字母只能用一次)。
例:输入:ACCF,CDED,BESS,FECA target:ACCESS
组成矩阵:A,C,C,F
C,D,E,D
B,E,S,S
F,E,C,A
输出:0, 0 0, 1 0, 2 1, 2 2, 2 2, 3
二、HR面试
内容参考:
1.自我介绍
2.个人情况
3.断档原因
4.家庭情况
5.根据简历内容提问
6.觉得自己有什么优势
7.是否有其他offer
8.为什么选择来OD
9.职业规划
9.薪资期望
10.反问环节
三、技术面
【1】技术一面
面试语言:C++
内容参考:
1.编程
将一组IPv4地址格式的字符串按照升序进行排序,并讲解代码思路。
比较规则:192.168.1.1 > 192.168.0.1 172.168.6.1 < 192.168.0.1
2.介绍一个自己的项目或作品
3.如何对该项目的需求进行分析,并拆分项目功能模块
4.项目用到了MVC,讲解M、V、C分别负责了哪些功能
5.static的作用
6.vector和list的区别
7.迭代器的作用
8.冒泡排序与快速排序的算法原理
9.虚函数与普通函数有什么区别
10.多线程与多进程有什么区别
【2】技术二面
面试语言:C++
1.编程:
Leetcode 165. 比较版本号
2.简单介绍简历上的一个项目
3.该项目的某个功能的算法实现思路
4.项目的程序设计问题
5.unordered_map 的原理
6.如何解决哈希表的冲突问题
7.进程间的通信方式有哪些
8.如何解决在工作中遇到的问题
四、综面
内容参考:
1.自我介绍
2.断档情况了解
3.考研目标院校与专业
4.为什么选择考这个专业,而不是计算机专业
5.为什么当初选择考研而不是找工作
6.不是计算机专业,为什么选择这一行
7.本科专业、考研目标专业、就业领域方向差异过大,是否觉得自己没有选对方向
总结:
1.技术面的难度不算太高,问的问题也是八股偏多(大概是因为没有工作经验),其余的也大都与简历内容相关。现场编程题目的难度不算高,但是限时40分钟,平时要注意多加练习。
2.HR面比较轻松,回答的时候要以实事求是为主,并要能尽量体现自己:
① 有正常的交流与逻辑思维能力;② 有获得这份工作的意愿;③稳定性好 等。
3.综面时给的压力很大(因人而异),面试官的提问十分直接和尖锐,问的都是痛点,而且会追根问底。最好对类似的一系列问题提前做一个准备,不要被打个措手不及。
最后要感谢全程提供答疑和帮助的HR栗栗,人很好,很热情,有问必答,无论是在面试还是入职过程中都帮了我很多忙,有需要的可以尽管来找她

----------------------【嘻嘻,以下是栗栗自己的罗里吧嗦】-------------------
1、需要其他的面经可以前往我是栗栗呀---主页 https://www.nowcoder.com/users/685674902 (内含:测试,前端,Java,嵌入式等面经有几十份)。
2、对于大家说的目标非目标的问题,大家可以先咨询我了解下,再去准备机考的哦,因为消费者终端是有持续在招聘非目标需求的。
3、转行或者考研等也是可以持续投递的!!目前需求还是很充足的哦!!同时栗栗会提供笔试资料,以及所有面试环节的技术攻略等~~24届的友友们,虽然要拿到双证才可以申请机考,但是可以提前联系咨询我的呀。
4、栗栗的招聘需求(可私聊):
可选择的工作地:北京,东莞,深圳,上海,南京,西安,成都,武汉,长沙等华为研究所。
招聘岗位:java、Python、前端,大数据、测试,c++,GO,嵌入式等岗位。
可选择部门:ICT(公开,光,计算,无线,数存等),云计算,2012(中硬,中软,中媒),消费者BG,BPIT,上海海思,Carbu,2012,GTS,海思等。
5、栗栗关于OD的一些浅显看法:https://www.nowcoder.com/discuss/611542395389325312
