华为OD机考考点揭秘|题型分布 + 高频考点 + 必刷方向

备考机考正在刷题的小伙伴看过了!与完毕给大家整理了一份OD 机考完整考点体系,从题型分值、一星基础考点到二星重难点全覆盖,备考直接照着啃考点刷题就行,不走弯路!

一、机考基础规则先理清

  1. 考题配置:3 道编程题,分值 100、100、200,满分 400 分,150 分即可通关
  2. 考试时长:150 分钟,不用每题跑满所有测试用例,凑够分数就行
  3. 难度分布:2 道一星基础题 + 1 道二星难题,时间合理分配,三题尽量都提交,轻松凑分过线
  4. 评分规则:按测试用例通过率给分,代码不完全 AC 也能拿部分分数,没时间写完写思路框架也能得分

二、一星题必考高频考点(基础拿分核心)

一星题是保底关键,难度低、题型固定,拿下就能稳过线,核心考点集中这几类:

1. 字符串处理(占比最高,近 30%)

  • 核心技能:字符遍历、字符串分割、正则匹配、哈希映射、大小写处理
  • 经典真题题型:IP 地址分类识别、日志异常检测、失灵键盘解析、协议帧十六进制解析、作文字符处理
  • 核心难点:进制转换、多余空格清理、字符提取与边界判断

2. 哈希表与统计类

  • 所有去重、计数、数据映射、覆盖更新题型必用
  • 常考场景:生日人数统计、日志标识频次统计、多文档字符交集计数、命令操作失败统计
  • 解题关键:用 HashMap 做数据覆盖、频次统计、多条件筛选

3. 栈 / 队列 / 单调栈

  • 基础栈队列:文本编辑器撤销重做、操作历史回退
  • 单调栈:端口流量统计、寻找下一个更大元素、窗口优先级查找
  • 熟练掌握 LIFO 后进先出、FIFO 先进先出特性即可轻松应对

4. 多级自定义排序

  • 占比约 25%,必考多字段排序
  • 典型题型:分辨率多维度排序、字符按频次 + 字典序排序
  • 核心考点:自定义比较器 Comparator、多条件优先级排序,力扣 937 是必刷同源题

5. 简单贪心 & 模拟 & 位运算

  • 贪心:商城多级优惠券最优优惠、游戏试玩不重叠区间分配
  • 模拟:命令行操作解析、设备档位时长统计
  • 位运算:8 位 LED 控制器、二进制等距判断,侧重二进制遍历与数值转换

三、二星题重难点考点(冲高分关键)

二星题分值 200 分,难度偏高,是拉开分差的核心,三大必考模块:

