Skip to content

RAG 基础链路专项面试题

目录

1. 使用说明

  • 对应知识主题RAG 基础链路数据准备、切片和版本治理篇
  • 角色:资深面试官从 RAG 定义追问到多租户知识助手,高级技术应聘者负责讲清双链路、权限、版本和故障边界;
  • 回答顺序:先用 1~3 句专业短答,再用生活化解释;不能把 RAG 简化成向量库,也不能声称它消除幻觉;

事实红线| Chunk、overlap、Top-k、阈值和 ANN 参数没有通用固定值,必须由目标语料、标注集、预算和实测确定;

  • 题目数量:7 题,严格覆盖 L1~L7。

阅读图例| L1~L2 概念与边界 · L3~L4 原理与实现 · L5 工程 · L6 架构 · L7 项目复盘

答案层级| 必答结论 · 小白解释 · 加分项 · 高频误区 · 下一问

2. 递进路线

图:RAG 基础链路 L1~L7 递进路线

替代文本: L1 RAG 定义与双链路 → L2 方案边界 → L3 Chunk/Embedding/Top-k 原理 → L4 权限感知实现 → L5 全链路排障 → L6 版本化生产架构 → L7 示例知识助手复盘。

图表加载中…

读图结论: 蓝色阶段建立概念与边界,紫色阶段进入原理与实现,橙色和青色阶段验证工程与架构能力,绿色阶段用项目证据完成复盘。

题链先建立“离线摄取 + 在线查询”的整体视角,再进入检索单元与上下文预算,随后把 ACL、版本、删除和引用落到实现,最后验证能否用证据纪律讲清项目设计。

图:RAG 离线入库与在线问答在版本化索引汇合

替代文本: 离线链路将源文档、ACL 和变更事件解析、切块并向量化,通过质量门禁后发布包含语料、切块、Embedding 和索引版本的不可变清单;在线链路用该清单选择兼容的查询 Embedding 和索引,在权限条件下检索,最终把索引版本与证据 ID 写入 Trace。

图表加载中…

读图结论: 离线与在线不是两套松散脚本;它们以不可变版本清单为契约,只有查询 Embedding、索引、原文和权限元数据对齐到同一发布版本,线上结果才能重放与回滚。

面试时要主动说明两个汇合约束:一是只有门禁通过的不可变索引才能原子切换为 active,二是在线 Trace 必须保留实际读取的版本和证据 ID。否则“文档已更新但仍答旧内容”时,无法区分摄取落后、别名未切换、版本不兼容或缓存陈旧。

3. 一问一答

第 1 题|L1 概念|什么是 RAG,为什么不能把它等同于向量数据库?

核心考察点|RAG 的端到端定义、双链路与能力边界

面试官提问

请用离线和在线两条链路说明 RAG 的完整职责,并给出能力边界。

30 秒专业短答

Retrieval-Augmented Generation(检索增强生成,RAG)是在生成前从外部知识源取回证据,并把问题与证据共同交给模型。离线侧负责解析、切块、Embedding、索引和版本治理,在线侧负责身份解析、检索、授权、上下文组装、生成与引用;向量库只是其中一个检索组件,RAG 也不能保证消除幻觉。

小白解释

它像一次开卷考试:先把书整理成可查目录,考试时再按提问和读者权限翻到相关页,最后组织答案并标出处。目录柜不是整个考试系统,翻到正确页也不代表考生一定不会理解错。

  • 合格线| 离线摄取、在线查询、外部证据、生成与引用;明确 RAG 不等于向量库且不保证正确;
  • 加分项| 区分语料不存在、检索未命中、上下文丢失和生成不忠实;
  • 高频误区| 回答成“Embedding 加向量库”,或承诺用了 RAG 就没有幻觉;
  • 下一问| 链路明确后,继续判断何时应选 RAG,何时应选微调、工具或长上下文。

第 2 题|L2 边界|RAG、微调、长上下文和确定性工具如何选择?

核心考察点|RAG 与相近方案的输入、输出及适用边界

面试官提问

面对动态制度、稳定输出格式、实时订单状态和固定知识集,请分别说明方案选择。

30 秒专业短答

动态私有事实、引用和独立更新适合 RAG;行为风格与特定任务能力可用 Prompt 或微调;权威实时状态、计算和交易应调用数据库或确定性工具;小而稳定的资料可评估长上下文或缓存。它们不是互斥方案,选择取决于事实来源、更新频率、审计、风险、延迟和成本。

小白解释

