AI 时代的技术面试——考什么、怎么准备
AI 时代的技术面试——考什么、怎么准备
适读人群:正在找 AI 工程岗位的工程师、技术 Leader 面试官 | 阅读时长:约13分钟 | 核心价值:从招聘方和求职方两个视角写,讲清楚 2025 年 AI 岗位面试真实变化了什么
去年下半年我面试了七八个候选人,是以面试官的身份。今年年初我自己也经历了一轮跳槽,是以候选人的身份。
两个角色都坐过,感受差别很大。
以面试官的身份,我越来越清楚地知道自己想找什么样的人,也越来越明白很多候选人准备方向跑偏了。以候选人的身份,我发现自己有些东西准备过度了,有些东西根本没想到会被问。
今天把这两个视角都写出来,对即将要经历 AI 工程岗面试的人可能有用。
面试官视角:我现在最看重什么
先说我不看重什么,这个更重要:我不再把"能背出 LLM 原理"列为核心考察点了。
两年前这行刚火起来,候选人张口就能背 Transformer 的 Self-Attention 公式,我会觉得有一定加分。现在不了——大家都背过,背得出来的不代表真的用过,背不出来的可能反而是真正一直在写代码的人。
我现在最看重的第一件事:有没有做过完整的 AI 应用。
"完整"的定义很具体:从需求分析、技术选型,到上线,到上线后遇到问题怎么处理,到当前系统有什么局限、怎么优化。这个闭环能讲清楚,比任何理论知识都值钱。
我会问的问题是:你做过的 AI 项目里,遇到的最难的一个工程问题是什么,怎么解决的?
这个问题没有标准答案,我在看的是:候选人描述问题的具体程度("检索效果不好"和"BM25 对中文分词后的 Token 匹配准确率低,换成混合检索后准确率提升了 23%"——这是完全不同的水平)、解决问题的思路是否系统(有没有先分析根本原因,而不是瞎猜着改)、对结果的量化程度(有没有用数据说话)。
我现在最看重的第二件事:工程判断力。
具体问法:给你一个场景(比如:企业内部知识库问答,10 万条文档,需要回答中文问题),你会怎么设计技术方案?用什么模型,用什么检索方案,怎么评估效果?
我在看的不是答案"对不对",而是候选人有没有主动问约束条件(用户量是多少、延迟要求是多少、预算多少、数据能不能出境)、有没有说清楚选择背后的理由(为什么选这个模型而不是那个)、有没有主动提风险和局限性(这个方案的问题是什么、什么情况下会失败)。
一个成熟的工程师,不会在信息不完整的情况下直接给答案,而是先问清楚约束再给方案。
我现在最看重的第三件事:对 AI 能力边界的清醒认识。
我会问:你觉得 AI 目前在哪些方面做不好?
这个问题很容易暴露候选人是不是只会给 AI 唱赞歌。答得好的候选人,会从实际工程经验里举例:LLM 在长对话后的指令遵循会退化、幻觉在特定领域很难完全消除、多步骤 Agent 的错误累积问题——这些是在真实系统里磨出来的认知,不是背资料能背出来的。
候选人视角:我准备了但没用到的、没准备但被考了的
作为候选人,我这轮跳槽面了三家,最终拿到两个 Offer。复盘一下准备效率。
准备了但基本没用到:
背了很多 LLM 的底层原理(KV Cache 机制、注意力机制变体、不同位置编码方案的区别)——这轮面试只有一家的一轮问到了一个相关问题,而且是用来判断基础理解,不是考细节。
刷了很多 LeetCode 算法题——我面的三家都没有在 AI 工程岗上做硬核算法题,主要是工程设计和经验问题。如果面的是纯算法岗,另说,但 AI 应用工程这类岗位,LeetCode 的优先级我觉得不用太高。
没充分准备但被考到、让我有点磕绊:
评估框架。 被问到:你如何评估一个 RAG 系统的质量改进?这个问题我有经验,但当时回答得不够系统。事后复盘,这个应该准备一套完整的评估框架:离线评估(固定测试集,量化 Recall、Precision、答案质量打分)+ 在线评估(A/B 测试、用户反馈、拒识率监控)。
成本意识。 被问到:你们系统每月的 AI 相关成本大概是多少量级,怎么控制的?这个问题让我意识到,面试官是很在意工程师有没有成本意识的。不是要你精确报数字,而是看你有没有把成本当成一个真实的工程约束来考虑过。
Prompt Engineering 的方法论。 被问到:你写 Prompt 有什么方法论,有没有系统化的调优过程?这个不是"给我看个例子",而是问你有没有形成方法——比如:先明确任务定义,再设计 few-shot 示例,再做边界情况测试,再建测试集做回归。有方法论和没方法论的候选人,差距在这里体现。
2025 年 AI 工程岗面试的几个新坑
说几个我观察到的新坑,有些是新出现的,有些是老坑但被低估了。
坑一:过度包装 Demo 经验。 很多候选人把 Demo 项目包装成"生产项目",但在面试官追问下很快露馅——不知道 QPS 是多少,不知道有没有监控,不知道上线后遇到了什么实际问题。面试官,尤其是做过 AI 工程的面试官,很快能分辨。老实说清楚"这是 Demo 项目,没有上过生产,但我从中学到了 XX",比包装更让人信任。
坑二:不了解自己简历上写的工具。 简历上写了"使用 LangChain 构建 RAG 系统",被问到"LangChain 的 LCEL(LangChain Expression Language)和旧版 Chain 有什么区别,你用的是哪个版本",答不上来。简历上写什么,就要能聊深一点。
坑三:答系统设计题时忽略非功能需求。 很多候选人设计 AI 系统只考虑功能:怎么让它回答得准确。但面试官通常还在考察:怎么保证延迟、怎么做高可用、怎么监控异常、怎么做 A/B 测试。这些是软件工程基本素养,不会因为做了 AI 就可以忽视。
坑四:不知道怎么回答"你和 AI 工具怎么协作"。 这个问题越来越常见,面试官想知道你是不是真的会用 AI 工具来提升开发效率,还是说没用过、或者用法很浅。真实回答(用 Cursor 写代码、用 Claude Code 做 Code Review、用 AI 辅助写测试用例)比模糊回答("用 ChatGPT 查资料")有说服力。
实际的准备建议
总结成几条可操作的建议:
能讲清楚一个真实的 AI 工程项目,这是最重要的准备。 项目不需要多大,但要能讲清楚:需求是什么、技术方案是什么(及为什么这么选)、遇到了什么问题、怎么解决的、现在有什么局限。把这个讲清楚,比背一百个知识点有用。
准备一套 AI 系统评估的话语体系。 离线评估怎么做、在线监控看什么指标、A/B 测试怎么设计——这套东西对应聘中高级岗位的候选人几乎是必考的。
把成本意识和性能意识练成本能。 聊任何方案时,主动提"这个方案的 token 成本大概是多少量级"、"这里有个延迟 trade-off"——这种习惯会让你在候选人里显得成熟。
了解但不必精通底层原理。 Transformer 大概怎么工作、为什么有 Hallucination、RAG 检索为什么用向量——知道个七八成就够,能跟面试官正常聊,不需要能推导完整的数学公式。
最后,AI 工程这个方向变化太快,比其他方向更需要"用真实项目说话"。没有做过 AI 项目就在找 AI 工程岗?先做一个。哪怕是自己搭一个 RAG 系统、跑通一个 Agent 原型,实际动手的人和只看了文章的人,在面试中的区别是显而易见的。
