华为AI岗秋招面试全攻略:从笔试到主管面的实战复盘

发布时间:2026/9/1 7:00:53
华为AI岗秋招面试全攻略:从笔试到主管面的实战复盘 1. 投递前我做了什么岗位选择与笔试准备1.1 岗位到底投哪个算法、开发还是大模型方向先说结论华为秋招的AI岗官方系统里的名字往往写的是“AI工程师”或“算法工程师”但实际面试时不同部门、不同业务线的考察重点天差地别。有的偏AI平台开发有的偏算法模型训练有的偏推理优化和部署还有的偏数据挖掘。如果你在8月底才投简历最好提前想清楚自己要去哪条线因为面试官手里的题目池完全不一样。我这次是8月27号面试属于提前批和正式批之间的批次时间不算早也不算晚。8月这个节点有个特殊性很多部门的第一轮面试官已经面过几批人了手里攒了不少高频题问法会更刁钻也更喜欢追问细节。所以如果你约到了这个时间段的面试千万不要只看面经里的简单题一定要把每个考点往深里挖一层。投递策略上我建议按“算法模型”和“工程部署”两条线分别准备简历。同一个项目给模型岗看的时候重点讲loss设计、数据清洗、指标提升给工程岗看的时候重点讲推理加速、显存优化、服务化部署。华为很多部门是模型和工程一起面试但你主动讲出来的侧重点会影响面试官追问的方向。1.2 机试与笔试的准备节奏华为的流程一般是投简历 → 机试 → 性格测试 → 面试技术一面、技术二面、主管面→ offer审批。机试是在面试之前的一道硬门槛三道题120分钟分数在100分左右及格但不同部门要求不一样有的部门甚至要求150分以上才给面试机会。机试的题目风格非常固定基本是LeetCode上的中等题为主偶尔掺一道偏简单的困难题。三道题通常是一个字符串/模拟题、一个搜索/动态规划题、一个偏工程场景的题目比如任务调度、日志分析、资源分配。我当时是按照华为机试的真题去刷的没有刷LeetCode的付费题库。这里有个经验华为机试的输入输出读写格式和牛客一样需要用while (cin n)或readline()的方式处理很多人笔试挂掉不是因为算法不会而是因为输入输出解析写错了白白丢分。准备机试的时间我个人建议是至少两周每天保持两三道题的节奏。重点练三类模拟题尤其是大数字、日期计算、进制转换、动态规划背包、最长递增子序列、编辑距离、图论最短路径、拓扑排序、并查集。这三类是华为机试的钉子户几乎每次都能碰到。1.3 简历怎么写才能让面试官有兴趣追问简历是面试的剧本。面试官的问题90%是从简历里挑出来的。我见过太多人把项目经验写得像日报四五行字说“做了个推荐系统提升了点击率”这种简历面试官根本不知道怎么问只能随手问几个八股题然后根据印象打分你能展现的优势就少了一大半。我的建议是项目描述采用“背景-难点-方案-量化结果”四段式每一条都要写出技术选型的理由。举个例子“使用BERT做文本分类”这种描述等于没说要写成“面对短文本噪声大、标注数据不足的问题采用预训练模型领域数据微调方案通过对比实验选用RoBERTa-wwm-ext在1000条标注样本下F1从82.3提升到89.6”。面试官看到这种描述第一反应是“这人确实做过事”第二反应是顺着F1、数据增强、模型选型这些点往下问你就有机会展示自己的思考深度。另外一个很实用的小技巧简历里的技术栈关键词一定要和你投递部门的方向对齐。如果部门做的是大模型推理优化你就在简历里突出TensorRT、ONNX、量化、vLLM这些词如果部门做的是搜索推荐就突出Embedding、双塔模型、粗排精排。关键词匹配度高进面试的概率会明显提升。2. 面试全流程复盘从一面到主管面的考察重点2.1 一面基础八股与项目深挖华为的技术一面通常是一个资深工程师或者技术骨干来面时长在40分钟到1小时之间。一面的流程一般是自我介绍 → 项目深挖 → 基础知识问答 → 手撕代码有的部门放在二面。自我介绍控制在3分钟以内重点讲你最拿手的项目不要从大学入学开始念履历面试官想听的是“你有什么亮点”不是“你学过什么课”。项目深挖环节是我这次面试里耗时最长的部分。面试官会针对简历里的一个项目连续追问十几个问题比如“你用的这个模型为什么选这个结构”“数据是怎么清洗的脏数据比例多高”“你的loss函数为什么这么设计试过其他方案吗”“上线之后效果波动怎么办”这些问题没有标准答案考察的是你有没有真正理解自己做的事情。我的经验是提前把项目里每个决策点都问一遍自己“为什么”准备一个逻辑自洽的解释哪怕这个解释不是最优的也比说“不知道”“没想过”强得多。八股部分AI岗常考的题目集中在机器学习基础、深度学习基础、大模型基础三个方向。机器学习喜欢问过拟合怎么解决、偏差方差分解、正则化为什么有效、SVM的核函数、树模型的剪枝策略。深度学习喜欢问BN的原理和作用、梯度消失和梯度爆炸、常见优化器的区别、CNN的感受野计算、RNN的问题。大模型则是这两年新增的重灾区Transformer结构、注意力机制的计算过程、位置编码有几种、LayerNorm和BatchNorm的区别、LoRA的原理和参数设置。这些题目说难不难但如果不系统过一遍很容易在细节上卡壳。2.2 二面手撕代码与系统设计二面通常是部门的技术主管或高级专家侧重考察代码能力和系统设计思维。手撕代码的题目难度比机试稍高但不会超过LeetCode中等题的上限。我这次遇到的是“给定一个数组找出最长的连续递增子序列”的变体属于典型的滑动窗口/双指针题目。手撕代码环节有几个非常重要的细节。第一写代码之前先把思路说清楚包括时间复杂度和空间复杂度怎么算第二写完之后一定要自己跑一个测试用例不要写完就交第三面试官问“有没有更好的解法”时不要急着摇头先想想能不能用双指针、二分、前缀和、单调栈这些常见优化手段。我见过不少人卡在第三点上其实面试官不是非要你写出最优解而是想看看你在提示下能不能往前走一步。系统设计题是算法岗面试里越来越常见的环节尤其是在大模型和推理平台相关的岗位。常见的有“设计一个RAG问答系统”“设计一个模型推理服务要求支持高并发和动态扩容”“设计一个特征平台”。这类题没有标准答案但考察的点是固定的你有没有全局架构意识能不能从数据流、存储、计算、服务化、监控这几个维度展开。回答时先用一句话给出整体架构再逐步拆分模块最后讲一下瓶颈在哪里、怎么优化。我在面试中按照这个套路回答面试官反馈比较认可。2.3 主管面综合素质与反问主管面是最后一轮技术面试时间一般30分钟左右。主管面的特点是不再深抠细节而是考察你的综合素质项目里的角色定位、团队协作能力、遇到冲突怎么处理、为什么选择华为、未来的职业规划。这些问题看似简单但回答不好很容易翻车。我的建议是主管面要表现出三个特质靠谱、抗压、有自驱力。靠谱体现在项目描述里要说清楚自己承担了哪部分工作不要把所有功劳都往自己身上揽这样反而显得不真实。抗压体现在讲困难时不要只说“遇到了困难”要强调“我通过什么方式解决了困难”。自驱力可以用工作之外的学习来体现比如“我最近在看vLLM的源码对PagedAttention的实现比较感兴趣”。这一面不用刻意背诵答案但一定要逻辑清晰让主管感觉到你是一个能干活、好沟通的人。反问环节不要问“这个岗位加班多不多”这类问题会显得格局太小。更好的问法是“目前部门在大模型落地方面主要聚焦在哪些业务场景”“新人入职后一般会参与哪个方向的项目”这类问题既表现出你对岗位的兴趣也能帮你判断这个部门是否适合自己。3. 高频考点与解题思路拆解3.1 大模型必考题Transformer、微调、量化与部署大模型是这两年AI岗面试绝对的核心知识点。不管你的简历里有没有写过大模型项目面试官都会默认你应该懂。我梳理了三个最常被问到的方向。第一个是Transformer的机制。面试官喜欢从一个看似简单的问题切入“self-attention为什么除以根号d”这个问题考的是你对缩放因子的理解。答案是当输入的维度d较大时点积的结果会变得很大导致softmax函数进入饱和区域梯度非常小。除以根号d可以将点积的方差控制在一个合理的范围内让softmax的输出更平滑梯度更稳定。类似的追问还有“多头注意力为什么需要多头”“为什么Transformer要用LayerNorm而不是BatchNorm”这些基础问题一知半解的话面试官很容易判断你只是背了面经。第二个是高效微调。LoRA现在几乎是必问项。面试官会问LoRA的原理是什么和全参数微调相比有什么优势rank值怎么选你要能说清楚LoRA通过冻结预训练权重在每层注入一个低秩矩阵训练时只更新这个低秩矩阵从而大幅减少可训练参数量。实际使用中rank一般选4、8、16rank越小越省显存但表达能力受限rank越大微调效果越好但显存占用随之上升。如果面试官进一步问“QLoRA和LoRA的区别”你还要能说出QLoRA通过4-bit量化加载模型同时用分页优化器和双重量化来减少显存占用。第三个是推理优化与部署。随着AI应用落地这部分在面试中的权重越来越大。常考的问题包括模型量化INT8和FP16的优缺点、量化误差怎么控制、推理加速vLLM的continuous batching原理、KV Cache是什么、PagedAttention解决了什么问题、服务化部署如何提高吞吐、如何处理长文本请求。如果你投的是偏工程方向的AI岗这部分的深度会直接决定面试评价。我的建议是至少把一个推理优化框架vLLM或Triton的原理弄清楚能画流程图能讲明白一个完整的请求从进入到返回的全过程。3.2 Agent、RAG与提示词工程新场景新考点2025年的AI岗面试几乎绕不开Agent和RAG这两个概念。先说RAG也就是检索增强生成。面试官常见的问法有RAG的完整流程是什么、为什么需要RAG、如何解决检索质量不高的问题、如何评估RAG系统的效果。这些问题本质上是在考察你有没有做过一个完整的RAG项目。我的回答思路是RAG先通过Embedding模型把文档切块并向量化用户查询时先召回相关片段再把片段和问题拼接成提示词给大模型生成答案。检索质量低的时候可以优化切块策略按段落切而不是按固定长度切、引入重排序模型、用HyDE假设性文档嵌入来缩小查询和文档之间的语义差距。Agent相关的问题更加开放比如“如果你要设计一个AI客服Agent你会怎么做”“Agent中如何让大模型调用工具”“多Agent协作时如何分配任务”。这类问题没有标准答案但你要展示出对Agent主流范式的理解模型规划、工具调用、记忆管理、环境交互。我在面试中被问到过“如何防止Agent陷入循环”我的回答是设置最大迭代次数、引入反思机制让模型对上一次的输出进行自我评估、在工具调用失败时增加兜底回复。面试官对这个回答比较感兴趣追问我“有没有看过AutoGPT或MetaGPT的实现”说明这类开源项目值得提前研究。提示词工程方面面试官不会单独出一整道题来考但会在项目深挖时频繁涉及。要能说清楚思维链提示词为什么有效通过引导模型生成中间推理步骤降低任务难度、什么是few-shot学习的样例选择策略选择语义相近、分布多样的样例效果最好。如果面试官问你“提示词写得很好的时候还需要微调吗”你要能分析出提示词适合快速验证场景但效果有上限微调能将特定领域的知识固化到模型参数里适合对效果和延迟都有严格要求的场景。两者不是替代关系而是根据资源、时间、效果要求来选择。3.3 手撕算法高频题型与现场发挥策略手撕代码是面试中淘汰率最高的环节不是因为题目难而是因为很多人在高压环境下发挥失常。根据我自己的经验和身边同学的反馈华为AI岗手撕题目集中在以下几类数组和字符串双指针、滑动窗口、哈希表、链表反转、合并、环形检测、二叉树遍历、最近公共祖先、路径和、动态规划背包、子序列、编辑距离、排序和二分查找。这些题目在LeetCode上都有非常经典的模板建议提前把模板背下来不是背代码而是背思路框架。现场写代码时有几条实用经验。第一先在注释里写出思路相当于给自己打草稿同时让面试官看到你的解题过程。第二先写功能再考虑边界条件不要一上来就纠结异常处理。第三如果发现自己的解法不是最优的不要慌先给出一个能跑的解法然后主动提出优化方向。第四面试官让你用IDE写还是白板写都先问清楚输入输出格式不要自己猜测。我还想特别提醒一个容易被忽视的点复杂度分析一定要准确。很多候选人算法写对了但问他时间复杂度是多少却说错了这种失误非常致命因为面试官会怀疑你对代码的理解程度。每次写完代码自己在心里算一遍最外层循环执行几次每次循环内部做了什么操作空间上额外用了多少存储。4. 避坑指南与心态管理4.1 面试中常见的翻车点我把这次准备过程中踩过坑和听到过的翻车案例整理一下给后面面试的同学提个醒。第一个翻车点是八股背得太熟但不会融会贯通。面试官一旦换一种问法就完全答不上来。比如背了“BN可以解决梯度消失”面试官换个角度问“BN在推理阶段和训练阶段有什么区别”很多人就卡住了。解决办法是背八股的时候每个知识点都要问自己三个问题——原理是什么、解决什么问题、工程上怎么实现。第二个翻车点是项目讲得太快、太笼统。有些同学简历上写了三个项目面试的时候每个项目两分钟讲完面试官根本来不及追问。我的建议是准备一个“主项目”花80%的时间讲讲透每一个细节另外两个项目准备一段30秒的概要面试官问到了再展开。与其三个项目都说不深不如一个项目让人印象深刻。第三个翻车点是过于自信或过于防御。面试官指出问题的时候不要急着反驳也不要立刻投降。正确的反应是“这个角度我之前没想过如果按照您的思路我理解可能是……”。这表示你能接受反馈也有自己的思考。4.2 遇到不会的题怎么办面试中遇到不会的题几乎是必然的关键是处理方式。先说八股题。如果完全不知道可以直接说“这个知识点我了解不多我的理解是……”然后尽量说一些相关的知识表现出诚恳和学习能力。千万不要胡编乱造因为面试官很容易听出来你在编。如果是似懂非懂可以尝试从第一性原理出发推导比如问“什么是KL散度”你不会背公式但知道它用来衡量两个分布的差异就可以从这个角度展开再承认自己对公式细节记得不牢。再说算法题。如果看到题目完全没有思路先不要愣着可以开口说“我先想一个暴力解法。”暴力解法虽然复杂度高但至少证明你能写出可运行的代码。写出暴力解之后面试官往往会引导你优化这时候再根据提示用哈希表、双指针、动态规划等思路来改。在实际面试现场能用暴力解加上主动优化通常会比卡在那里10分钟不说话要好得多。4.3 秋招节奏与多线作战建议华为的面试流程虽然相对标准但秋招期间同期还有其他公司也在面试多线作战的压力非常大。我的建议是列一个表格把每家公司按照“投递时间、笔试时间、面试时间、当前状态”管理起来每天花10分钟更新一下避免错过时间节点。同时每场面试之后趁热乎记录下面试问题当天晚上复盘。这次8月27号的面试我就是当天结束后立刻把问题整理出来复盘时发现自己有个项目里的细节讲得不清楚后续面试之前就专门做了补充。心态管理也是一个容易被忽视的环节。秋招是一场持久战收到面试通知之前的等待最折磨人。我的做法是每天固定给自己安排几件事刷题、背八股、改简历、整理面经保持忙碌感不要盯着邮箱发呆。面试前一天的晚上不要再看新知识把已经整理好的笔记翻一遍早点休息。面试当天提前20分钟进入在线会议或到达现场调试好设备准备好纸笔。5. 华为AI岗面试的通用经验补充5.1 不同部门的方向差异与应对策略华为的业务线很多AI岗的面试内容高度依赖部门方向。做消费者业务的可能更关注端侧AI、轻量化模型、图像和语音场景做政企和云业务的可能更关注大模型训练、AI平台、RAG和Agent落地做网络和通信的可能更关注时序预测、异常检测、强化学习在资源调度里的应用。所以在拿到面试通知之后一定要先做一件事查这个部门在做什么业务。你可以通过牛客、知乎、微信公众号上的面经找到目标部门近半年的面试题大体判断出节奏和侧重。如果找不到就在面试反问环节大方地问“请问贵部门目前主要的AI业务方向是什么校招生进来会分配到哪个团队”面试官一般都会如实回答这也能帮你判断是否要接这个offer。5.2 工程能力正在成为AI岗的隐形加分项2025年AI岗面试有一个明显趋势纯算法能力已经不够用了工程能力的重要性越来越高。原因很简单大模型时代算法模型的复现门槛降低了很多工作可以直接用开源模型或API完成但把模型落地成稳定可靠的系统反而成了最大的挑战。因此华为这类大厂在面试时越来越看重候选人的工程素养。工程能力在面试中体现在几个方面能不能熟练使用Linux命令能不能写Python的装饰器和生成器知不知道Docker和K8s的基本概念有没有做过模型部署和性能调优。我在简历里写了一个“基于vLLM搭建大模型推理服务”的项目面试官就追问了很细的部署问题包括“QPS和延迟怎么测的”“显存够不够的时候怎么处理”“请求并发高了之后有哪些瓶颈”。这些问题如果没有实际动手做过是答不出细节的。所以建议在校期间哪怕项目小一点也要亲自动手走一遍训练、评估、部署、测试的完整链路。5.3 关于8月这个时间节点的特别提醒最后说说8月27号这个时间点的特殊性。华为秋招7月和8月上旬基本是提前批8月中下旬到9月是正式批集中面试的高峰期。这个时间节点有两个特点一是面试官手里的名额还没用完但竞争已经很激烈二是不同批次的候选人会被放到同一个池子里排序所以面试表现和手撕代码的完成度直接决定你能不能从池子里被捞出来。如果你也约到了8月中下旬的面试我的建议是不要抱着“试试水、积累经验”的心态去面。提前批之后每一场面试都可能是你最后一次机会一定要拿出最充分的状态。同时这个阶段往年的笔试真题已经流传得比较广了多刷刷近期的面经命中率会比前期高很多。我在这次面试中最大的收获是把心态从“我准备得不够好”切换到“我要把我知道的说清楚”。面试本质上是一场沟通面试官想看到的不是一个全知全能的人而是一个真实、靠谱、有潜力的人。保持谦逊但不要自我贬低遇到不会的题从容地说“这个问题我了解不深我尝试从……角度分析一下”。这样的临场状态往往比背再多题目都管用。