华为 OD 机试真题解析与备考攻略
华为 OD 机试包含在线编程考试、性格测试及多轮面试,是入职外包岗位的核心环节。涉及 ABCDE 卷型、薪资职级体系及题型考点分析。备考策略涵盖刷题优先级、资源推荐及防作弊注意事项。提供 A/B 卷 100 分与 200 分真题列表,覆盖字符串、动态规划、图论等高频算法。建议结合 OJ 平台强化训练,注重代码规范与时间管理以提高通过率。

华为 OD 机试包含在线编程考试、性格测试及多轮面试,是入职外包岗位的核心环节。涉及 ABCDE 卷型、薪资职级体系及题型考点分析。备考策略涵盖刷题优先级、资源推荐及防作弊注意事项。提供 A/B 卷 100 分与 200 分真题列表,覆盖字符串、动态规划、图论等高频算法。建议结合 OJ 平台强化训练,注重代码规范与时间管理以提高通过率。

华为 OD(Outsourcing Dispatch)是华为与外企德科联合招聘的精英外包模式,员工由德科签订合同并派驻华为工作。
OD 员工工作内容、管理方式与华为正式员工高度对齐,同工同酬,如:工作内容、福利(如五险一金、加班费、夜宵补贴等)基本一致;
且有机会通过绩效考核转为正式员工(需入职满 1 年、两次绩效 A 并通过可信认证考试)。
华为 OD 机试是华为对外包岗位选拔人才的核心环节,为在线编程考试,主要考察算法设计、数据结构、代码调试能力。是入职流程中的核心环节,直接影响后续面试资格和薪资定级;
据统计,机试通过率约 75%,非目标院校需 300+ 分(目标院校 150+ 分),未通过需等待半年冷冻期。
申请与准备
笔试环节
性格测试
技术面试(2 轮):
HR 面:评估稳定性、职业规划,需解释工作断档期。
主管面:终面考察综合素质(沟通能力、项目经验),定薪依据(可争取 20%-30% 涨幅)。
Offer 审批:流程约 2-4 周,薪资根据定级(D1-D5)确定。
| 等级 | 对应华为职级 | 月薪范围(中位数) | 年终奖(绩效 A/B) |
|---|---|---|---|
| D1 | 13 级 | 9k-13k | 2-4 个月 |
| D2 | 14 级 | 13k-17k | 2-4 个月 |
| D3 | 15 级 | 17k-21k | 2-4 个月 |
| D4 | 16 级 | 21k-25k | 2-4 个月 |
| D5 | 17 级 | 25k-29k | 2-4 个月 |
能否使用本地 IDE?
挂科后能否重考?
机试挂科后能否换部门?
真题重复率高吗?
机试成绩查询:
非目标院校机会:
性格测试技巧:
华为 OD 机试是进入华为体系的重要通道,需系统准备算法题库、合理分配时间、注重代码规范和防作弊细节、熟悉面试流程,并结合自身职业规划合理选择岗位。建议结合在线 OJ 平台(如牛客、力扣)强化训练,同时关注题库动态更新,通过刷题、模拟考试和真题解析,可以显著提高通过率。
所有机试题均提供 Java/python/JavaScript/C++ 多种语言最佳方案实现并提供详细讲解
题库动态更新···
| 序号 | 题目 | 考点 | 最佳实现 |
|---|---|---|---|
| 1 | 最小循环子数组 | 字符串匹配、KMP 算法(或枚举验证) | Java/python/JavaScript/C/C++/GO |
| 2 | 字符串序列判定 | 字符串、双指针算法 | Java/python/JavaScript/C/C++/GO |
| 3 | 小明减肥 | 组合数学、回溯/枚举 | Java/python/JavaScript/C/C++/GO |
| 4 | 货币单位换算 | 字符串解析、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 5 | 判断字符串子序列 | 字符串、双指针算法、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 6 | 字符串加密 | 字符串处理、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 7 | 流水线 | 排序、贪心算法(最小堆) | Java/python/JavaScript/C/C++/GO |
| 8 | 报文响应时间 | 字符串、栈操作(位运算)、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 9 | 人民币转换 | 字符串处理、递归/分治算法、逻辑分支 | Java/python/JavaScript/C/C++/GO |
| 10 | 数组组成的最小数字 | 字符串排序、贪心算法 | Java/python/JavaScript/C/C++/GO |
| 11 | 拼接 URL | 字符串逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 12 | 通信系统策略调度(用户调度问题) | 贪心算法 | Java/python/JavaScript/C/C++/GO |
| 13 | 斗地主之顺子 | 字符串处理、排序算法、逻辑判断 | Java/python/JavaScript/C/C++/GO |
| 14 | 计算正方形的数量 | 几何算法、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 15 | 数据分类 | 位运算、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 16 | 最长的顺子 | 字符串、动态规划/滑动窗口、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 17 | 求最大数字 | 字符串、栈操作(贪心算法)、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 18 | 最长的指定瑕疵度的元音子串 | 字符串遍历、双指针算法、元音索引记录 | Java/python/JavaScript/C/C++/GO |
| 19 | 生成哈夫曼树 | 哈夫曼树、优先队列 | Java/python/JavaScript/C/C++/GO |
| 20 | 最大利润贪心的商人 | 贪心算法、数组遍历 | Java/python/JavaScript/C/C++/GO |
| 21 | 最小的调整次数/特异性双端队列 |
所有机试题均提供 Java/python/JavaScript/C++ 多种语言最佳方案实现并提供详细讲解
题库动态更新···
| 序号 | 题目 | 考点 | 最佳实现 |
|---|---|---|---|
| 1 | 仿 LISP 运算 | 字符串、栈操作(递归/逆波兰)、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 2 | 矩阵中非 1 的数量 | 广度优先搜索(BFS)、矩阵遍历 | Java/python/JavaScript/C/C++/GO |
| 3 | 欢乐周末 | 广度优先搜索(BFS)、连通性分析 | Java/python/JavaScript/C/C++/GO |
| 4 | 启动多任务排序 | 拓扑排序(贪心策略)、字符串处理、逻辑分析 | Java/python/JavaScript/C/C++/GO |
| 5 | 矩阵匹配 | 二分查找、二分图匹配 | Java/python/JavaScript/C/C++/GO |
| 6 | 信道分配 | 贪心算法、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 7 | 人气最高的店铺 | 贪心算法、排序、逻辑分析 | Java/python/JavaScript/C/C++/GO |
| 8 | 求最大的数 | 字符串、栈操作(贪心算法)、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 9 | 士兵过河 | 动态规划、排序 | Java/python/JavaScript/C/C++/GO |
| 10 | 无向图染色 | 回溯算法 | Java/python/JavaScript/C/C++/GO |
| 11 | 区间交集 | 区间合并、排序、贪心算法 | Java/python/JavaScript/C/C++/GO |
| 12 | 荒岛求生 | 栈操作(贪心算法)、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 13 | 猴子吃桃/爱吃蟠桃的孙悟空 | 二分查找、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 14 | 二叉树的广度优先遍历 | 字符串处理、递归/分治算法(构建二叉树)、队列操作(BFS) | Java/python/JavaScript/C/C++/GO |
| 15 | 模拟工作队列 | 优先队列(堆)、事件模拟、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 16 | 最小矩阵宽度 | 滑动窗口、哈希表(计数覆盖) | Java/python/JavaScript/C/C++/GO |
| 17 | 书籍叠放 | 动态规划(最长递增子序列变种)、排序 | Java/python/JavaScript/C/C++/GO |
| 18 | 组装最大可靠性设备 | 二分查找、贪心算法、组合优化 | Java/python/JavaScript/C++ |
| 19 | 最大岛屿体积 | DFS、矩阵遍历、连通分量 | Java/python/JavaScript/C++ |
| 20 | 观看文艺汇演 | 贪心算法、区间调度 | Java/python/JavaScript/C++ |
| 21 | 上班之路 |
所有机试题均提供 Java/python/JavaScript/C++ 多种语言最佳方案实现并提供详细讲解
题库动态更新···
| 序号 | 题目 | 考点 | 最佳实现 |
|---|---|---|---|
| 1 | 出租车计费/靠谱的车 | 进制转换(9 进制映射)、字符串处理 | Java/python/JavaScript/C/C++/GO |
| 2 | 投篮大赛 | 字符串、栈操作 | Java/python/JavaScript/C/C++/GO |
| 3 | 新工号中数字的最短长度 | 对数计算/二分法 | Java/python/JavaScript/C/C++/GO |
| 4 | 分苹果 | 位运算(异或)、贪心算法 | Java/python/JavaScript/C/C++/GO |
| 5 | TLV 解码 | 字符串解析、小端序处理、逻辑遍历 | Java/python/JavaScript/C/C++/GO |
| 6 | 分糖果 | 贪心算法、数学分析 | Java/python/JavaScript/C/C++/GO |
| 7 | 单词接龙(首字母接龙) | 字符串、贪心算法、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 8 | 新学校选址 | 中位数、排序算法(如快速排序) | Java/python/JavaScript/C/C++/GO |
| 9 | Boss 的收入(分销网络提成计算) | 树遍历、哈希表、递归/DFS | Java/python/JavaScript/C/C++/GO |
| 10 | 告警抑制 | 字符串处理、哈希映射(逻辑处理) | Java/python/JavaScript/C/C++/GO |
| 11 | AI 面板识别 | 坐标处理、排序算法、逻辑判断 | Java/python/JavaScript/C/C++/GO |
| 12 | 求最多可以派出多少支队伍 | 贪心算法、双指针、排序 | Java/python/JavaScript/C/C++/GO |
| 13 | 硬件产品销售方案 | 回溯算法(DFS)、剪枝优化、排序预处理 | Java/python/JavaScript/C/C++/GO |
| 14 | 绘图机器 | 逻辑分析 | Java/python/JavaScript/C/C++/GO |
| 15 | 字母组合过滤组合字符串 | 字符串、回溯算法、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 16 | 素数之积 RSA 加密算法 | 数论、因数分解、素数判断 | Java/python/JavaScript/C/C++/GO |
| 17 | 战场索敌 | 广度优先搜索(BFS)、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 18 | 阿里巴巴找黄金宝箱Ⅰ | 前缀和、逻辑模拟 | Java/python/JavaScript/C/C++/GO |
| 19 | 阿里巴巴找黄金宝箱 II | 贪心算法、哈希统计、排序 | Java/python/JavaScript/C/C++/GO |
| 20 | 阿里巴巴找黄金宝箱 III | 哈希表、滑动窗口、逻辑分析 | Java/python/JavaScript/C/C++/GO |
| 21 |
所有机试题均提供 Java/python/JavaScript/C++ 多种语言最佳方案实现并提供详细讲解
题库动态更新···
| 序号 | 题目 | 考点 | 最佳实现 |
|---|---|---|---|
| 1 | 虚拟理财游戏 | 贪心算法、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 2 | 水果摊小买卖 | 排序、动态规划 | Java/python/JavaScript/C/C++/GO |
| 3 | 九宫格按键输入 | 字符串处理、栈操作(状态机算法)、逻辑分支 | Java/python/JavaScript/C/C++/GO |
| 4 | 最少交付时间(项目排期) | 二分查找、回溯(分配策略) | Java/python/JavaScript/C/C++/GO |
| 5 | 洞穴探险 | 字符串处理、栈操作、逻辑判断 | Java/python/JavaScript/C/C++/GO |
| 6 | 传递悄悄话 | 二叉树、DFS/BFS、路径和计算 | Java/python/JavaScript/C/C++/GO |
| 7 | 推荐多样性 | 队列操作、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 8 | 二维伞的雨滴效应 | 递归、二叉搜索树验证、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 9 | 矩形绘制 | 字符串、集合操作、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 10 | 最佳的出牌方法 | 字符串处理、贪心算法、逻辑分析 | Java/python/JavaScript/C/C++/GO |
| 11 | 最大相连男生数学生方阵 | 矩阵遍历、动态规划/DFS | Java/python/JavaScript/C/C++/GO |
| 12 | 快递员的烦恼 | 图论、动态规划(Floyd-Warshall 算法、状态压缩 DP) | Java/python/JavaScript/C/C++/GO |
| 13 | 天然蓄水库 | 双指针 | Java/python/JavaScript/C/C++/GO |
| 14 | 二叉树中序遍历 | 字符串解析、栈操作(递归) | Java/python/JavaScript/C/C++/GO |
| 15 | 会议接待 /代表团坐车 | 动态规划(背包问题) | Java/python/JavaScript/C/C++/GO |
| 16 | 智能驾驶 | 动态规划、贪心算法 | Java/python/JavaScript/C/C++/GO |
| 17 | 数字加减游戏 | 模运算、枚举 | Java/python/JavaScript/C/C++/GO |
| 18 | 数字游戏 | 前缀和、模运算(数学规律) | Java/python/JavaScript/C/C++/GO |
| 19 | 简易内存池 | 内存管理(首次适应算法)、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 20 | 阿里巴巴找黄金宝箱 IV | 字符串、栈操作(单调栈算法)、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 21 | 攀登者 2 |

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
| 双端队列、逻辑处理 |
| Java/python/JavaScript/C/C++/GO |
| 22 | 简单的自动曝光平均像素 | 数组遍历、数学计算(均值优化) | Java/python/JavaScript/C/C++/GO |
| 23 | 模拟消息队列 | 事件排序、优先级处理、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 24 | AI 面板识别 | 坐标处理、排序算法、逻辑判断 | Java/python/JavaScript/C/C++/GO |
| 25 | 最少交付时间 | 二分查找、回溯(分配策略) | Java/python/JavaScript/C/C++/GO |
| 26 | 幼儿园分班 | 字符串处理、逻辑判断 | Java/python/JavaScript/C++ |
| 27 | 数字螺旋矩阵 | 数组模拟、边界控制(螺旋遍历算法) | Java/python/JavaScript/C++ |
| 28 | 智能成绩表 | 自定义排序、逻辑处理 | Java/python/JavaScript/C++ |
| 29 | 找座位 | 字符串遍历、逻辑处理 | Java/python/JavaScript/C++ |
| 30 | 机房布局 | 字符串、贪心算法、逻辑处理 | Java/python/JavaScript/C++ |
| 31 | 素数伴侣 | 二分图匹配(匈牙利算法) | Java/python/JavaScript/C++ |
| 32 | 正整数到 Excel 编号之间的转换 | 字符串、进制转换(26 进制)、逻辑处理 | Java/python/JavaScript/C++ |
| 33 | 网上商城优惠活动 | 动态规划、逻辑处理 | Java/python/JavaScript/C++ |
| 34 | 水仙花数 I | 数学运算、循环遍历、边界处理 | Java/python/JavaScript/C++ |
| 35 | 英文输入法 | 字符串处理、排序算法(字典序)、逻辑判断 | Java/python/JavaScript/C++ |
| 36 | 内存冷热标记 | 哈希统计、多条件排序 | Java/python/JavaScript/C++ |
| 37 | 完全二叉树非叶子节点后序遍历 | 完全二叉树、后序遍历、逻辑判断 | Java/python/JavaScript/C++ |
| 38 | 异常打卡记录 | 字符串处理、逻辑判断 | Java/python/JavaScript/C++ |
| 39 | vlan 资源池 | 字符串处理、区间合并(逻辑处理) | Java/python/JavaScript/C++ |
| 40 | 高矮个子排队 | 逻辑处理、数组操作 | Java/python/JavaScript/C++ |
| 41 | 完美走位 | 字符串、滑动窗口、贪心算法 | Java/python/JavaScript/C++ |
| 42 | 符号运算 | 字符串、栈操作(逆波兰算法)、逻辑处理 | Java/python/JavaScript/C++ |
| 43 | 数大雁 | 字符串、栈操作(贪心算法)、逻辑处理 | Java/python/JavaScript/C++ |
| 44 | 最差产品奖 | 滑动窗口、单调队列(优化最小值查询) | Java/python/JavaScript/C++ |
| 45 | 猜数字 | 字符串处理、暴力枚举(或候选集筛选)、逻辑判断 | Java/python/JavaScript/C++ |
| 46 | 对称美学 | 字符串、递归/分治、位运算 | Java/python/JavaScript/C++ |
| 47 | 食堂供餐 | 二分查找、模拟过程 | Java/python/JavaScript/C++ |
| 48 | 差值数组不同的字符串 | 字符串、哈希表(统计差值数组频率)、逻辑处理 | Java/python/JavaScript/C++ |
| 49 | 寻找最大价值的矿堆 | BFS、矩阵遍历 | Java/python/JavaScript/C++ |
| 50 | 计算某个字符出现次数 | 字符串、线性扫描、逻辑处理 | Java/python/JavaScript/C++ |
| 51 | 版本管理 | 字符串处理、逻辑比较 | Java/python/JavaScript/C++ |
| 52 | 识文断句 | 字符串匹配、贪心算法(最长优先)、逻辑处理 | Java/python/JavaScript/C++ |
| 53 | 考勤信息 | 字符串处理、滑动窗口、逻辑判断 | Java/python/JavaScript/C++/C/GO |
| 54 | 绘图机器 | 逻辑分析 | Java/python/JavaScript/C++/C/GO |
| 55 | 整理扑克牌 | 字符串、栈操作(贪心算法)、逻辑处理 | Java/python/JavaScript/C++ |
| 56 | 寻找密码 | 字符串处理、哈希集合(或字典序排序) | Java/python/JavaScript/C++ |
| 57 | 字符串重新排列 | 字符串、排序算法、哈希统计 | Java/python/JavaScript/C++ |
| 58 | 找车位/停车场最大距离 | 字符串、贪心算法、逻辑处理 | Java/python/JavaScript/C++ |
| 59 | 相对开音节 | 字符串处理、正则匹配/栈操作(反转)、逻辑判断 | Java/python/JavaScript/C++ |
| 60 | 查找单入口区域 | 广度优先搜索(BFS)、矩阵遍历、边界条件处理 | Java/python/JavaScript/C++ |
| 61 | 字符串分割转换 | 字符串、逻辑处理 | Java/python/JavaScript/C++ |
| 62 | 文件目录大小 | 字符串、栈操作(DFS)、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 63 | 分苹果 | 位运算(异或)、贪心算法 | Java/python/JavaScript/C/C++/GO |
| 64 | 文件目录大小 | 字符串、栈操作(DFS)、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 65 | 传递悄悄话 | 二叉树、DFS/BFS、路径和计算 | Java/python/JavaScript/C/C++/GO |
| 66 | 游戏分组王者荣耀 | 递归与回溯、组合枚举 | Java/python/JavaScript/C/C++/GO |
| 67 | 恢复数字序列 | 字符串、滑动窗口(贪心算法)、逻辑处理 | Java/python/JavaScript/C++ |
| BFS/DFS、回溯算法、路径优化 |
| Java/python/JavaScript/C++ |
| 22 | 连连看 | 字符串解析、栈操作(路径搜索算法)、逻辑处理 | Java/python/JavaScript/C++ |
| 23 | 简易内存池 | 内存管理(首次适应算法)、逻辑处理 | Java/python/JavaScript/C++ |
| 24 | 亲子游戏 | BFS、动态规划 | Java/python/JavaScript/C++ |
| 25 | 篮球游戏 | 双端队列、贪心算法 | Java/python/JavaScript/C++ |
| 26 | 数字游戏 | 前缀和、模运算(数学规律) | Java/python/JavaScript/C++ |
| 27 | 中文模拟分词器 | 字符串处理、贪心算法(最长匹配)、逻辑处理 | Java/python/JavaScript/C++ |
| 28 | 堆栈中的剩余数字 | 字符串、栈操作(贪心/模拟)、逻辑处理 | Java/python/JavaScript/C++ |
| 29 | 查找一个有向网络的头节点和尾节点 | 图论(入度/出度统计)、环检测(拓扑排序或 DFS) | Java/python/JavaScript/C++ |
| 矩形相交的面积 |
| 几何计算、边界判断 |
| Java/python/JavaScript/C/C++/GO |
| 22 | 找终点 | 动态规划、贪心算法 | Java/python/JavaScript/C/C++/GO |
| 23 | 报文回路 | 图论(邻接表遍历)、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 24 | 游戏分组王者荣耀 | 递归与回溯、组合枚举 | Java/python/JavaScript/C/C++/GO |
| 25 | 查找接口成功率最优时间段 | 滑动窗口、前缀和、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 26 | 考勤信息 | 字符串处理、滑动窗口、逻辑判断 | Java/python/JavaScript/C/C++/GO |
| 27 | 统计匹配的二元组个数 | 数组、哈希表 | Java/python/JavaScript/C/C++/GO |
| 28 | 查找重复代码 | 字符串处理(最长公共子串算法)、动态规划 | Java/python/JavaScript/C/C++/GO |
| 29 | 找出两个整数数组中同时出现的整数 | 哈希表、计数统计、排序 | Java/python/JavaScript/C/C++/GO |
| 30 | 最少数量线段覆盖/多线段数据压缩 | 排序、贪心算法 | Java/python/JavaScript/C/C++/GO |
| 31 | 文件目录大小 | 字符串、栈操作(DFS)、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 动态规划、贪心算法 |
| Java/python/JavaScript/C/C++/GO |
| 22 | 跳格子 3 | 动态规划、滑动窗口优化 | Java/python/JavaScript/C/C++/GO |
| 23 | MELON 的难题 | 动态规划(0-1 背包)、回溯法(DFS+ 剪枝) | Java/python/JavaScript/C/C++/GO |
| 24 | 导师请吃火锅 | 字符串、贪心算法、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 25 | 宜居星球改造计划 | 字符串、广度优先搜索(BFS)、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 26 | 开放日活动/取出尽量少的球 | 二分查找、逻辑处理 | Java/python/JavaScript/C/C++/GO |
| 27 | 通过软盘拷贝文件 | 动态规划(01 背包) | Java/python/JavaScript/C/C++/GO |