华为技术有限公司OD · JS 开发2026届

华为OD社招JS开发面经:机考到主管面五轮

本文整理华为技术有限公司OD社招JavaScript/TypeScript方向面试经验,候选人20届211本科、工作约6年、空窗5个月,工作地点东莞。完整流程为机考、资格面、技术一面、技术二面、主管面,共14题附参考答案,并给出高频考点与备考优先级建议。

更新 2026-10-15
华为ODJS开发社招面经机考技术一面技术二面主管面项目深挖
17 浏览

面试总体概述

案例背景

20 届 211 本科,工作约 6 年,中间空窗 5 个月,应聘华为 OD(JavaScript / TypeScript 方向,东莞)。完整流程为机考 → 资格面 → 技术一面 → 技术二面 → 主管面五个环节:机考 3 题、时长 2.5 小时、按通过测试用例数计分;面试以项目深挖为主,手撕难度整体低于机考,一面偏广度、二面偏项目深挖;主管面基本不考技术,重点看态度与求职意愿。

基本信息

  • 公司:华为技术有限公司
  • 岗位:OD · JS 开发
  • 招聘类型:社招
  • 用工形式 / 部门:OD
  • 工作地点:东莞
  • 面试轮次:4 轮
  • 题目数量:共 14 题,均附参考答案
  • 整体难度:★★★☆☆ 中等
  • 候选人背景:学历 本科(211,20 届)|经历 工作约 6 年,空窗 5 个月,技术栈 JavaScript · TypeScript
  • 是否参加笔试:是
  • 笔试形式:牛客机考(在线笔试,时长 2.5 小时)
  • 题型构成:100 分 · 模拟题 + 100 分 · DFS + 200 分 · 动态规划

面试轮次与结构

| # | 轮次 | 类型 | 时间 | 时长 |

| --- | --- | --- | --- | --- |

| 1 | 资格面试 | HR 面 | 未注明 | 未注明 |

| 2 | 技术一面 | 技术面 | 未注明 | 未注明 |

| 3 | 技术二面 | 技术面 | 未注明 | 未注明 |

| 4 | 主管面 | 主管面 | 未注明 | 未注明 |

高频考点

| 考点 | 分类 | 出现轮次 | 次数 |

| --- | --- | --- | --- |

| 手撕代码(模拟 / DFS / 动态规划) | 算法与数据结构 · 手撕代码 | 机考、技术一面、技术二面 | 3 |

| 项目深挖(技术选型 → 落地 → 困难与克服) | 项目经历 | 技术一面、技术二面、主管面 | 3 |

| 八股文(偏广度) | 基础八股 | 技术一面、技术二面 | 2 |

| AI 使用情况与 AI 工作流参与度 | 机器学习 / AI | 主管面 | 3 |

| 稳定性与求职意向 | 背景与动机 | 资格面试、主管面 | 2 |

备考建议

| 优先级 | 易失分点 | 准备动作 |

| --- | --- | --- |

| P0 | 机考题干偏应用,容易一开始建模就跑偏 | 刷题以 LeetCode 中等为主,专项练「先翻译题干、再抽象成算法模型」;同时练无思路时用暴力实现拿部分用例分 |

| P0 | 项目只讲功能,讲不出选型理由与取舍 | 按「背景 → 技术选型理由 → 落地细节 → 困难与克服 → 结果」准备 2 个重点项目,每个都能讲 10 分钟以上 |

| P1 | 手撕写不出来就直接放弃表达 | 写不出完整代码也要把思路、复杂度、边界用例讲清楚,并主动向面试官要提示;题意不清先确认再动手 |

| P1 | 空窗期与跳槽次数被追问时说不清 | 提前定口径:离职原因、空窗期做了什么、为什么选这个岗位与城市;资面与主管面都要主动表达意向强烈 |

| P2 | 一面二面侧重不同,准备失衡 | 一面偏广度、二面偏项目,但两手都要有准备,按面试进度自己调整优先级 |

第 1 轮:资格面试

面试形式与时长

  • 轮次名称:资格面试
  • 面试类型:HR 面
  • 本轮题量:1 题

重点考查维度

  • 背景与动机 —— 本组 1 道题
  • 偏向流程化的面试,面试官主要评估稳定性,保持态度端正即可。
  • 判断候选人的求职意向与稳定性,而不是技术能力

