Skip to content

10 — 面试准备

这章怎么用

建议按三轮刷:

  1. 第一轮:建立主线 先看 能力图谱/05-人工智能开发工程师能力图谱.md,知道 AI 开发工程师面试到底在考什么。

  2. 第二轮:逐题训练题库 里的详细问答。每个问题都不要只背答案,要能按“回答脉络 -> 参考答案 -> 常见追问 -> 扣分点”讲出来。

  3. 第三轮:系统设计系统设计 里的场景题,练“先问清边界,再画最小架构,再讲数据流、失败模式、成本、安全和评估”。

  4. 第四轮:题型专项题型分类 里的概念辨析、场景判断、连环追问、方案取舍、开放问答和踩坑排查。真实面试更接近这些题型,而不是按章节顺序问。

一道题的三档回答法

同一道题不要只准备一个固定长度的答案。面试官可能只给你 30 秒,也可能沿着一个点追问 10 分钟。建议把每道高频题都练成三档:

时长回答内容目标
30 秒结论 + 核心原因 + 一个边界先让面试官知道你抓住了重点
2 分钟定义 + 工作链路 + 工程实现 + 取舍证明不是只背过名词
8 分钟方案、数据流、失败模式、指标、成本、安全、追问能够支撑一个小型设计讨论

例如回答“为什么要做 RAG”,30 秒可以说“RAG 把外部知识在回答前检索进上下文,适合知识更新快、需要引用的场景,但它不能替代权限控制和事实校验”;2 分钟要继续讲入库、查询、重排、引用和无答案;8 分钟则要画出离线与在线链路,说明权限过滤、增量更新、评估和成本。

每道题的答题骨架

看到陌生题时,可以先在脑中套下面这条链,不必急着报框架名:

text
先给结论
-> 解释它解决的问题
-> 说明在系统哪一层生效
-> 给出最小实现
-> 说一个失败模式
-> 说明怎么评估和观测
-> 补成本、安全和替代方案

如果是方案题,再加一句“我会先看哪些约束”。常见约束包括数据是否实时、是否需要引用、是否有写操作、用户权限是否复杂、P95 延迟和单次预算是多少。先问清约束,往往比直接回答“我会用 LangGraph + 向量数据库”更加分。

面试官的评分维度

维度合格表现高分表现
概念准确能说清定义和边界能指出容易混淆的概念以及错用后果
工程落地能描述模块和数据流能说清接口、状态、超时、重试、幂等和恢复
质量意识会提准确率或成功率能拆分离线指标、在线指标和人工反馈
可靠性会提异常处理能区分可重试错误、不可重试错误和需要人工接管的错误
安全意识会提 prompt injection能把权限、审批、沙箱、脱敏和审计放到正确的边界
成本意识知道 token 会计费能拆 input、cached input、output、工具、检索和重试成本
取舍能力能说“视情况而定”能明确条件、推荐方案和什么时候切换方案

反问与澄清清单

系统设计和开放题开始时,可以从下面几类问题里选最影响方案的 2-4 个,不要机械地全部问一遍:

  • 用户与任务:谁使用?一次任务的成功标准是什么?输出是建议、草稿还是直接执行?
  • 数据与时效:数据来自哪里?多久更新?是否要求引用和可追溯?
  • 权限与风险:是否多租户?能否读取敏感资料?是否有写操作、付款、发信或删除?
  • 规模与体验:QPS、并发、输入长度、P95 延迟、可接受失败率是多少?
  • 运营与治理:谁维护 prompt、工具和知识库?是否需要灰度、回滚、人工审核和成本预算?

面试中不需要为了显得全面而问几十个问题。优先问那些会改变架构选择的问题,并在得到假设后明确说“下面按这个约束设计”。

一套可执行的刷题流程

第一遍:建立地图

先快速浏览题库的标题和小节,不要求一次记住答案。用能力图谱标出三类题:

  • 熟悉题:能直接说出结论和一个工程例子。
  • 半熟题:知道名词,但说不清取舍、失败或指标。
  • 陌生题:没有形成概念,或者无法判断应该用什么方案。

第一遍的目标是找到短板,不是把每篇文章从头背到尾。通常先补“智能体核心、RAG、工具调用、评估安全”四条主线,再补模型工程和具体框架。

第二遍:闭卷口述

随机抽题,先关掉文档,用录音或计时器回答。每题至少回答:

  1. 一句话结论。
  2. 它在系统中的位置。
  3. 最小实现方式。
  4. 一个常见失败。
  5. 一个评估或观测指标。

回答后再打开文档,对照自己漏掉的是定义、边界、工程细节还是验证方法。不要只把漏掉的句子抄下来,要把它改写成自己的话重新说一遍。

第三遍:模拟追问

从“题型分类/连环追问题”里随机选一条链,要求自己连续回答 5-8 个问题。每个回答结束后主动补一句可能的追问,例如:

text
我会用混合检索提高召回。
-> 为什么不是纯向量?
-> 召回到了但答案仍错怎么办?
-> 权限过滤放在哪?
-> 成本和延迟如何控制?
-> 文档更新后如何回滚?

真正面试时,面试官往往不是在考下一道新题,而是在判断你能不能把一个设计继续往下落。

第四遍:限时系统设计

给自己 20-30 分钟完成一道系统设计题:前 3 分钟澄清约束,接着画最小架构和数据流,最后补失败、安全、成本、指标和回滚。练习结束必须留下三样东西:

  • 一张能解释模块关系的数据流图。
  • 一份关键状态和接口字段清单。
  • 一组上线前后的指标与门禁。