查最新规章像去档案室找当前版本;训练固定答题格式像教人养成表达习惯;查账户余额则要看银行账本,不能让人凭记忆猜。资料很少时可以整本带进考场,但书多了仍要先检索。

  • 合格线| 动态事实选 RAG,行为能力选 Prompt/微调,实时权威状态选工具;
  • 加分项| 补充引用、权限、更新一致性和无答案拒答要求;
  • 高频误区| 把 RAG 与微调说成互斥,或用模型回答替代确定性交易系统;
  • 下一问| 确定使用 RAG 后,需要解释 Chunk、Embedding、Top-k 和上下文预算为什么彼此耦合。

第 3 题|L3 原理|Chunk、Embedding、Top-k 与上下文预算如何共同影响效果?

核心考察点|检索单元、向量空间、候选深度和 Token 预算的联动

面试官提问

为什么不能给所有系统规定统一 Chunk 大小和 Top-k?

30 秒专业短答

Chunk 太大容易混合主题并占用上下文,太小会丢失条件和跨段关系;Embedding 将查询与 Chunk 映射到兼容向量空间,Top-k 决定候选覆盖与噪声,上下文预算再决定哪些证据真正进入模型。最佳取值依赖文档结构、答案跨度、模型 Token 预算、检索器和标注集,不存在通用固定 Chunk、overlap 或 Top-k。

小白解释

把书剪成卡片时,卡片太大会夹杂很多无关话,太小又把一句条件拆散;找回的卡片太少可能漏答案,太多会把桌面堆满。要用自己的书和问题做实验,不能照抄别人卡片尺寸。

  • 合格线| 讲清过大/过小 Chunk、Top-k 召回/噪声与上下文截断;
  • 加分项| 提到父子块、同源去重、Recall@k 与端到端忠实度联合评测;
  • 高频误区| 给出“通用最优”数字,或认为增大 Top-k 只会提高质量;
  • 下一问| 原理清楚后,要把身份、ACL、原文版本和引用落实到真实查询路径。

第 4 题|L4 实现|如何实现一个权限安全的 RAG 在线查询链路?

核心考察点|可信身份、检索内 ACL、二次授权、上下文与引用

面试官提问

请从可信身份到最终引用说明顺序,解释为什么不能全库 Top-k 后再过滤。

30 秒专业短答

服务端先从认证上下文计算 tenant、用户组、项目和文档 ACL,将条件推入关键词与向量等每一路检索,再对候选二次授权、去重、核对原文版本并按 Token 预算组装上下文。先全库 Top-k 再过滤会让未授权文档挤占候选,且分数、缓存或正文可能越过权限边界;召回后授权是二次防线,不能替代检索前或检索内过滤。

小白解释

图书管理员应先确认你能进哪些书架,再从这些书架找最相关的书;不能先把保密文件拿到桌上,再说最后不给你看。找到书后还要再验一次借阅权限,防止目录或缓存出错。

  • 合格线| ACL 来自可信服务,进入每路召回;候选再授权并核对版本;
  • 加分项| 权限指纹与策略版本进入缓存键,撤权主动失效并覆盖越权回归测试;
  • 高频误区| 从用户 Prompt 读取 tenant/role,或只在生成后隐藏敏感文本;
  • 下一问| 链路能工作后,继续诊断“文档明明存在却查不到”或“查对却答错”。

第 5 题|L5 工程|线上 RAG 突然查不到或答错,如何按证据排障?

核心考察点|从语料到生成的分层观测、止损、修复与防复发

面试官提问

请分别处理“偶发检索为空”和“检索有结果但回答跑偏”,给出可观测信号、排查顺序和闭环方式。

30 秒专业短答

我会固定 request_id、身份和版本,依次检查权威语料、解析/Chunk、索引、查询处理、ACL 前后候选、final_context 和生成。偶发空召回先对比节点、索引别名、缓存、超时与 candidate_count,稳定空召回再查切片粒度、Analyzer、Embedding 相似度和 ANN;回答跑偏先看正确证据是否进入 final_context,没进入查排序与 Token 预算,已进入才查 Prompt 窗口、冲突证据和模型忠实度。修复后重放原请求并把样本与断言加入门禁。

小白解释

快递没到时,先查商家是否发货、仓库是否入库、运输单是否更新、地址是否正确,再查送到家门口后是否拿错;不能一开始就怪最后一位快递员。修好后还要留下这张异常单,防止下次再漏。

  • 合格线| 语料→解析→索引→检索/ACL→上下文→生成的顺序和实际 Trace;
  • 加分项| 区分原始候选、过滤后候选、score/rank、final_context Token、引用版本、截断位置及缓存污染;
  • 高频误区| 直接换大模型、增大 Top-k,或只看服务是否返回 200;
  • 下一问| 单请求能定位后,需要设计支持更新、删除、撤权和回滚的版本化系统。