面试真题与参考答案

Q1(资格面试)重点评估求职意向与稳定性

背景与动机 提问形式维度式提问考察重点判断候选人的求职意向与稳定性,而不是技术能力

参考答案

资面偏流程,考察点集中在「你会不会来、能不能待住」。

  • 意向明确:说清为什么选这个岗位、这个城市,能接受岗位的实际工作内容与节奏。
  • 稳定性:工作约 6 年、中间有 5 个月空窗,要给出主动且可控的原因(例如主动离职做技术沉淀、家庭安排已落定),并说明现在可以长期稳定投入。
  • 经历连贯:几段经历之间要有一条清晰的能力主线,避免给人「跳着找」的印象。
  • 态度端正、表述干脆;资面阶段不必急着谈条件。

稳定性求职意向

第 2 轮:技术一面

面试形式与时长

  • 轮次名称:技术一面
  • 面试类型:技术面
  • 本轮题量:3 题

重点考查维度

  • 算法与数据结构 —— 本组 1 道题
  • 基础八股 —— 本组 1 道题
  • 项目经历 —— 本组 1 道题
  • 先手撕代码、再进入面谈,手撕结束后需要向面试官讲思路与用例测试情况;本轮时长不固定,通常不超过 30 分钟。八股与项目问题大致各占一半,整体偏广度。
  • 看编码手感与表达:能否把思路和测试用例讲清楚;考察知识面的广度,以及能否把原理落到项目场景里;快速判断项目的真实性与个人贡献度

面试真题与参考答案

Q1 手撕题(难度低于机考,写完后需讲思路与用例测试情况)

算法与数据结构 · 手撕代码 考察重点看编码手感与表达:能否把思路和测试用例讲清楚

参考答案

流程是「先写后讲」,讲解按四步走:

  • 复述题意与边界:输入输出格式、数据范围、空值与重复元素怎么处理。
  • 思路与复杂度:说明为什么选这个算法,给出时间 / 空间复杂度。
  • 走用例:一个正常用例 + 一个边界用例(空数组、单元素、全相同、极大值),交代期望输出。
  • 主动说取舍:有没有更优解法、当前实现有什么局限。

写完不要等面试官发问,主动把上面四步讲完。

手撕复杂度分析

Q2 常规八股文(一面偏广度)

基础八股 提问形式维度式提问考察重点考察知识面的广度,以及能否把原理落到项目场景里

参考答案

一面的八股以广度为主,语言、计算机基础到中间件都会抽。

  • JavaScript / TypeScript:事件循环与微任务宏任务的执行顺序、闭包、原型链、this 绑定、类型系统的取舍。
  • 计算机基础:进程与线程、锁、TCP 三次握手与四次挥手。
  • 中间件与数据库:缓存设计、索引、事务隔离级别的基本原理。
  • 答题结构建议:先给结论 → 再说原理 → 最后补一个项目里的使用场景。只记得名词的知识点,坦白说明掌握范围,不要编造细节。

JavaScript计算机基础

Q3 项目经历问题(一面偏广度,不会深挖到底)

项目经历 提问形式开放讨论考察重点快速判断项目的真实性与个人贡献度

参考答案

一面问项目偏「扫一遍」,二面才会深挖,所以一面要能快速讲清重点。

  • 每个项目控制在 90 秒:一句话说清业务目标 → 你负责的模块 → 一个具体难点 → 可核实的结果(量级、耗时、缺陷率等)。
  • 常见追问:这个模块为什么这么拆、如果流量再涨 10 倍会先动哪里、当时有没有更简单的方案。

追问链(3 条)

  • 这个模块为什么这么拆
  • 流量再涨 10 倍会先动哪里
  • 当时有没有更简单的方案

项目叙述

第 3 轮:技术二面

面试形式与时长

  • 轮次名称:技术二面
  • 面试类型:技术面
  • 本轮题量:5 题

重点考查维度

  • 项目经历 —— 本组 2 道题
  • 软素质 —— 本组 1 道题
  • 算法与数据结构 —— 本组 1 道题
  • 基础八股 —— 本组 1 道题
  • 先面谈后手撕。八股与项目问题都有,但项目问题比重明显更高,重点项目与「困难及如何克服」两题问得最久;手撕难度与一面持平。
  • 看技术深度与判断力:选型理由、落地细节、取舍依据;考察独立解决问题的能力与复盘意识;看协作意识,同时验证项目里的分工是否与你描述一致

