面灵AI→

华为OD 后端开发上岸面经:从机试到综面全流程

轮次
多轮面试合集
结果
OC
时间
2026-09
来源
牛客网

《面试题目》

机试(2.5 小时,8 月)

  1. 第一题(100 分):调用库函数 sort 完成排序。
  2. 第二题(100 分):验证回文字符串 Ⅱ 的改版,考察回文串性质。
  3. 第三题(200 分):二叉树子树求和,并用数组标记森林的根节点。

综合素质测评 + HR 面(各约 30 分钟,8 月)

  1. 性格与基本情况摸底,会问空窗期的解释。

技术一面 / 二面(各约 60 分钟,9 月)

  1. 自我介绍,性格与经历部分会被重点追问。
  2. 介绍 1~2 个代表性项目,并围绕项目深挖。
  3. 少量八股,浅问。
  4. 手撕(一面):手动实现 sqrt,用二分。
  5. 手撕(二面):字符串题,换皮 KMP。
  6. 开发中 AI 工具相关:平时如何使用 Vibe coding、遇到问题如何处理、不同模型性能对比。

综面(约 35 分钟,9 月)

  1. 自我介绍(合作经历部分重点问)+ 介绍 1~2 个代表性项目并深挖。
  2. 公司及职业相关:是否了解 OD 模式、是否接受加班、为什么来华为 OD 而没有去其他公司。
  3. AI 工具相关,与技术面类似。

《参考解析》

  1. 机试备考与考场策略:先把基础板子题铺开——数组、堆、栈、哈希、队列、树,再补双指针、滑动窗口、递归、贪心、回溯、二分、动规这些技巧;本场三题分别落在调库排序、回文串性质和树上的求和加标记,都属于练过就能写的类型。考场策略比刷题量更值钱:先通读三题,先做有思路的,第一题简单也别恋战,作者自己就提到第二题比第三题还难。分值是 100/100/200,两百那题通常需要建树、遍历加标记两步,动手前先把「森林的根节点怎么标记」想清楚。
  2. 手写 sqrt(二分):说清用整数二分还是浮点二分,以及终止条件怎么定——整数版是找最大的 mid 使 mid*mid ≤ x,用 while(lo < hi) 配 lo + (hi - lo + 1) / 2;浮点版是迭代到区间宽度小于 eps。边界要主动说:x 为 0 或 1、小于 1 的输入、以及 mid*mid 溢出(用 long long 或改写成除法)。写完拿 0、1、2 和一个完全平方数手工验证一遍。
  3. 换皮 KMP:能一眼看出「这是 KMP 换了层皮」就已经答对一半,先说 next 数组(最长公共前后缀)的定义和递推方式,再说明失配时回退到 next[j-1] 而不是回到起点,复杂度 O(n+m)。写代码前先讲思路,写完主动跑一个带重复前缀的用例(如 aaaaab 匹配 aaab)证明回退逻辑正确。如果一时写不出 next,可以先写一个暴力匹配说明思路,再补优化,别卡在原地。
  4. 项目怎么讲:按 STAR 把背景 → 任务 → 行动 → 结果理清,再用「用了什么技术 → 为什么这么选 → 怎么实现 → 效果如何」四步展开,面试官最反感问一句答一句。这场技术面的权重明显偏向项目和履历,八股只浅问、答不上两三个也不影响结果,所以准备精力应该压在项目上。数字必须来自真实记录,没有线上数据就明确说是离线评测或排查回放的结果。
  5. AI 工具题与综面准备:Vibe coding 要讲真实工作流——需求怎么拆给模型、生成后怎么验证、哪些场景不交给它、踩过什么坑;模型对比讲自己实测的维度(代码正确率、长上下文表现、推理成本、响应速度),不要复述榜单。综面的「为什么来 OD」「是否接受加班」「是否了解 OD 模式」要自圆其说,把动机落到具体职业规划上(比如想补某类工程经验、认可这条培养路径),不要说「先干着看看」。HR 面同样是摸底,对空窗期给一个合理、前后一致的解释即可。