1. 动态规划 DP(二星最高频考点,必须掌握!)

  • 二维 DP:字符串最短路径问题、编辑距离变种
    • 背包 DP:完全背包变种,模型选择最大化准确率经典题型
    • 子串 DP:最长无重复子串各类变种题

    2. 图论算法

    • BFS/DFS 遍历:水站孤立站判定、网格路径搜索
    • 拓扑排序:项目模块依赖,输出所有合法构建顺序并字典序排列
    • 最短路径:网格避障路径计数、迷宫所有路径枚举

    3. 复杂模拟 & 算法优化

    • 复杂规则模拟:小猫钓鱼纸牌回合制游戏、环形内存存取计算
    • 大数据量优化:单调栈优化处理 10⁶级数据,规避 O (n²) 超时问题
    • 回溯搜索:数字高峰路径枚举、二叉树重复子树查找

    四、易失分坑点提醒

    1. 输入解析易错:十六进制协议帧、复杂字符串分割转换容易出错
    2. 忽略边界条件:数组为空、数值越界、n=1 等冷门测试用例
    3. 算法超时:大数据量题目不能用暴力解法,必须用单调栈、DP、BFS 优化
    4. 精度问题:int 数值溢出及时换成 longlong,避免测试用例通过率偏低

    五、备考小建议

    1. 刷题渠道:牛客华为机试专项训练 + 力扣 hot100,贴合机考题型
    2. 每日节奏:每天 1-2 小时,先入门简单题,主攻中等和高频考点题
    3. 不会的题别空着:暴力递归、简易规则实现都能拿部分骗分,写代码框架也有分

    #华为机试##华为od机试##华为od##华为OD机考##华为OD#
    全部评论
    刚好在啃OD 收藏了
    点赞 回复 分享
    发布于 昨天 12:12 北京

    相关推荐

    在我来鹅之后,接到的第一个完整大需求就是需要编写一个skill,之前的实习也写过一些skill,但是在我的理解中skill就是跟提示词没差,把你需要的目标全写上就好了,所以第一次mr我提交了一个超过1200行的md,被mt打了回去,为了完成这个需求,我又赶紧请教了我身边的大神同学,获取一些写skill的经验,将原先1200行的md进行了对应的references拆封,又通过我朋友教我的验证机制验证这个skill的效果,最后完成了我的第一个需求。正好前两篇文章给大家分享了写好的用来包装简历的skill,那么今天来给大家分享怎么去写一个好的,可以实际用来工作的skill,摆脱只会写提示词的尴尬。构建 Skill 的五个步骤Step 0:先写 EvalsEval(Evaluation,评估)是一套结构化的、可重复运行的测试用例集,用来判断 Skill 的表现是否符合预期。它不是泛指"测试一下",而是开发 Skill 的前提条件。一个典型的 Skill eval 集至少包含三类用例:- 正例(Positive):用户说“帮我看一下这个 PR 能不能合”,验证 Skill 应该被加载- 负例(Negative):用户说“帮我把代码格式化一下”,验证 Skill 不该被加载——路由别跑偏到不该触发的地方- 边界(Edge):“这个 PR 改了一行日志,要不要审”,验证边界情况下的路由行为正例和负例都要写,而且负例往往比正例更值钱——误触发是 Skill 路由的头号失败模式。Eval 不只是测一次。Perplexity 的 eval 分三个层次:如下图每种都要在 GPT、Claude Opus、Claude Sonnet 不同的 orchestration 模型上分别跑——Sonnet 和 GPT 的 Skill 行为差异很大,只在一种模型上过了不够。没有 evals,你改 description 就是在盲改,一个新 Skill 也可能悄悄搞坏已有的十个 Skill。Step 1:写 Description(最难的一行)description 是路由触发器,不是文档。写好它不需要关心 Skill 的内容,只需要关心能不能在正确的时间加载、有没有意外触发到不应该触发的地方——误触发是头号失败模式,每加一个 Skill 都有可能让其他 Skill 变差。糟糕的 description 描述 Skill 做什么,好的 description 说什么时候加载。举个监控 PR 的例子:不要写这个 Skill 做什么,要写工程师感到焦虑时会说什么——"babysit"、"watch CI"、"make sure this lands"。快速检查清单:- 以"Load when…"开头- 控制在 50 词以内- 描述用户意图,最好来自真实查询- 不总结工作流程Step 2:写 Body跟同事讲工作流程和跟 LLM 讲工作流程完全是两回事。对几乎任何面世超过一年的软件工具,只要提名字,模型已经知道怎么用。所以跳过模型已经懂的部分。不用写出每一步命令。比如不要写 git log → git checkout main → git checkout -b clean-branch → git cherry-pick commit。写 "Cherry-pick the commit onto a clean branch. Resolve conflicts preserving intent. If it can't land cleanly, explain why." 模型在后者上表现好得多,尤其是事情不按预期走的时候。太规定的指令比灵活的指令更脆弱。然后聚焦 gotchas 和反例,它们是最高信噪比的内容。每次 Agent 搞砸了就加一条,gotcha 会自然地累积起来。条件逻辑或内容太重的东西移出 SKILL.md,放到 accessory file 里渐进加载。Step 3:用层级结构- scripts/ —— 确定性逻辑,模型不用每次重新发明- references/ —— 重型文档,条件触发才读("如果 API 返回非 200,读 api-errors.md")- assets/ —— 输出模板,模型直接复制填充- config.json —— 首次运行设置,问一次保存下来对于极其复杂的 Skill,进一步考虑是否应该拆成一组 Skill,用 depends: 声明加载关系。Step 4:迭代切分支出来,在无 Skill 的状态下跑 hero query(核心用户场景查询),建 eval 集,反复调。提交 review 时最好一个 changeset 里自带 eval 集。Description 里的小词改动对路由影响很大,甚至会 spillover(溢出)到其他 Skill,所以这些在 Step 5 之前做完。Step 5:发布大家快把这5步实行起来,成为写skill专家吧!
    琉璃梦忆:直接skill creator 管你这那的
    AI了,我在打一种很新的...
    点赞 评论 收藏
    分享
    一、机位调试(双机位监考!第一机位、第二机位都一样重要)* 第一机位设备调试(打开电脑摄像头,拍摄调试;共享屏幕录制)1、要求:第一机位需要完整拍摄全脸正脸,否则成绩无效,半年内无二次机考机会2、易出现的问题及解决方法:①第一机位摄像头异常——如果不是硬件问题的话一般是有其他软件和牛客客户端有冲突②第一机位没有拍到全脸——考前调试好第一机位,完整拍摄全脸正脸* 第二机位调试(手机或者iPad扫描二维码,开启摄像头,如第二机位摆放不符合要求,则成绩作废,无二次机考机会)1、要求(见p1):露出上半身,且需要完整看到双手、键盘、以及电脑屏幕(手机支架:横屏拍摄、一臂距离、电脑屏幕微微倾斜)2、易出现的问题及解决方法(第二机位出问题不会提醒,所以一般都是第二机位出问题,要特别注意):①第二机位不规范,例如没拍到屏幕、没拍到键盘、没拍到人的半身——考前调试好第二机位,一定要将电脑屏幕、键盘、考生的上半身和双手都要拍进去②第二机位拍摄图片较少(一般是第二机位断连了一段时间,无法过筛)——考试时随时关注第二机位情况,出现问题及时解决③第二机位熄屏——开启常亮④第二机位被其他应用程序打断录像(例如电话)——开启飞行模式⑤第二机位没电——持续充电二、考试注意事项(可以在系统里看到详细考前须知)1.请使用最新版chrome浏览器作答(72 版本以上) ,考试需开启摄像头,请确保电脑带有摄像头。2.考生只能在笔试页面在线编写和调试代码,手机监控、电脑摄像头都要打开,考试过程中不要故意取消监控。3.考试答题时间150分钟。4.考试共3道题,可从任一部分(一星题或二星题)开始作答。进入考试界面后,每进入一题型均有输入输出规范例题供参考,例题学习时间计入考试时间。一二星题目均可随意切换顺序作答,就算有其中一题暂时做不出来也可以先提交,继续完成其他题型,后续回来重新修改答案。5.程序开发:不要紧张,将工具调整为最合适的宽度(当鼠标悬停在下图红框处鼠标变为“*”时直接拖拽左侧的文本框即可,也可点击右上角的全屏,进行全屏编码),保证编码舒适性。(见p2)6.程序调试:当代码完成一部分时,如需调试,请点击自测运行。自测输出框可以拉升,方便查询输出及错误信息,根据输出及错误信息调整代码即可。(见p3)7. 提交作答:程序基本开发完成后记得点击右下角“保存提交”按钮,否则答案不作保存,不限制提交运行次数(以提交中最高得分计分),调试完成点击左下角【提交本题型】按钮(见p4)。所有题型均完成作答后,点击【我要交卷】(见p5)。
    点赞 评论 收藏
    分享
    牛客52338264...:我也专升本 别写专科了 只写本科 有问再说 没问都不要提专科经历, 然后赶紧去学一个项目,把这个项目包装成实习经验 再学一个项目当做项目经验
    点赞 评论 收藏
    分享
    评论
    3
    2
    分享

    创作者周榜

    更多
    牛客网
    牛客网在线编程
    牛客网题解
    牛客企业服务