面试真题与参考答案

Q1 重点项目介绍:从技术选型到落地完整讲一遍

项目经历 考察重点看技术深度与判断力:选型理由、落地细节、取舍依据

参考答案

按五段式讲,不要跳步:

  • 背景与目标:业务问题是什么,成功标准怎么定义(可量化)。
  • 技术选型:候选方案有哪些,对比维度(性能、开发成本、可维护性、团队熟悉度),为什么选 A 不选 B。
  • 落地细节:你负责的部分,模块划分与关键接口,最容易出错的地方在哪里。
  • 难点与取舍:一个真实的技术难点及处理方式,说明当时放弃了什么。
  • 结果:用指标收尾,并说明指标怎么测的。

讲的时候给出架构或数据流,面试官会顺着图追问。

追问链(3 条)

  • 为什么选这个方案,还有哪些备选
  • 落地过程中最关键的一次改动
  • 如果重做会改哪里

技术选型项目深挖

Q2 工作中遇到的困难以及如何克服

项目经历 考察重点考察独立解决问题的能力与复盘意识

参考答案

用「现象 → 定位 → 方案 → 结果 → 复盘」五步回答:

  • 困难是什么、影响面多大(要有量级,不要只说「很麻烦」)。
  • 怎么定位:用了什么手段(日志、埋点、二分定位、最小复现),排除了哪些可能。
  • 怎么解决:方案与取舍,为什么不用另一个方案。
  • 结果:量化改善。
  • 复盘:沉淀成了什么机制(监控、规范、工具),避免再犯。

面试官关心的是排查路径是否合理,而不是困难本身多戏剧化。

追问链(2 条)

  • 怎么确认是这个问题导致的
  • 有没有影响到线上其他模块

问题排查复盘

Q3 组内协作中遇到的问题(可以简单带过)

软素质 · 协作 提问形式维度式提问考察重点看协作意识,同时验证项目里的分工是否与你描述一致

参考答案

可以简短,但要给出「问题 → 处理 → 结果」的闭环:

  • 常见场景:接口约定反复变更、联调排期冲突、代码评审意见分歧。
  • 处理方式:把口头约定文档化、用接口契约与 mock 解耦、用数据说话而不是争论偏好。
  • 结果:交付时间、返工次数等可以量化的改善。

回答时避免把矛头指向具体同事,重点放在你推动解决问题的动作上。

协作沟通

Q4 手撕代码:题目要求不清晰时的现场处理

算法与数据结构 · 手撕代码 考察重点看遇到模糊需求时的沟通与取舍能力

参考答案

题目描述不清是常见情况,处理顺序:

  • 当场确认题意:输入输出格式、约束、边界,复述一遍请面试官确认。
  • 若确实存在多种理解,先说明两种理解分别怎么做,选一种实现,另一种留到口述。
  • 写不完不要硬撑:把已有思路、复杂度、剩余步骤讲清楚,主动问能不能口述收尾。

本案的教训是:需要自己主动向面试官提问,而不是按自己的理解同时写两个方案,结果两个都没落地。

题目要求不清晰时写出了两个方案,第二个未完成,最终以口述思路收尾。

题意确认多方案

Q5 八股文(二面仍有,但比重低于项目)

基础八股 提问形式维度式提问考察重点确认基础没有明显短板,考察知识点与项目经验的关联

参考答案

二面八股更偏「用」而不是「背」,面试官更想听你在项目里怎么用、踩过什么坑。

准备方式:把 JS / TS、浏览器与网络、数据库与缓存的常见考点各配一个项目实例;被问到不会的,说明自己的掌握边界,并给出获取答案的路径(查文档、压测验证)比硬编答案更安全。

八股

第 4 轮:主管面

面试形式与时长

  • 轮次名称:主管面
  • 面试类型:主管面
  • 本轮题量:5 题