第 6 题|L6 架构|生产 RAG 如何管理摄取、索引版本、删除和回滚?

核心考察点|不可变版本、原子切换、删除/撤权传播、缓存与回滚

面试官提问

请说明离线构建与在线切换如何避免半新半旧,并覆盖缓存和多租户权限。

30 秒专业短答

我会把 corpus、parser、chunker、embedding、index、retriever 和 prompt/model 绑定为可重放版本;新文档先进入暂存索引,完成完整性、抽样查询和权限测试后原子切换读别名,旧版保留回滚。删除和撤权产生可审计事件,原文、Chunk、索引与缓存共同失效;查询只允许访问兼容向量空间,并在检索与缓存命中后重新授权。

小白解释

更新百科全书时先在备用书架排好整套新版本,检查页码和权限后再一次性换牌子,不能边营业边把新旧页混在一起。撤下一页时,目录、复印件和借阅缓存都要同步清除。

  • 合格线| 独立构建、质量门禁、原子别名、兼容索引和全链失效;
  • 加分项| 内容哈希、失败队列、摄取对账、撤权传播测试和版本化 Trace;
  • 高频误区| 把新旧 Embedding 混写同一索引,或只删原文不删向量与缓存;
  • 下一问| 最后用一个示例项目说明约束、难点、风险和可验证证据,而不是编造效果。

第 7 题|L7 项目复盘|如何设计一个企业内部运维知识助手?

核心考察点|项目表达、技术难点、风险闭环与证据纪律

面试官提问

请从业务目标、双链路、权限、失败场景和验收证据复盘;当前能否声称线上收益?

30 秒专业短答

这是源文档中的示例设计:离线对 Markdown、PDF 和工单做版本识别、类型化解析、结构切块、批量 Embedding、暂存索引质检与原子切换;在线由网关传入可信身份,执行带 ACL 的混合召回、二次授权、原文核对、上下文预算、引用式生成和拒答。难点是解析质量、版本一致性和权限隔离,代表性风险是旧制度残留、未授权缓存和检索正确但上下文被截断;应以新增/修改/删除/撤权回归、分层 Trace 和固定证据集验收。仓库没有真实运行与评测结果,因此不能声称 QPS、Recall、延迟或业务收益。

小白解释

这是施工蓝图:不同格式的手册先分类整理成带版本和门禁的卡片,员工提问时只从有权书架找资料,再返回可核验页码;还要演练换制度、撤权限和找不到答案。现在有设计和验收方法,没有真实成绩单。

  • 合格线| 双链路、版本、ACL、引用、拒答和覆盖更新/删除的测试;
  • 加分项| 将失败归到覆盖、解析、索引、查询、召回、上下文或生成,并沉淀 Runbook;
  • 高频误区| 把示例包装成上线经历,或虚构准确率、成本和收益;
  • 下一问| 本组题结束;后续应进入混合召回、融合、重排与分层评测专项。

4. 自测与评分

  • [ ] 不看文档画出 RAG 的离线摄取与在线查询双链路;
  • [ ] 用三类文档比较不同 Chunk/Top-k,并解释为何不能照搬固定数值;
  • [ ] 设计同租户同角色但不同文档权限的越权回归;
  • [ ] 为新增、更新、删除、撤权和索引回滚写验收清单;
  • [ ] 按准确性、原理深度、工程意识、项目表达、沟通结构各 0~5 分评分;
  • [ ] 第 7 题必须明确是示例设计,不得虚构任何运行指标。

5. 事实边界与参考资料

  • 单一事实源:RAG 基础链路数据准备、切片和版本治理篇
  • 源文档依据包括 RAG、DPR、FAISS、HNSW 原始论文与官方源码/文档;
  • Chunk、overlap、Top-k、相似度阈值、ANN 参数和缓存期限必须在目标语料与风险约束下实测;

当前无法确认| 示例知识助手的数据规模、模型、索引、Recall、延迟、成本、QPS 与线上业务效果。

6. 总结

一句话记忆: RAG 是把版本化外部证据安全送入模型上下文的双链路系统,不是一座向量库。

  • 离线负责解析、切块、向量化与索引,在线负责身份、召回、上下文、生成和引用;
  • Chunk、Top-k 和上下文预算必须基于目标数据评测,没有通用固定值;
  • ACL 来自可信身份并进入每路召回,候选返回后仍要二次授权;
  • 排障先查语料、解析和索引,再查检索、上下文与生成;
  • 项目没有实测证据时,只能说明设计、风险和验证方法,不能报告效果。