华为OD面经-C++算法

背景:

23届计科毕业,考研三战未上岸,考的英二数二,调剂机会太少了,调剂的学校都很一般,所以放弃调剂了。考完就知道自己基本难过线了,直到3月20号左右复试线出来,悬着的心终于死了。之前有朋友在华为OD这边工作,推荐我也来华为OD试一下,这里对没有工作经验的学生还是比较包容的,再加上知道自己是目标院校,所以决定来华为OD。

因为自己的算法基础还算不错,只简单的刷了一点题就直接机试了。(我认为机考的难度不算低还是需要一定的算法基础,建议新人学生最好刷一个月左右的题再去考试)。 需要注意的是ACM模式的输入输出有时候比较恶心,要千万小心注意。其次,推荐刷一下之前的真题吧,最推荐的相关算法题目就是做一些多关键字排序和一些稍复杂的模拟题

 

机考 3.30:

第一题具体题目忘记了,是道多关键字排序, 100%;第二题也忘记了,就是一个简单的暴力枚举,有1个边界情况没判断出来,95%;第三题还是道多关键字排序,暴力就完了,80%;总分355/400。

 

性格测试 3.31:

按hr姐姐划的重点填就好,没有时间限制,注意前后一致。

 

HR资格面 4.3:

这HR上的压力很足的,我现在回看过来,应该是压力面,可能压低你对薪资的预期。你要准备好回答她各种各的刁难的问题。要对自己的薪资有一个预期,你的期望薪资,还有你的最低期望

 

技术一面 4.10:

自我介绍,项目简单了解(我面的C++岗位,但是我的项目是深度学习的项目,我感觉面试官都不太懂,他让我自己说一说自己的项目),复盘了一下机考的第一题和第二题。再然后问了几个简单的八股文(字节序大端存储小端存储,还问了Stl,然后看完了C++的内存分为部分各自的用处)就结束了(可能是看我没有工作经验就没什么可问的吧),一共半个小时。代码题是一道简单的贪心

 

技术二面 4.11:

自我介绍,项目介绍,八股(指针和引用区别,智能指针,进程线程)。代码题:从一段英文中找出出现单词次数,遍历一遍,用一个哈希map存一下就可以了。这一面的话,这个面试官问的非常广,但是都比较浅。我的建议是你如果知道一点的话也可以给他说,千万不要怂。整个面试也是很快的,大概四十分钟就结束了。

 

技术面总结:

就我个人面试的经历来看,面试主要分为自我介绍,项目介绍,八股文,还有代码题。除了自我介绍项目介绍还有做代码题的时间之外,真正能提问题的时间是很少的(很难很全面的评估你的)。而且他的八股文面试的很简单,很难把你自己更加全面的展现出来。所以我的建议,就是你介绍的时候把自己介绍全面一点或者在简历上写的全面一点,也许你某些方面不是很懂只是知道点皮毛。你也可以给他写上去。到时候他提问的话也是很有可能就一带而过(面试的时候很快的,他其实也问不了几个问题)。个人认为,你展现的知识,技术越多,他对你的评价可能会比更高一点。

 

主管面4.19:

自我介绍,没有问项目,然后问了一些其他的问题,怎么看待华为的加班等等,还问了一些家常问题,然后就还问了期望薪资是多少,最后问了一下最快什么时候能入职。大概十来分钟就结束了。(他可能觉得我的技术栈和他们业务还比较匹配,感觉对我挺满意的,很快就过了)。

目前已入职,前期以学习为主,主管和同事人都比较nice,希望安稳度过试用期

#C++面试题##od##软件开发笔面经##简历中的项目经历要怎么写##笔试#
全部评论

相关推荐

个人情况:24 届中国矿业本,工科专业,非科班,无工作经验(考研) 机考:    1.求三个矩形 A、B、C 相交区域的面积,给出每个矩形的左上顶点坐标以及长宽数据。     2.给定一个字符串,该字符串由 @ 分成两部分。@前的部分表示可以使用的字母及其数量。@ 后的部分表示已经被使用的字母及使用的数量。你需要按原字符串的顺序输出剩余的可使用字母及其剩余数量。 例:输入:a3b2c1@a1c1 输出:a2b2     3.寻找单词。给定一系列等长字符串,组成一个二维矩阵。给定一个目标单词,判断是否存在一系列上下左右相邻的字母能够按顺序连成目标单词,若存在,按顺序打印每个字母在矩阵中的位置(连接时每个字母只能用一次)。 例:输入: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, 3HR资面:    1.自我介绍     2.个人情况     3.断档原因     4.家庭情况     5.根据简历内容提问     6.觉得自己有什么优势     7.是否有其他 offer     8.为什么选择来 OD     9.职业规划     10.薪资期望     11.反问环节 技术一面:    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.多线程与多进程有什么区别 技术二面:    1.手撕代码:Leetcode 165. 比较版本号     2.简单介绍简历上的一个项目     3.该项目的某个功能的算法实现思路     4.项目的程序设计问题     5.unordered_map 的原理     6.如何解决哈希表的冲突问题     7.进程间的通信方式有哪些     8.如何解决在工作中遇到的问题 主管面:    1.自我介绍     2.断档情况了解     3.考研目标院校与专业     4.为什么选择考这个专业,而不是计算机专业     5.为什么当初选择考研而不是找工作     6.不是计算机专业,为什么选择这一行    7.本科专业、考研目标专业、就业领域方向差异过大,是否觉得自己没有选对方向 总结:     1.技术面的难度不算太高,问的问题也是八股偏多(大概是因为没有工作经验),其余的也大都与简历内容相关。现场编程题目的难度不算高,但是限时 40 分钟,平时要注意多加练习。     2.HR 面比较轻松,回答的时候要以实事求是为主,并要能尽量体现自己:① 有正常的交流与逻辑思维能力;② 有获得这份工作的意愿;③稳定性好等。     3.综面时给的压力很大(因人而异),面试官的提问十分直接和尖锐,问的都是痛点,而且会追根问底。最好对类似的一系列问题提前做一个准备,不要被打个措手不及。    4.饼饼老师会发一些算法和面经攻略,准备起来真的便捷很多,大家老实啃透资料基本就没问题了!
点赞 评论 收藏
分享
评论
7
13
分享

创作者周榜

更多
牛客网
牛客企业服务