ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

华为AI软件岗面试攻略:从机试到大模型高频考点与避坑指南

华为AI软件岗面试攻略:从机试到大模型高频考点与避坑指南 2025年华为AI软件岗的面试跟两三年前比确实变了不少。以前重点在于机器学习基础、深度学习原理再配点手撕代码现在大模型全面渗透到考题里LoRA、RAG、Agent、推理加速这些几乎成了必问项。我陆续带过几个师弟师妹走完整个流程自己也复盘过大量真题这篇文章会把高频考点、机试规则、项目深挖思路和容易翻车的细节全部摊开讲如果你正在准备华为AI软件岗校招、社招、OD都适用可以直接照着梳理。1. 华为AI软件岗的岗位画像与面试全局拆解1.1 华为AI软件岗到底做什么投简历之前先把岗位方向搞清楚。对外都叫“AI软件岗”但内部方向差异很大面试官问的问题也完全不同。我按实际工作内容大致分三类AI算法工程师做模型训练、调优、精度提升偏算法研究和模型创新。面试重点在机器学习、深度学习理论、论文复现、训练策略。AI软件开发工程师做训练/推理框架、算子开发、性能优化、工具链建设。面试重点在C/Python、昇腾CANN、MindSpore、推理加速。AI平台/工程化工程师做MLOps、模型部署、数据平台、云上服务。面试重点在容器、K8s、微服务、分布式训练、模型服务化。这三类岗位在华为里面对应的部门也完全不同像2012实验室诺亚方舟、中央软件院、Cloud BU、昇腾计算产业、车BU还有各种研究所的AI能力中心。同一个Title在算法部门做模型压缩跟在平台部门做推理引擎完全是两种面试风格。你准备的时候一定要先问清楚自己投的具体岗位JD是偏哪个方向别拿着算法题去面算子开发。1.2 面试流程与各环节筛选逻辑华为的面试流程相对标准但不同招聘类型有细节差异。我按类型拆开说。校招含实习生转正通常是机试 → 技术一面 → 技术二面 → 主管面 → HR面 → Offer审批。社招通常是技术面一般1-3轮 → 主管面 → HR面 → 薪酬沟通部分岗位要求先做线上编程测评。OD华为外包研发岗流程是机试OD C卷 → 技术一面 → 技术二面 → 主管面 → HR资格面试。这里面机试非常重要虽然不直接决定定级但是一轮不过直接刷掉后面所有环节都不用想了。OD机试现在已经用新系统双机位监控题目来源和难度都跟以前不一样了后面我会专门讲。技术面的筛选逻辑其实很清晰一面看基础扎不扎实二面看工程能力和项目深度主管面看综合素质、沟通方式、抗压能力HR面看薪资匹配和稳定性。很多人只准备技术题结果挂在主管面和HR面太可惜了。主管面其实不考硬核技术但会问你对华为文化的理解、团队协作的案例、遇到冲突怎么处理这些提前准备几个故事很重要。2. 机试环节OD机试与算法考点全拆解2.1 机试规则与准备工作先泼一盆冷水机试是淘汰率最高的一环。不是因为题多难而是很多人平时习惯了IDE自动补全、本地调试、直接看LeetCode函数签名一上机发现是ACM模式输出格式不对就是0分心态直接崩。华为机试的典型规则是两道100分题 一道200分题满分400分一般150分通过部分部门要求160-180分考试时长2.5小时左右。新系统双机位监考前摄像头照脸侧后方摄像头照屏幕和手部切出浏览器、开启屏幕共享都会被检测。所以考前一定要做好这些准备提前熟悉牛客网或华为OJ的ACM输入输出模式尤其是input()、split()、map(int, ...)这些Python写法或者C的cin/cout循环读取。准备好本地IDE和调试模板考试时直接复制基础模板省出时间。确保网络稳定最好用有线网络别用公共WiFi。双机位要求手机或副设备有支架提前把机位调好别等考试了再摆。我见过太多人挂在输入输出上。比如题目给的是“第一行输入n第二行输入n个整数”他直接写nums list(map(int, input().split()))没处理多行输入导致部分用例过不去。正确的做法是写一个通用的read_nums()函数把标准输入循环读进来再处理。2.2 高频算法考点清单根据近两年华为机试真题和大量题库复盘我把考点分成三档按照出现频率排列优先级考点典型题型练习建议第一档字符串处理字符串分割、子串匹配、简单加密解密牛客网华为OD题库每天刷10道第一档动态规划背包、最长递增子序列、编辑距离、路径计数力扣动态规划专项理解状态定义和转移方程第一档贪心算法区间调度、跳跃游戏、任务分配刷力扣贪心标签前20题第二档DFS/BFS岛屿问题、网格遍历、二叉树路径掌握回溯框架注意剪枝和visited标记第二档二分查找有序数组查找、二分答案最小值最大化/最大值最小化注意边界条件left right还是left right第二档数据结构栈、队列、优先队列、哈希表的应用熟悉Python的deque、heapq、defaultdict第三档图论拓扑排序、最小生成树、最短路径掌握Dijkstra、Prim/Kruskal、拓扑排序模板第三档数学最大公约数、素数判断、快速幂刷基础数学题背模板200分的大题一般难度较高经常是“复杂场景模拟 DFS 贪心”的组合题比如“给定地图和多个任务点求最短路径或最优调度方案”。这类题对读题能力要求很高一定要先把输入输出示例看清楚再动手。我准备机试时的思路是分三轮第一轮考前15天专项刷题按上面表格的考点逐个击破每天至少两新两旧重点理解套路而不是背答案。第二轮考前7天整套模拟严格按2.5小时做牛客网的华为机试真题套题培养时间分配能力。一般建议前两道简单题30分钟内做完给最后一道大题留足1小时。第三轮考前3天只看错题和高频模板不再刷新题。把快速幂、进制转换、滑动窗口、前缀和这些模板背熟。这里有个关键技巧华为机试是允许带纸质笔记的线上机试很难查纸质资料但本地IDE可以用但你要提前把模板整理成代码片段放本地别靠临场记忆。3. 技术面核心考点从机器学习到大模型全覆盖3.1 机器学习基础高频题华为AI软件岗技术面机器学习基础是必问项尤其算法岗。面试官不是考你背概念而是通过连环追问看你有没有真正理解。我整理几个最高频的损失函数为什么用交叉熵而不用MSE这是绝对高频。核心点在于Sigmoid MSE会导致梯度消失当输出接近0或1时sigmoid梯度趋近0再乘上误差也很小而交叉熵和sigmoid组合时梯度形式是(预测值 - 真实值)误差越大梯度越大收敛更快。你可以从导数推导角度讲清楚比背结论有说服力。优化器怎么选SGD、Adam、AdamW有什么区别面试官常让你比较这些。SGD收敛稳定但调参难Adam自适应学习率收敛快但泛化性有时略差AdamW把weight decay从梯度里拆出来解耦权重衰减大模型训练基本都用AdamW。要能说清楚为什么大模型不用SGD训练数据规模大SGD收敛太慢而且AdamW对学习率的鲁棒性更好。如何解决过拟合这个问题看着简单但注意别只背正则化、Dropout、数据增强这些关键词。更好的回答是分情况数据量不足时优先考虑数据增强和迁移学习模型复杂度过高时用正则化和Dropout训练过程中观察训练集/验证集loss用早停如果验证集loss持续上升还要考虑是不是学习率太大、batch size太小导致震荡。把“怎么判断过拟合”和“不同阶段用什么手段”结合起来面试官会认为你有实战经验。AUC和F1的区别什么时候用哪个这个要结合业务场景。正负样本不平衡时F1会受阈值影响AUC是排序指标对阈值不敏感。但AUC也有坑当样本极度不均衡比如正样本占比不到1%AUC可能虚高这时要结合PR曲线。如果你在华为做过质量检测、故障预测这类场景会更有说服力。GBDT和XGBoost的原理区别XGBoost加了二阶导数、正则项、列抽样、缺失值处理。要能推导XGBoost的目标函数泰勒展开到二阶并解释为什么用二阶比一阶更准确。这里面试官可能会追问LightGBM主要是直方图算法、Leaf-wise生长策略这些也得准备。3.2 深度学习与Transformer高频题深度学习部分重点已经从CNN/RNN转向Transformer。但基础的CNN问题仍然会出现尤其是跨岗位面算法工程师的时候。手推反向传播这是经典送分题也是送命题。面试官会在白板上给一个两层神经网络让你推导loss对w1和w2的梯度。平时最好自己完整推导一遍不要只会用框架。华为的面试官很喜欢在推导过程中追问“为什么这个梯度是连乘的”“如果激活函数换成ReLU梯度哪里会变”。BN和LN的区别要回答清楚BN是在batch维度上做归一化LN是在特征维度上做归一化。Transformer里用LN不用BN的核心原因是NLP任务序列长度动态变化batch size较小BN统计量不稳定LN和序列长度无关且适合处理变长输入。另外LN在训练和推理时行为一致不需要维护全局统计量。Transformer的self-attention为什么要除以sqrt(d_k)这个问得特别多。直接从方差解释Q和K的点积结果方差会随着维度d_k增大而增大极端情况下softmax输入分布过于尖锐梯度趋近0。除以sqrt(d_k)是为了把方差拉回1让softmax梯度更稳定。你要能画出流程并手写一个简单的attention代码。Multi-head Attention的作用是什么多头可以让模型在不同子空间学习特征相当于多视角关注。如果你想回答得更深入可以补充多头之间的信息可以互补有的头关注局部依赖有的头关注长距离依赖还提供了类似集成的效果。了解KV Cache吗为什么推理时要缓存这个几乎是2025年所有大模型岗位的必问项。因为自回归解码每个token都要重新计算之前的K和V缓存下来能把复杂度从O(n²)降到O(n)节省重复计算。面试官还会追问KV Cache占用多少显存、长上下文场景怎么优化比如PagedAttention、KV量化、Sliding Window。3.3 大模型与AIGC实战考点2025年的大模型面试题已经非常成熟不是简单问“什么是Transformer”而是深入到PEFT、RAG、Agent、推理加速这些工程实践。LoRA的底层原理是什么为什么要用LoRA回答这个问题要记住“冻结预训练权重注入低秩矩阵”。LoRA假设微调时权重的更新量是低秩的用两个小矩阵A和B来拟合ΔW训练时只更新A和B。它最大的价值是显存友好、部署时可以将AB矩阵合并回原权重、支持多任务低成本切换。面试官会追问“LoRA的秩r一般取多少”“跟QLoRA的区别是什么”你要准备好。你了解RAG吗完整的RAG流程是什么样的给一个标准回答链路文档解析 → 分块Chunking → 向量化Embedding → 写入向量库 → 用户query向量化 → 相似度检索 → 拼接Prompt → LLM生成。然后要说清楚每个环节的坑分块大小怎么定、混合检索稠密稀疏什么时候有用、重排序Rerank在什么样的场景必须加、检索结果太多导致上下文中“迷失在中间”怎么办。Agent是什么和普通对话模型有什么区别Agent是“有工具、有目标、能自主决策”的系统。核心组件包括LLM主脑、工具调用Function Calling/Tool Use、记忆模块、规划模块。面试官会问你了解哪些Agent框架LangGraph、AutoGen、MetaGPT、字节的CozeFunction Calling的原理是什么Agent在真实落地中最大的问题是什么幻觉、错误传播、多轮工具调用累积误差、成本失控。RLHF和DPO的区别RLHF用奖励模型 PPO训练不稳定需要4个模型Actor、Critic、Reward、Ref工程复杂DPO直接使用偏好数据做监督式微调把对齐问题转化为分类问题简单高效。近两年DPO类的开源项目很多华为内部做模型对齐也会考虑DPO这块最好结合论文把公式推导写出来。大模型推理速度慢你怎么优化这题需要系统化回答最好从多个层面给方案模型层面做量化FP16→INT8→INT4、蒸馏、剪枝推理框架层面用vLLM、TensorRT-LLM、MindIE昇腾推理引擎系统层面用PagedAttention管理KV Cache显存、Continuous Batching提升吞吐、模型并行/张量并行算法层面用KV Cache量化、投机解码Speculative Decoding。3.4 AI工程化与华为技术栈这部分比较特殊是华为面试区别于其他公司的点。如果你不熟悉昇腾、MindSpore或者只是听说过没有实际用过也要了解基本概念因为面试官很可能会问。昇腾和GPU有什么区别了解CANN吗简单来说昇腾是华为的AI处理器Ascend NPU和英伟达GPU在生态上有所不同。CANN是昇腾的计算架构相当于CUDA在NVIDIA生态中的位置。如果面试官问“把PyTorch模型迁移到昇腾需要做什么”你可以讲优先用昇腾的PyTorch适配框架torch_npu做算子映射如果遇到不支持的算子需要用Ascend C或TBE开发自定义算子性能优化可以使用混合精度、算子融合、内存复用等手段。这里不要求你特别深入但至少能说出迁移的基本路径和可能遇到的坑。MindSpore和PyTorch的区别MindSpore是华为自研深度学习框架它有一个特点静态图模式Graph Mode性能好动态图模式PyTorch风格调试方便支持两种模式切换。面试官会问“你了解MindSpore吗”你最好能说出MindSpore在昇腾上的优化以及它的AMCT模型压缩工具、MindIE推理引擎。如果让你部署一个LLM服务你怎么设计架构这种题考察工程思维。你可以说训练/微调完成后导出为ONNX或MindIR格式用vLLM/MindIE做推理服务开启动态batching和显存管理外挂向量数据库实现RAG用K8s管理多副本弹性伸缩用Prometheus采集GPU/NPU利用率、推理延迟、吞吐在服务前面加一层API Gateway做限流和负载均衡。华为云上对应的是ModelArts 云容器引擎 CCE GaussDB用于存储业务数据如果能把这些问题串起来说面试官会很认可。4. 项目深挖与手撕代码实战4.1 项目讲解的核心思路技术面问项目很多人最大的问题是讲得没重点。要么一直背细节面试官听不出你的贡献要么讲得太宏观全是“我们使用了XX模型效果不错”面试官深度问下去就露馅。我建议按这个框架来组织项目讲解项目背景50字内讲清楚业务场景是什么为什么要做这个项目解决谁的什么问题。我的职责明确边界是整个项目负责人还是核心模块开发者负责哪部分避免面试官以为所有工作都是你做的。技术难点要有具体细节我在做的时候发现什么难处比如数据质量差、显存不够、推理延迟超标、模型效果一直上不去。我的解决方案针对每个难点用了什么方法为什么选这个方法试过哪些方案没成功怎么定位问题的。量化结果用数字说话比如“准确率从85%提到92%”“推理延迟从300ms降到80ms”“显存占用减少40%”。沉淀与反思项目里踩了哪些坑如果重新做一次会怎么改进。面试官对项目的关注点其实只有两个一是你是不是真的做过、真的理解二是你做项目时的思考深度。所以你准备项目时不需要把整个项目代码背下来但一定要能把“为什么这么做”讲清楚。4.2 最容易翻车的追问点根据我观察到的真实面试场景以下追问最致命“你这个模型的效果为什么比baseline好好在哪里”很多人答“因为用了XX模型效果就是好”这种回答直接被判没有思考。正确思路是分维度分析我们做了消融实验去掉某个模块后指标掉了多少误差分析显示模型在哪个类别上提升最大数据层面做了什么清洗和增强。要能说出“好在哪里”的量化分析。“你的模型在训练的时候loss曲线长什么样出现过nan吗怎么处理的”这个问题直接筛掉没真跑过模型的人。你要说出真实的训练经历比如“出现过loss为nan排查发现是学习率太大、导致梯度爆炸后来把学习率从5e-4降到2e-4并在前500步加了warmup就稳定了”。如果没有真实经历千万不要编面试官会一直追问细节直到你露馅。“如果线上数据和训练数据分布不一致怎么办”这个问题考的是领域泛化和模型监控能力。你可以说上线前做数据分布检查PSI监控推理结果的置信度分布收集线上badcase持续迭代训练数据引入增量学习或定期重训练机制根据业务指标设置告警比如准确率或平均置信度下降到阈值就触发警报。4.3 手撕代码题目类型华为技术面手撕代码一般不会太难但很看基本功。常见类型包括LeetCode热题两数之和、反转链表、LRU缓存、最长回文子串、二叉树的层序遍历。拓扑排序类课程表、任务调度。二分/双指针寻找旋转排序数组中的最小值、合并区间。简单DP爬楼梯、打家劫舍、最大子数组和。除了LeetCode题有些面试官会让你现场实现神经网络核心组件比如手写一个softmax cross entropy loss要求数值稳定减去最大值。手写一个LayerNorm考虑均值和方差计算、可学习参数。手写一个multi-head self-attention用PyTorch或numpy。手写一个简单的反向传播过程给定数学表达式求梯度。这些题目考察的是你对深度学习底层实现的理解。平时自己写一遍很重要不要只是调库。比如手写LayerNorm很多人会在“归一化维度”“可学习参数gamma和beta”这些细节上出错。5. 常见问题与避坑实录5.1 机试与简历环节的坑简历写了精通TensorFlow/PyTorch结果被问框架源码直接答不上来这是简历“过度包装”的典型教训。如果你写“熟悉PyTorch”至少要能回答DataLoader的collate_fn是干嘛的model.train()和model.eval()到底有什么区别分布式训练里DDP和DP有什么区别。这些是最低要求写上去就必须能扛住追问。机试不熟悉ACM模式题目会做但输入输出写错前面说过了这是机试最常见的失分点。无论是校招还是OD考前一定在牛客网或华为OJ上练几套题养成自己写readline()循环的习惯。OD机试被双机位监考环境干扰我听一个朋友说过新系统双机位C卷对设备要求挺高有人因为摄像头角度不对被判定异常。解决方案是考前仔细看通知按规范摆好设备开考前用官方提供的环境检测功能测试千万不要抱侥幸心理开小窗查资料这东西确实能检测到。5.2 技术面与主管面避坑技术面遇到不会的问题千万不要硬扯面试官都是做技术的你说的是真懂还是编的一问便知。正确策略是先坦诚说明这个知识点不太熟然后把相关的、你懂的部分讲出来最后表示会去学习。比如面试官问“TensorRT为什么比PyTorch快”你说“我不太了解TensorRT的底层细节但我知道深度学习推理加速一般有几个层面算子融合、精度校准、显存复用……”。这样做至少展示了你的逻辑和分析能力。主管面不要说前公司坏话主管面主要考察价值观和稳定性无论你之前离职原因是什么都不要抱怨前公司leader、加班文化或同事。最好把离职原因往个人成长方向引比如“想接触更大规模的业务”“希望从事更核心的AI方向”“对昇腾生态很感兴趣希望加入做底层优化”。HR面谈薪时不要只给一个数字华为薪酬结构比较复杂基本工资 绩效 年终奖 股票/分红部分级别OD还有转正机制。谈薪时不要只给一个数字可以给一个合理范围比如“我希望现金部分在30-40万之间具体可以看定级和包的总包”同时要了解目标部门过去的薪酬水平。重点来了腾讯、字节、阿里这些公司给的offer以及paper情况都可以作为谈薪筹码但要客观别虚报。5.3 华为AI岗位准备的时间线建议如果你打算投2025年的华为AI软件岗我建议你把时间线拉长到三个月第一个月系统刷机试真题 梳理机器学习/深度学习基础 手写Transformer和反向传播。第二个月研究大模型技术栈LoRA、RLHF/DPO、RAG、Agent、vLLM跟一个完整的实战项目比如用开源模型做RAG问答系统或者对LLaMA做LoRA微调。第三个月复盘项目准备面试话术整理高频问题的“我自己的回答”做3-5场模拟面试。关于模拟面试这里真的强烈建议找人陪你练。你自己看题觉得自己都会但一开口表达出来就是两回事。找同龄人互相练也行或者找有经验的朋友当面试官重点练“30秒说清楚项目背景”和“画图讲Transformer”。5.4 最后再分享一点个人体会我自己接触华为面试最大的感受是华为的面试官非常看重“你有没有真的做过”。任何停留在概念层面的东西只要被追问几句就现原形。所以准备面试时与其背一百道题的答案不如深挖两三个项目把它从头到尾的细节、量化指标、踩坑经历都理顺。这样无论是机试、技术面、主管面你都能展现出“这个人能上手干活”。另外特别提醒一下2025年这个节点大模型方向的热度还在持续走高华为昇腾生态也在快速扩张很多部门在AI软件岗的招聘需求非常大。你要是对昇腾、MindSpore、ModelArts这些华为自研技术栈有实际经验绝对是加分项。如果还没接触过至少去华为云官网上跑一个MindSpore的入门教程或者用ModelArts做一次模型训练/部署把流程走一遍。面试时能说出“我用过ModelArts训练过一个模型并部署上线”比单纯说“我了解华为云”强太多。最后一个小技巧面试结束前面试官通常会问“你有什么问题要问我”别浪费这个机会。问“目前团队在AI方向的主要业务是什么”“团队在昇腾上的技术栈是怎样的”“这个岗位入职后三个月内最重要的目标是什么”会显得你很专业、很想加入。别问“加班多不多”“有没有加班费”这类问题放到HR面再问不迟。祝你能顺利拿到心仪的Offer。
返回列表