如果一张图里只有模型、向量库和 Agent 三个框,说明还没有进入系统设计层;至少要能指出身份权限、工具执行、状态持久化、队列/超时、trace 和人工接管的位置。

自评分数表

每道重点题可以按 0-2 分打分,连续两次达到 10 分以上,才算真正掌握:

维度0 分1 分2 分
结论与定义说不清能说定义能说定义和边界
原理与链路只背术语能描述主流程能解释因果和系统位置
工程落地没有实现思路能列模块能落到接口、状态和数据
失败处理没想过能说一个异常能分层处理并说明恢复
评估观测只说人工看有一两个指标有离线、在线、trace 和回归
成本安全完全忽略能提到风险能说预算、权限、审计和取舍

总分不是为了追求形式上的满分,而是帮助你区分“会背答案”和“能在新场景里迁移”。当你只能拿到 4-6 分时,优先回到题库的详细题,而不是继续刷更多新题。

面试前最后检查

最后一周不要再无边界扩充知识点,按下面的顺序收口:

  1. 选 10 道最常见题,练到 30 秒回答稳定。
  2. 选 5 道核心题,练到能经受 5 层追问。
  3. 选 3 道系统设计题,分别覆盖 RAG、工具/客服、多 Agent 或平台。
  4. 复习自己的错误样本、成本计算和安全边界。
  5. 用同一套版本信息、指标和故障案例回答不同题目,保证叙述前后一致。

面试准备的终点不是“所有题都背过”,而是遇到没见过的业务,也能从目标、约束、数据、权限、控制流和指标推导出一个合理方案。

目录

分类文件重点
能力图谱人工智能开发工程师能力图谱判断自己哪些会讲、会做、能排障
题库大模型基础token、上下文、采样、embedding、聚类、缓存
题库大模型工程Transformer、注意力、对齐、量化、部署
题库提示词与工具调用prompt 结构、工具 schema、参数校验、tool loop 错误处理
题库智能体核心ReAct、规划、记忆、状态、终止条件
题库检索增强生成chunk、召回、rerank、引用、向量数据库、权限
题库多智能体与框架协作模式、交接、冲突、同文件编辑、框架选型
题库评估安全与可观测性eval、trace、成本计算、token 缓存、安全
题库Agent 运行时与长任务异步任务、状态机、队列、恢复、幂等和副作用
题库RAG 数据工程与企业知识库文档治理、权限、增量索引、引用和企业知识库
题库工具安全与企业应用工具风险、授权、确认、沙箱、SSRF 和审计
题库评估与质量闭环评估分层、统计实验、质量门禁、反馈和回滚
题型分类概念辨析题相似概念的边界和工程影响
题型分类场景判断题判断该不该用 LLM / RAG / Agent / 多 Agent
题型分类连环追问题从一个概念连续追到实现、失败、成本和安全
题型分类方案取舍题架构选择、成本质量延迟权衡
题型分类开放问答题没有标准题面时组织方案
题型分类踩坑排查题按层定位 Agent / RAG / 工具问题
系统设计企业知识库问答RAG 经典系统题
系统设计客服智能体工具、权限、确认、转人工
系统设计自动调研智能体搜索、证据、冲突、复核
系统设计代码审查智能体diff、上下文、误报、自动补丁
系统设计多智能体内容生产分工、状态、冲突、发布控制
系统设计LLM 网关与模型路由多模型接入、限流、预算、降级
系统设计通用智能体平台Agent 配置、工具注册、版本、评估
系统设计数据分析智能体SQL 生成、权限、指标口径、审计
系统设计办公自动化智能体邮件、日程、草稿、确认和隐私

每道题应该答到什么程度

不要只答“是什么”,至少答到五层:

  1. 定义:这个概念解决什么问题。
  2. 链路:它在系统里哪一步发挥作用。
  3. 取舍:它带来什么成本和风险。
  4. 失败模式:什么情况下会坏。
  5. 验证方式:怎么用指标、日志或 eval 证明它有效。

例如面试官问“RAG 是什么”,不够好的回答是:

text
RAG 就是先检索再生成。

更好的回答是:

text
RAG 是把外部知识接进生成过程的一套链路。
我会把它拆成入库和查询两条链:入库做清洗、切分、embedding、metadata;
查询做 query 改写、检索、rerank、证据裁剪和带来源生成。
它能降低知识过时和幻觉风险,但召回差、证据冲突、权限过滤和引用准确率都要评估。

系统设计题答题框架

系统设计题固定按这个顺序讲:

  1. 澄清问题:用户、数据、权限、时效、成本、输出要求。
  2. 最小闭环:先做能跑的版本,不一上来画大平台。
  3. 模块拆分:模型、工具、检索、状态、队列、存储、审计。
  4. 数据流:输入如何一步步变成输出。
  5. 关键取舍:质量、成本、延迟、安全、可维护性。
  6. 失败模式:召回差、工具错、上下文脏、权限漏、成本爆。
  7. 评估指标:成功率、正确率、引用准确率、P95 延迟、缓存命中率。

练习顺序

建议每天按这个节奏练:

  • 先选 1 篇题库,口头回答 5 个问题。
  • 每个问题都强制补一个追问。
  • 再选 1 道系统设计题,画最小架构。
  • 再选 1 个题型分类专项,练概念辨析或方案取舍。
  • 最后把答案压缩成 30 秒版本。

如果你回答时只能说概念,回前面章节补原理;如果能说原理但讲不出代码、日志、成本和评估,就回 09 章项目补实践。

持续学习,持续实践。