华为OD Java开发岗位机考+HR面面经

华为OD · Java开发工程师 · 机考+HR面 · 2026-07

《面试题目》

机考(380分通过)

  1. 匹配命令行前缀关键字(模拟)
  2. 物流仓库货物调货优化(并查集)
  3. 寻找重复子数据(DFS)

HR面(视频面试,约15分钟)

  1. 为什么选择华为OD而不是其他公司?
  2. 研究生课题和Java开发关系不大,怎么补上来的?
  3. 项目里遇到过哪些协作上的困难?怎么解决的?

《参考解析》

  1. 并查集解决调货优化:把仓库看作节点,货物调拨关系看作边,用并查集(Union-Find)维护连通分量,可以快速判断两个仓库是否已连通、合并集合,适合解决”最少调拨次数""是否互通”一类的优化问题,核心是路径压缩+按秩合并把操作均摊到接近 O(1)。
  2. DFS 找重复子数据:先对数据做哈希/排序归一化,再用 DFS 遍历所有子集或子结构,配合 visited 标记剪枝,把重复子结构映射到同一个哈希桶中比较,避免暴力两两比较带来的高复杂度。
  3. 跨方向转型话术:研究生课题与目标岗位不完全对口时,重点讲清楚”底层能力可迁移”(如算法思维、工程规范、debug 能力)以及入职前后为补齐差距做的具体动作(刷题、自学框架、做练手项目),比空喊”我很有热情”更有说服力。