重点考查维度

  • 机器学习 / AI —— 本组 3 道题
  • 背景与动机 —— 本组 2 道题
  • 问题不局限于技术,主要围绕个人工作经历展开,从项目到工作流到协作都有涉及,也包含较多 AI 相关话题;不必紧张,重点看态度与求职意愿。
  • 看工作方式、成熟度与团队契合度;看是否真的把 AI 用进了日常工作,而不是跟风表态;看技术视野与独立思考,而非复述新闻

面试真题与参考答案

Q1 个人工作经历:从项目到工作流到协作

背景与动机

提问形式:开放讨论

考察重点:看工作方式、成熟度与团队契合度

参考答案

主管面问经历不是查技术,而是看你的工作方式,准备一条主线:

  • 做过什么业务、你在其中扮演什么角色(独立负责 / 协作 / 带人)。
  • 工作流:需求怎么接、方案怎么定、怎么保证质量与进度。
  • 协作:和产品、测试、上下游怎么配合,冲突怎么解决。
  • 按时间线讲,每个阶段配一个具体例子,不要跳到技术细节里。

工作方式

Q2 AI 的使用情况

机器学习 / AI

考察重点:看是否真的把 AI 用进了日常工作,而不是跟风表态

参考答案

回答要具体到工具和场景:

  • 日常用哪些(代码补全、单测生成、Review 辅助、文档整理),分别提升了哪个环节的效率。
  • 边界:哪些场景坚持自己写(安全敏感、核心逻辑),为什么。
  • 量化:例如单测覆盖率提升、联调时间缩短。
  • 避免只说「经常用 AI 提效」这种没有场景的空话。

AI 工具

Q3 对 AI 的展望

机器学习 / AI

提问形式:开放讨论

考察重点:看技术视野与独立思考,而非复述新闻

参考答案

给判断 + 依据,不要只喊趋势:

  • 判断:模型能力会继续下沉到工程工具链,个人竞争力的重心从「会写代码」转向「会拆解问题与验证结果」。
  • 依据:结合自己使用 AI 工具后的实际变化(交付变快还是变慢、返工点在哪)。
  • 落到岗位:说明这与应聘岗位的关联,体现你是认真想过这件事的。

行业认知

Q4 是否对 AI 工作流有过 contribute

机器学习 / AI

考察重点:看主动性与产出意识

参考答案

contribute 不限于公司内部:

  • 内部:把提示词 / 工作流沉淀成团队可复用的模板、脚本或知识库。
  • 外部:给开源项目提 PR、写工具、写文档、参与社区答疑。
  • 表达方式:做了什么 → 谁在用 → 带来了什么可衡量的改善。
  • 没有就如实说不,并给出接下来打算怎么参与,别硬凑经历。

AI 工作流开源贡献

Q5 空窗期 / 跳槽原因与职业规划

背景与动机

考察重点:判断稳定性与求职动机的真实性

参考答案

这一题几乎必问,口径要提前定好:

  • 离职原因:指向客观与主动(业务调整、方向不匹配、想换技术赛道),不要抱怨前公司或同事。
  • 空窗 5 个月:说明这段时间做了什么(技术沉淀、项目、家庭安排),并强调现在可以长期稳定投入。
  • 职业规划:3 年内的技术方向与岗位匹配,落到「为什么是这家公司、为什么是这个岗位」。
  • 表达意向强烈,但不要过度承诺。

空窗期职业规划

备考提示

备考阶段,我发现很多同学容易陷入「不知道从哪准备」的困境。机会永远留给有准备的人,希望读到这篇文章的每一位同学都能拿到心仪的 offer。

以上内容整理自学员和应届同学反馈的真实面经,结合华为技术有限公司的最新考情整理,仅供参考学习。祝各位求职者顺利拿到心仪 offer!

看完面经后,回到自己的简历做一轮准备

用 HI简历整理项目经历、提炼可追问亮点,再按面经高频问题准备对应回答。

免费开始写简历

常见问题

华为OD社招JS开发面试有几轮?

共五轮:机考、资格面、技术一面、技术二面、主管面。

华为OD机考考什么?

牛客在线笔试2.5小时,3题,题型为100分模拟题、100分DFS、200分动态规划,按通过测试用例数计分。

技术一面和技术二面有什么区别?

技术一面偏知识广度,八股与项目各半;技术二面偏项目深挖,重点考察技术选型、落地细节与困难克服。

华为OD社招JS开发面经:五轮流程与14题真题解析_HI简历