华为校招三轮面经:通用软件开发工程师

  本文介绍2024届秋招中,华为技术有限公司通用软件开发工程师岗位的3场面试基本情况、提问问题等。

  202307月投递了华为技术有限公司通用软件开发工程师岗位,所在部门为海思半导体与器件业务部。目前完成了一面二面三面等全部流程,在这里记录一下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的应用程度如何?
  • 在上述项目中,你们是如何与阿里云对接的?需要给他们提交的代码是什么状态的?
  • 你的毕业课题方向是什么?这个是你的选择还是导师的选择?这个课题全部都是你完成的吗?
  • 上述课题中,神经网络模型的用处体现在哪里?如何应用这个模型?在这个过程中,是否需要和其他课题组、部门加以协作?
  • 上述课题中,具体需求、要做的内容是什么?对此你都做了哪些思考?研究的创新点在哪里?这一研究涉及到的数据量有多大?
  • 上述课题中,输入、输出数据都有哪些?为了解决海量数据的信息提取问题,你有哪些思考,都做了哪些数据或模型方面的优化?这些优化是源于你自己独立的想法吗?你所做的研究,在当前最新的深度学习、遥感研究领域,处于如何的位置?你的创新点具有怎样的研究价值?
  • 个人技术栈如何?笔试情况如何?当前的刷题情况如何?
  • 进程间通信的方法都有哪些?
  • 在你的项目与实习经历中,是否有过对程序设计模式方面的应用?你知道哪些程序设计模式?
  • 个人对于数据结构的了解情况如何?树都有哪些类别?二叉树是什么意思?平衡树是什么意思,有什么特点?搜索树是什么意思,有什么特点?
  • 对于计算机网络的了解情况如何?TCPUDP都是什么,有什么联系与区别?二者各自的应用场景如何?UDP可以实现可靠的传输吗,如何实现的?
  • 深拷贝与浅拷贝有什么区别?
  • 对于字典树的了解情况如何?

算法题目

  • 给定一段话与一个前缀列表,对于这段话中的每一个单词,如果这个单词包含前缀列表中的某个或多个前缀,那么就将句子中的这个单词替换为这个最长的前缀。

面试结束反问

  • 无。

反馈情况

  • 面试官当场表示面试通过。

3 三面

面试情况

  • 晚上18:30开始,持续45分钟左右。

  • 线上视频面试,1位面试官,为部门主管;面试官很和蔼。

  • 首先做自我介绍;提问45分钟。

提问问题

  • 都有哪些实习经历?在滴滴的实习主要都是做什么的?用过哪些代码语言?在实习过程中,遇到了哪些困难?你是如何解决这些问题的?你从中学习到了什么?
  • 在实习、项目经历中,是否遇到过和别人的想法、观点等出现分歧的情况?你是如何解决这些分歧的?解决的效果如何?
  • 有两个城市AB,相距50 km,我们有100根胡萝卜希望由A地运送到B地;有1头小毛驴,每次最多可以承载50根胡萝卜,且其每行走1 km就要吃掉1根胡萝卜;请问最终可以运送到B地的胡萝卜个数最多为多少?
  • 4个人,需要划船过1条河,每个人过河的用时分别为12510分钟;现在只有1条船,每次最多乘坐2个人,请问4个人全部划船过河需要最少多久时间?
  • 如果你所负责的一个工作任务马上就要截止了,但是突然发现有一个方面的内容有问题,工作任务无法按期完成,你会怎么做?
  • 假如你在一个沙漠中迷路了,很渴,此时突然看到一口枯井,旁边还有一个破碗,你会有如何的想法?
  • 是否了解、认同华为的文化?
  • 你对于工作地点的意向如何?本部门所在的4个城市,你最有意向的是哪些?
  • 你是哪里人?本科在哪个城市?
  • 本科、研究生期间的学习成绩排名如何?

算法题目

  • 无。

面试结束反问

  • 自己刚刚的逻辑题目、思维题目解决情况如何?是否需要注重这方面的提升?
  • 工作岗位的技术栈如何?是否需要补充硬件方面的知识?

反馈情况

  • 1天后,对接人通知已通过。

  至此,大功告成。

posted @ 2024-11-03 18:39  疯狂学习GIS  阅读(1088)  评论(0编辑  收藏  举报