RAG 深入面试题(R01–R20)
20 道检索、索引、重排、GraphRAG 与评测题。
按数据、召回、重排、生成和评测分层回答。
建议先口答 60~90 秒,再展开【追问问题】。不要背句子,要说清判断依据和取舍。
R01|Dense、Sparse、Hybrid Retrieval 有何区别?
简明答案: Dense 用向量捕捉语义,Sparse/BM25 用词项匹配精确实体,Hybrid 融合二者。混合通常更稳,但融合权重和过滤必须在真实查询集上调。
【追问问题】
- RRF 如何融合排名?
- 何时 Sparse 更强?
关联知识: 混合检索与 RRF
R02|Bi-Encoder 与 Cross-Encoder 有何区别?
简明答案: Bi-Encoder 分别编码 Query 和文档,适合大规模召回;Cross-Encoder 联合编码成对文本,精度高但计算贵,通常用于 Top-K 重排。
【追问问题】
- 为何 Cross-Encoder 不能直接全库搜索?
- 训练难负样本怎么选?
关联知识: Reranker 原理与实践
R03|Chunk Size 和 Overlap 如何选?
简明答案: 在语义完整、检索粒度、上下文成本间权衡。先按结构切,再用代表性问题评测;Overlap 可保护边界,但过大会重复召回和浪费 Token。
【追问问题】
- 代码和表格怎样切?
- 父子 Chunk 有何价值?
关联知识: 文档切分策略
R04|Parent-Child Retrieval 是什么?
简明答案: 用较小子块做精确召回,命中后返回更完整父块给模型,在召回精度和上下文完整性间折中。父子映射和去重是关键。
【追问问题】
- 父块多大合适?
- 如何避免多个子块返回同一父块?
关联知识: 文档切分策略
R05|Semantic Chunking 有何优缺点?
简明答案: 根据语义变化或模型判断边界,比固定长度更自然;但预处理成本高、结果不稳定,且未必提高特定查询的召回。必须和简单基线比较。
【追问问题】
- 如何定义语义断点?
- 哪些文档不适合?
关联知识: 文档切分策略
R06|ANN 索引为什么必要?
简明答案: 精确比较所有向量在大规模下成本高,ANN 用近似结构减少候选,交换少量召回损失来提高速度。HNSW、IVF 等有不同的内存、构建和查询取舍。
【追问问题】
- HNSW 的 efSearch 影响什么?
- 索引参数如何评测?
关联知识: ANN 与向量索引
R07|HNSW 的基本思路是什么?
简明答案: 构建分层近邻图,上层快速跳转、下层局部搜索。通常召回高且查询快,但内存占用和构建成本较高,删除更新策略依赖实现。
【追问问题】
- M 和 efConstruction 怎么影响?
- 为何过滤会影响 HNSW?
关联知识: ANN 与向量索引
R08|FAISS、Chroma、pgvector、Milvus 怎么选?
简明答案: 本地算法实验可用 FAISS,轻量原型可用 Chroma,已有 Postgres 且规模适中可用 pgvector,大规模独立向量服务可评估 Milvus。最终看数据量、过滤、更新、HA、团队运维和实测。
【追问问题】
- FAISS 为什么不等同完整数据库?
- 何时普通全文检索足够?
关联知识: 向量数据库选型
R09|Embedding 模型如何选?
简明答案: 按语言、领域、维度、长度、速度、许可和目标检索任务评测。公开榜单仅作候选,最终使用自己的 Query-Document 标注集和端到端指标。
【追问问题】
- 维度越高越好吗?
- 是否需要领域微调?
关联知识: Embedding 选型与评测
R10|为什么入库和查询必须使用兼容 Embedding?
简明答案: 不同模型产生的向量空间坐标与尺度无可比性,混用时相似度失去意义。更换模型需要重建索引或维护独立版本,并确保查询路由正确。
【追问问题】
- 同模型不同版本怎么办?
- 迁移期间如何双读?
关联知识: Embedding 选型与评测
R11|Rerank 应放在哪里?
简明答案: 先由快速检索召回较大候选,再对过滤后的候选重排,最后选择能放入上下文的少量证据。过早重排成本高,过晚则浪费在无权限或重复内容上。
【追问问题】
- Top-K 和 Top-N 如何定?
- 如何评测重排增益?
关联知识: Reranker 原理与实践
R12|什么是 Multi-Query Retrieval?
简明答案: 为同一意图生成多个不同表述,分别召回后融合,以提高对措辞差异的覆盖。代价是检索次数和噪声增加,必须去重并限制改写不丢约束。
【追问问题】
- 它与 Query Expansion 有何区别?
- 如何融合结果?
关联知识: 查询改写与路由
R13|HyDE 的思路是什么?
简明答案: 先生成一个假想答案或文档,再对它做 Embedding 去寻找真实文档,适合查询与文档表达差异大时。假想内容若偏离会带偏召回,因此应与原查询融合。
【追问问题】
- 何时不适合 HyDE?
- 如何评测是否带偏?
关联知识: 查询改写与路由
R14|什么是 Agentic RAG?
简明答案: 由 Agent 动态判断是否检索、检索哪个源、如何改写、是否多跳及何时停止,而非固定一次 Top-K。它更灵活,也增加循环、成本和安全风险。
【追问问题】
- 何时普通 RAG 足够?
- 如何限制检索预算?
关联知识: Agentic RAG
R15|Self-RAG、CRAG、Adaptive RAG 有何区别?
简明答案: Self-RAG 通过反思信号决定检索与评判生成;CRAG 评估召回质量并触发纠正或外部搜索;Adaptive RAG 泛指按问题难度或质量动态选择流程。名字相近,机制与训练要求不同。
【追问问题】
- 它们能直接互换吗?
- 哪个更易工程落地?
关联知识: 高级 RAG 变体
R16|GraphRAG 适合什么问题?
简明答案: 适合跨文档实体关系、全局主题和多跳关联。它通过实体关系图、社区与摘要补充向量检索;索引成本、抽取误差和增量更新更复杂。
【追问问题】
- Local Search 与 Global Search 有何区别?
- 什么时候不用 GraphRAG?
关联知识: GraphRAG 与知识图谱
R17|多模态 RAG 的难点是什么?
简明答案: 要解析文本、图片、表格、音视频并保留页码、区域或时间锚点;还要选择跨模态 Embedding、重排和引用方式。仅做 OCR 会丢布局与视觉关系。
【追问问题】
- 表格问答如何处理?
- 图片引用怎样定位?
关联知识: 多模态 RAG
R18|如何做 RAG 权限过滤?
简明答案: 把 tenant、用户、角色、文档 ACL 等作为检索层强制过滤条件,在重排和缓存中继续保留。不能先召回越权内容再要求模型忽略。
【追问问题】
- 共享索引安全吗?
- 权限变化如何更新缓存?
关联知识: RAG 权限与多租户
R19|Recall@K、MRR、nDCG 分别看什么?
简明答案: Recall@K 看相关结果是否进入前 K;MRR 强调第一个相关结果排名;nDCG 考虑多条结果的分级相关性与位置。选择取决于一个还是多个证据能回答。
【追问问题】
- Precision@K 何时重要?
- 指标高为何答案仍差?
关联知识: RAG 评测指标
R20|Faithfulness 与 Answer Relevance 有何区别?
简明答案: Faithfulness 看回答是否由证据支持,Answer Relevance 看是否回答用户问题。回答可能相关但无证据,也可能忠于证据却答非所问,应分开评分。
【追问问题】
- 如何做自动评分?
- 引用正确率又是什么?
关联知识: RAG 评测指标