华为OD 后端开发上岸面经:从机试到综面全流程
- 轮次
- 多轮面试合集
- 结果
- OC
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
机试(2.5 小时,8 月)
- 第一题(100 分):调用库函数 sort 完成排序。
- 第二题(100 分):验证回文字符串 Ⅱ 的改版,考察回文串性质。
- 第三题(200 分):二叉树子树求和,并用数组标记森林的根节点。
综合素质测评 + HR 面(各约 30 分钟,8 月)
- 性格与基本情况摸底,会问空窗期的解释。
技术一面 / 二面(各约 60 分钟,9 月)
- 自我介绍,性格与经历部分会被重点追问。
- 介绍 1~2 个代表性项目,并围绕项目深挖。
- 少量八股,浅问。
- 手撕(一面):手动实现 sqrt,用二分。
- 手撕(二面):字符串题,换皮 KMP。
- 开发中 AI 工具相关:平时如何使用 Vibe coding、遇到问题如何处理、不同模型性能对比。
综面(约 35 分钟,9 月)
- 自我介绍(合作经历部分重点问)+ 介绍 1~2 个代表性项目并深挖。
- 公司及职业相关:是否了解 OD 模式、是否接受加班、为什么来华为 OD 而没有去其他公司。
- AI 工具相关,与技术面类似。
《参考解析》
- 机试备考与考场策略:先把基础板子题铺开——数组、堆、栈、哈希、队列、树,再补双指针、滑动窗口、递归、贪心、回溯、二分、动规这些技巧;本场三题分别落在调库排序、回文串性质和树上的求和加标记,都属于练过就能写的类型。考场策略比刷题量更值钱:先通读三题,先做有思路的,第一题简单也别恋战,作者自己就提到第二题比第三题还难。分值是 100/100/200,两百那题通常需要建树、遍历加标记两步,动手前先把「森林的根节点怎么标记」想清楚。
- 手写 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 和一个完全平方数手工验证一遍。
- 换皮 KMP:能一眼看出「这是 KMP 换了层皮」就已经答对一半,先说 next 数组(最长公共前后缀)的定义和递推方式,再说明失配时回退到 next[j-1] 而不是回到起点,复杂度 O(n+m)。写代码前先讲思路,写完主动跑一个带重复前缀的用例(如 aaaaab 匹配 aaab)证明回退逻辑正确。如果一时写不出 next,可以先写一个暴力匹配说明思路,再补优化,别卡在原地。
- 项目怎么讲:按 STAR 把背景 → 任务 → 行动 → 结果理清,再用「用了什么技术 → 为什么这么选 → 怎么实现 → 效果如何」四步展开,面试官最反感问一句答一句。这场技术面的权重明显偏向项目和履历,八股只浅问、答不上两三个也不影响结果,所以准备精力应该压在项目上。数字必须来自真实记录,没有线上数据就明确说是离线评测或排查回放的结果。
- AI 工具题与综面准备:Vibe coding 要讲真实工作流——需求怎么拆给模型、生成后怎么验证、哪些场景不交给它、踩过什么坑;模型对比讲自己实测的维度(代码正确率、长上下文表现、推理成本、响应速度),不要复述榜单。综面的「为什么来 OD」「是否接受加班」「是否了解 OD 模式」要自圆其说,把动机落到具体职业规划上(比如想补某类工程经验、认可这条培养路径),不要说「先干着看看」。HR 面同样是摸底,对空窗期给一个合理、前后一致的解释即可。