华为校招三轮面经:通用软件开发工程师
本文介绍2024届秋招中,华为技术有限公司的通用软件开发工程师岗位的3
场面试基本情况、提问问题等。
2023
年07
月投递了华为技术有限公司的通用软件开发工程师岗位,所在部门为海思半导体与器件业务部。目前完成了一面、二面与三面等全部流程,在这里记录一下3
场面试的经历。此外,华为的校招流程确实非常曲折,在之前的文章中也介绍过我的华为校招经历,这里就不再赘述;之前一直想着先不分享华为的面经,等报批通过、Offer下来之后再发;但是寒假前HR说开始报批,到现在都还没有下文,所以肯定Offer也是无了(但不亏,毕竟开的13
级,真要能开出来的话也得再考虑考虑),终于可以把面经发出来了哈哈哈哈。
这一次面试中,一面、二面为专业面试,三面为业务主管面试;3
场面试均为线上视频面试,面试官都非常和蔼。海思的面试整体开始得都相对比较晚,所以一开始还以为是笔试成绩太差导致已经凉了;一直到11
月底,才开始进行面试流程。总的来看,华为的面试对于技术方面的考察其实并不是很多,至少没有我原本预计的多——算法题目倒是2
轮专业面试都涉及了,但是每次也都只有1
个题目,而且题目的难度也不高,主管面就完全没有算法方面的考察;计算机八股题目也是相对很少,其中一面的面试官应该是技术栈不在C++方向,所以就没有问太多的八股,二面面试官倒是问了一些八股,但是也都是比较基本的内容,主管面依然没有问八股方面的内容。但是,对于实习经历与项目经历,3
场面试都是尤为重视的,几乎全部的问题都是由实习与项目经历来入手提问的。整体感觉,虽然面试的方向是软件开发的岗位,但是和其他互联网公司的面试比起来,华为的面试还是和国企、银行等单位的技术岗面试比较类似,更偏向于实习与项目经历、个人综合能力与素质等方面的考察。
一面的预约过程整体比较曲折,首先是面试时间不断变化,先后几次都是到了指定的面试时间之后,又通知说要延后到另一个时间;其次,在最终确定的面试时间内,我首先是不知道这一面试时间(和原本预定的时间不太一样),所以面试开始了一段时间后对接人打来电话我才知道要现在面试;随后我又一直进不去华为的面试系统,导致又延期了半天时间,才开始了最终的面试过程。但是在最终的面试中,面试官老师依然还是很和蔼,并没有对上午我的延误(虽然其实也不是我的问题哈哈哈,是我没收到系统的通知)有什么在意。面试过程中,面试官同样是非常和蔼,提问问题时也都很有耐心,会结合自己的实习、项目经历来具体提问。
二面是在一面结束后1
小时开始的,而且这一次开始我也没有收到什么通知,还是面试开始了几分钟之后面试官发来提醒我才知道面试开始了。但同样的,虽然还是迟到了,但面试官依然并不在意这些,面试过程中也是提问得很有耐心。面试过程中提问了一些比较基本的计算机八股知识,但是也都是先问“是否了解”,如果了解的话再进一步讲一讲,并不会强制提问。并且在算法题目方面,我虽然得到结果了,但没有用前缀树做出来,也就是没有完成最优的实现;但面试官依然说没有问题,能够完成就可以。此外,可能由于这个是最后一轮专业面试,面试官也在面试完成后就当场宣布通过了。
三面是主管面试,所以相对前两轮面试,面试官会更严肃、更有压迫感一些;但我也很喜欢这样的氛围,因为如果面试氛围太友好的话,面试官可能就感受不到我抗压的能力了。这一轮面试大致询问了一些实习、项目经历后,就将主要的时间放在了思维题目、场景题目与逻辑题目的考察上了。虽然没有被问到那一道很出名的”牛过桥“问题,但是通过其他题目的询问与思考,这一次也是亲身体会到了华为对于逻辑题目的考察要求。此外,面试最后面试官也详细介绍了所在部门、岗位的所在地与技术栈、具体工作内容等。
除此之外,在面试后,就是经历泡池子、保温、通知报批等环节了;这些后续环节,我在前期的博客或者其他平台也都分享过,且本文的重点也只是对3
场面试的记录,因此这里就不再对面试结束后的后续流程加以赘述了。
1 一面
面试情况
-
下午
17:00
开始,持续55
分钟左右。 -
线上视频面试,
1
位面试官,为部门员工;面试官很和蔼。 -
首先做自我介绍;提问
55
分钟。
提问问题
- 对照着简历,再简单介绍一下自己总体的实习、项目、科研经历。
- 研究生是保研的吗?本科和研究生所学的专业是否属于比较专业性强、小众的专业?简历中的项目都是本科、研究生阶段的吗?
- 个人对于未来工作安排、岗位方向有何想法?为什么有转码的想法?自己希望工作晋升的路径如何?
- 自己对于Groovy语言的接触如何?都用这一语言做了哪些工作?在哪些场景下需要用到这一语言?
- 国家级奖项主要都是在本科阶段获得的,研究生阶段奖项情况如何?研究生阶段参与过哪些项目?这些项目的级别如何?是否有过研究生阶段的国家级奖项?
- 介绍一下研究生阶段关于叶绿素产品生产的项目经历。具体都做了些什么?遇到了什么问题,其中最大的困难是什么?自己学习到了什么内容?
- 为什么上述项目中的叶绿素产品原本会有缺失数据的情况?完成代码撰写后,在代码部署方面遇到了哪些问题?你是如何解决的?最终提交给达摩院的代码是什么状态的?
- C++代码在编译的时候,第三方库是在哪一个环节加以链接的?在上述这一项目中,链接时第三方库是静态库还是动态库?是运行时的库吗?
- 你的毕业课题中,提到的时间序列重建算法是什么算法,具体是怎么构建的?所用到的神经网络模型的架构是怎么样的?这样一个模型在本领域内当前的研究进展如何?你是否对其有一定创新,创新点在哪里?创新点带来的效果提升程度如何?
- 多任务神经网络模型的“多任务”具体体现在哪里,是怎么实现的?其与普通的神经网络相比,在哪些构造上有区别?其有何优势,结果有何精度上的改进?其是否可以对具有一定相互关系的多个输出结果加以更高效地预测?
- 在神经网络模型训练、应用过程中,都是如何对模型的精度加以衡量的?多任务模型是如何衡量精度的?如何对比多任务模型与传统模型之间结果精度的差异?
- 上述神经网络模型课题的内容中,你所完成的工作都有哪些?你的研究和目前很火的AIGC大模型研究之间有何联系,有何差异?你的神经网络模型的输入数据是什么格式的,是以矢量格式来输入的吗?
- MATLAB语言接触过多少?都基于其做过哪些工作、实现过哪些算法?研究生阶段为什么用MATLAB比较少?
- 都参与过哪些实习项目?目前在滴滴的实习都接触过什么项目、做过哪些工作?在路网项目中,如果发现自有数据库中的数据有问题,会进行哪些处理?这个过程是否是一个比较清晰、流程化的工作?
- 研究生阶段植被遥感的项目具体是做什么的?其和前面提到的叶绿素产品项目相比有什么区别?二者分别处于完整项目流程中的哪一个环节?
- 上述项目中,如何量化不同环境因素对于目标因素的影响程度?这一量化算法的具体实现过程如何,用到了哪些数学原理?
- 所担任的研究生会副主席工作是哪一个级别的,校级还是院级?
算法题目
- 找到多个字符串对应的最长公共连续子串;写在编辑器中即可,无需运行,写完后需要讲思路。
面试结束反问
- 无。
反馈情况
1
小时后,收到二面开始的通知。
2 二面
面试情况
-
晚上
19:00
开始,持续55
分钟左右。 -
线上视频面试,
1
位面试官,为部门员工;面试官很和蔼。 -
首先做自我介绍;提问
55
分钟。
提问问题
- 挑选一个自己印象最深刻的项目,介绍一下自己完成的工作、遇到的问题、解决问题的方法、自己的收获等。
- 在上述项目中,在开发环境配置、代码部署与应用方面你遇到的问题难点在哪里?你的具体解决方法如何?其中对于Docker的应用程度如何?
- 在上述项目中,你们是如何与阿里云对接的?需要给他们提交的代码是什么状态的?
- 你的毕业课题方向是什么?这个是你的选择还是导师的选择?这个课题全部都是你完成的吗?
- 上述课题中,神经网络模型的用处体现在哪里?如何应用这个模型?在这个过程中,是否需要和其他课题组、部门加以协作?
- 上述课题中,具体需求、要做的内容是什么?对此你都做了哪些思考?研究的创新点在哪里?这一研究涉及到的数据量有多大?
- 上述课题中,输入、输出数据都有哪些?为了解决海量数据的信息提取问题,你有哪些思考,都做了哪些数据或模型方面的优化?这些优化是源于你自己独立的想法吗?你所做的研究,在当前最新的深度学习、遥感研究领域,处于如何的位置?你的创新点具有怎样的研究价值?
- 个人技术栈如何?笔试情况如何?当前的刷题情况如何?
- 进程间通信的方法都有哪些?
- 在你的项目与实习经历中,是否有过对程序设计模式方面的应用?你知道哪些程序设计模式?
- 个人对于数据结构的了解情况如何?树都有哪些类别?二叉树是什么意思?平衡树是什么意思,有什么特点?搜索树是什么意思,有什么特点?
- 对于计算机网络的了解情况如何?TCP和UDP都是什么,有什么联系与区别?二者各自的应用场景如何?UDP可以实现可靠的传输吗,如何实现的?
- 深拷贝与浅拷贝有什么区别?
- 对于字典树的了解情况如何?
算法题目
- 给定一段话与一个前缀列表,对于这段话中的每一个单词,如果这个单词包含前缀列表中的某个或多个前缀,那么就将句子中的这个单词替换为这个最长的前缀。
面试结束反问
- 无。
反馈情况
- 面试官当场表示面试通过。
3 三面
面试情况
-
晚上
18:30
开始,持续45
分钟左右。 -
线上视频面试,
1
位面试官,为部门主管;面试官很和蔼。 -
首先做自我介绍;提问
45
分钟。
提问问题
- 都有哪些实习经历?在滴滴的实习主要都是做什么的?用过哪些代码语言?在实习过程中,遇到了哪些困难?你是如何解决这些问题的?你从中学习到了什么?
- 在实习、项目经历中,是否遇到过和别人的想法、观点等出现分歧的情况?你是如何解决这些分歧的?解决的效果如何?
- 有两个城市
A
与B
,相距50 km
,我们有100
根胡萝卜希望由A
地运送到B
地;有1
头小毛驴,每次最多可以承载50
根胡萝卜,且其每行走1 km
就要吃掉1
根胡萝卜;请问最终可以运送到B
地的胡萝卜个数最多为多少? - 有
4
个人,需要划船过1
条河,每个人过河的用时分别为1
、2
、5
与10
分钟;现在只有1
条船,每次最多乘坐2
个人,请问4
个人全部划船过河需要最少多久时间? - 如果你所负责的一个工作任务马上就要截止了,但是突然发现有一个方面的内容有问题,工作任务无法按期完成,你会怎么做?
- 假如你在一个沙漠中迷路了,很渴,此时突然看到一口枯井,旁边还有一个破碗,你会有如何的想法?
- 是否了解、认同华为的文化?
- 你对于工作地点的意向如何?本部门所在的
4
个城市,你最有意向的是哪些? - 你是哪里人?本科在哪个城市?
- 本科、研究生期间的学习成绩排名如何?
算法题目
- 无。
面试结束反问
- 自己刚刚的逻辑题目、思维题目解决情况如何?是否需要注重这方面的提升?
- 工作岗位的技术栈如何?是否需要补充硬件方面的知识?
反馈情况
1
天后,对接人通知已通过。
至此,大功告成。