Appearance
10 — 面试准备
这章怎么用
建议按三轮刷:
第一轮:建立主线 先看 能力图谱/05-人工智能开发工程师能力图谱.md,知道 AI 开发工程师面试到底在考什么。
第二轮:逐题训练 刷 题库 里的详细问答。每个问题都不要只背答案,要能按“回答脉络 -> 参考答案 -> 常见追问 -> 扣分点”讲出来。
第三轮:系统设计 看 系统设计 里的场景题,练“先问清边界,再画最小架构,再讲数据流、失败模式、成本、安全和评估”。
第四轮:题型专项 看 题型分类 里的概念辨析、场景判断、连环追问、方案取舍、开放问答和踩坑排查。真实面试更接近这些题型,而不是按章节顺序问。
一道题的三档回答法
同一道题不要只准备一个固定长度的答案。面试官可能只给你 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、工具调用、评估安全”四条主线,再补模型工程和具体框架。
第二遍:闭卷口述
随机抽题,先关掉文档,用录音或计时器回答。每题至少回答:
- 一句话结论。
- 它在系统中的位置。
- 最小实现方式。
- 一个常见失败。
- 一个评估或观测指标。
回答后再打开文档,对照自己漏掉的是定义、边界、工程细节还是验证方法。不要只把漏掉的句子抄下来,要把它改写成自己的话重新说一遍。
第三遍:模拟追问
从“题型分类/连环追问题”里随机选一条链,要求自己连续回答 5-8 个问题。每个回答结束后主动补一句可能的追问,例如:
text
我会用混合检索提高召回。
-> 为什么不是纯向量?
-> 召回到了但答案仍错怎么办?
-> 权限过滤放在哪?
-> 成本和延迟如何控制?
-> 文档更新后如何回滚?真正面试时,面试官往往不是在考下一道新题,而是在判断你能不能把一个设计继续往下落。
第四遍:限时系统设计
给自己 20-30 分钟完成一道系统设计题:前 3 分钟澄清约束,接着画最小架构和数据流,最后补失败、安全、成本、指标和回滚。练习结束必须留下三样东西:
- 一张能解释模块关系的数据流图。
- 一份关键状态和接口字段清单。
- 一组上线前后的指标与门禁。
如果一张图里只有模型、向量库和 Agent 三个框,说明还没有进入系统设计层;至少要能指出身份权限、工具执行、状态持久化、队列/超时、trace 和人工接管的位置。
自评分数表
每道重点题可以按 0-2 分打分,连续两次达到 10 分以上,才算真正掌握:
| 维度 | 0 分 | 1 分 | 2 分 |
|---|---|---|---|
| 结论与定义 | 说不清 | 能说定义 | 能说定义和边界 |
| 原理与链路 | 只背术语 | 能描述主流程 | 能解释因果和系统位置 |
| 工程落地 | 没有实现思路 | 能列模块 | 能落到接口、状态和数据 |
| 失败处理 | 没想过 | 能说一个异常 | 能分层处理并说明恢复 |
| 评估观测 | 只说人工看 | 有一两个指标 | 有离线、在线、trace 和回归 |
| 成本安全 | 完全忽略 | 能提到风险 | 能说预算、权限、审计和取舍 |
总分不是为了追求形式上的满分,而是帮助你区分“会背答案”和“能在新场景里迁移”。当你只能拿到 4-6 分时,优先回到题库的详细题,而不是继续刷更多新题。
面试前最后检查
最后一周不要再无边界扩充知识点,按下面的顺序收口:
- 选 10 道最常见题,练到 30 秒回答稳定。
- 选 5 道核心题,练到能经受 5 层追问。
- 选 3 道系统设计题,分别覆盖 RAG、工具/客服、多 Agent 或平台。
- 复习自己的错误样本、成本计算和安全边界。
- 用同一套版本信息、指标和故障案例回答不同题目,保证叙述前后一致。
面试准备的终点不是“所有题都背过”,而是遇到没见过的业务,也能从目标、约束、数据、权限、控制流和指标推导出一个合理方案。
目录
| 分类 | 文件 | 重点 |
|---|---|---|
| 能力图谱 | 人工智能开发工程师能力图谱 | 判断自己哪些会讲、会做、能排障 |
| 题库 | 大模型基础 | 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 生成、权限、指标口径、审计 |
| 系统设计 | 办公自动化智能体 | 邮件、日程、草稿、确认和隐私 |
每道题应该答到什么程度
不要只答“是什么”,至少答到五层:
- 定义:这个概念解决什么问题。
- 链路:它在系统里哪一步发挥作用。
- 取舍:它带来什么成本和风险。
- 失败模式:什么情况下会坏。
- 验证方式:怎么用指标、日志或 eval 证明它有效。
例如面试官问“RAG 是什么”,不够好的回答是:
text
RAG 就是先检索再生成。更好的回答是:
text
RAG 是把外部知识接进生成过程的一套链路。
我会把它拆成入库和查询两条链:入库做清洗、切分、embedding、metadata;
查询做 query 改写、检索、rerank、证据裁剪和带来源生成。
它能降低知识过时和幻觉风险,但召回差、证据冲突、权限过滤和引用准确率都要评估。系统设计题答题框架
系统设计题固定按这个顺序讲:
- 澄清问题:用户、数据、权限、时效、成本、输出要求。
- 最小闭环:先做能跑的版本,不一上来画大平台。
- 模块拆分:模型、工具、检索、状态、队列、存储、审计。
- 数据流:输入如何一步步变成输出。
- 关键取舍:质量、成本、延迟、安全、可维护性。
- 失败模式:召回差、工具错、上下文脏、权限漏、成本爆。
- 评估指标:成功率、正确率、引用准确率、P95 延迟、缓存命中率。
练习顺序
建议每天按这个节奏练:
- 先选 1 篇题库,口头回答 5 个问题。
- 每个问题都强制补一个追问。
- 再选 1 道系统设计题,画最小架构。
- 再选 1 个题型分类专项,练概念辨析或方案取舍。
- 最后把答案压缩成 30 秒版本。
如果你回答时只能说概念,回前面章节补原理;如果能说原理但讲不出代码、日志、成本和评估,就回 09 章项目补实践。