Skip to content

大模型RAG 面试高频160题

第一部分:基础篇(1-40题)

模块一:RAG核心概念与流程(1-15题) 🔥

  1. 【⭐】RAG全称是什么?一句话说清楚它解决了什么问题。
  2. 【⭐】RAG和Fine-tuning的根本区别在哪?各适用什么场景?
  3. 【⭐】RAG的标准Pipeline分几步?画出来。
  4. 【⭐】为什么RAG能减少幻觉?原理别背书,用自己的话说。
  5. 【⭐】Embedding模型在RAG里具体负责什么?输入输出分别是什么?
  6. 【⭐】向量检索和关键词检索(BM25)各自的优缺点?什么时候用哪个?
  7. 【⭐】什么是Top-K检索?K=1和K=10各有什么问题?
  8. 【⭐】相似度计算用余弦距离还是欧氏距离?Embedding归一化前后有区别吗?
  9. 【⭐】“检索-生成”闭环怎么理解?检索失败LLM能自己补救吗?
  10. 【⭐】长上下文LLM(比如Gemini 1.5 Pro 1M token)能取代RAG吗?为什么?
  11. 【⭐】什么是“上下文注入”?Prompt里检索结果放开头还是结尾?
  12. 【⭐】RAG的召回率和精确率哪个更重要?在客服场景和科研场景分别怎么取舍?
  13. 【⭐】HyDE(Hypothetical Document Embeddings)是什么?举个具体例子说明。
  14. 【⭐】什么是“查询改写”(Query Rewriting)?什么时候需要?
  15. 【⭐】RAG里LLM扮演什么角色?只负责生成吗?

模块二:分块策略(16-30题) 🔥

  1. 【⭐】为什么说“RAG 70%的效果由分块决定”?不服来辩。
  2. 【⭐】固定长度分块怎么实现?重叠窗口设多大?给个代码片段。
  3. 【⭐】递归分块的分隔符优先级怎么设计?中文和英文有什么区别?
  4. 【⭐】语义分块怎么判断语义边界?相似度阈值一般设多少?
  5. 【⭐】结构化分块(按标题/段落)的解析库有哪些?遇到长章节怎么办?
  6. 【⭐⭐】延迟分块(查询时分块)反转了什么顺序?存什么、什么时候切?
  7. 【⭐】chunk size太小和太大分别会导致什么问题?给个具体例子。
  8. 【⭐】chunk_overlap太大会有什么副作用?重叠部分会被重复检索吗?
  9. 【⭐⭐】代码文件怎么分块?按函数、按类还是按语义?AST有用吗?
  10. 【⭐】表格在RAG里怎么处理?整表embedding还是转成文本描述?
  11. 【⭐⭐】图片里的文字怎么处理?OCR之后再分块?还是用多模态embedding?
  12. 【⭐】PDF文档分块有什么坑?页眉页脚、双列排版怎么处理?
  13. 【⭐⭐】章节标题和正文的关系怎么保持?每个chunk里要带父标题吗?
  14. 【⭐⭐】滑动窗口分块和固定分块有什么不同?什么时候用滑动窗口?
  15. 【⭐⭐】怎么评估一种分块策略好不好?人工评估还是自动指标?

模块三:嵌入与向量(31-40题) 🔥

  1. 【⭐】Embedding模型有哪些主流选择?OpenAI text-embedding-3、BGE、M3E怎么选?
  2. 【⭐】Embedding维度越高越好吗?1024维和384维差在哪?
  3. 【⭐】Embedding模型需要针对垂直领域微调吗?怎么微调?
  4. 【⭐⭐】什么是“对称嵌入”和“非对称嵌入”?Query和Document的Embedding可以用同一个模型吗?
  5. 【⭐】Embedding计算太慢怎么办?批处理、GPU加速、缓存哪个更有效?
  6. 【⭐】文档更新后,Embedding要重新算吗?增量更新怎么搞?
  7. 【⭐】CLIP模型在多模态RAG里怎么用?图文怎么对齐?
  8. 【⭐⭐】ColBERT的“晚交互”是什么?比普通双塔好在哪里?
  9. 【⭐⭐】SPLADE稀疏向量是什么?和稠密向量比有什么优势?
  10. 【⭐】Embedding的“维度诅咒”在RAG里会出现吗?

第二部分:进阶篇(41-95题)

模块四:索引与向量数据库(41-55题)

  1. 【⭐】主流向量数据库:Faiss、Milvus、Pinecone、Chroma、Qdrant,你选哪个?为什么?
  2. 【⭐】HNSW索引的原理一句话说清楚。构建参数M和ef_construction怎么调?
  3. 【⭐】IVF索引的nprobe参数怎么设?调大了会怎样?
  4. 【⭐】倒排索引和HNSW能结合吗?
  5. 【⭐】标量过滤(Metadata Filtering)在向量检索里怎么实现?先过滤再检索还是先检索再过滤?
  6. 【⭐⭐】什么是“混合检索”?向量检索+BM25怎么融合?RRF是什么?
  7. 【⭐】RRF的k参数是什么意思?设60还是100?
  8. 【⭐⭐】向量数据库的QPS上不去,瓶颈一般在哪?磁盘IO还是CPU?
  9. 【⭐】百万级、千万级、亿级向量的检索延迟大概多少?
  10. 【⭐】索引构建时间怎么估算?10万条768维向量要多久?
  11. 【⭐⭐】什么是“多向量检索”?一个文档存多个向量(比如按句子)有什么好处和坏处?
  12. 【⭐】向量数据库支持删除和更新吗?逻辑删除还是物理删除?
  13. 【⭐】什么是“量化”(PQ、SQ)?压缩后精度损失多少?
  14. 【⭐⭐】Faiss的IDMap和Flat索引有什么区别?
  15. 【⭐】生产环境里向量数据库怎么做高可用和容灾?

模块五:检索优化技术(56-75题)

  1. 【⭐⭐】Query Rewriting有哪些具体方法?让LLM生成多个相关查询?还是HyDE?
  2. 【⭐⭐】Multi-Query检索怎么做?多个查询的结果怎么合并?
  3. 【⭐⭐】Step-back Prompting用在检索上:先问“更宏观的问题”再检索,怎么实现?
  4. 【⭐⭐】父文档检索和子文档检索是什么?各自在什么阶段用?
  5. 【⭐⭐】Re-ranking模型有哪些?Cohere rerank、BGE-reranker、Cross-Encoder区别?
  6. 【⭐⭐】Re-ranking和二次检索有什么区别?计算量哪个大?
  7. 【⭐⭐】MMR(最大边际相关性)怎么避免检索结果太相似?公式里的λ怎么调?
  8. 【⭐⭐】Self-Query Retrieval:怎么让LLM从自然语言里抽取出结构化过滤条件?
  9. 【⭐⭐】Query Expansion怎么扩充?同义词、相关词、还是让LLM生成假设答案?
  10. 【⭐⭐】检索结果太少(小于K)怎么办?降低阈值还是Query Expansion?
  11. 【⭐⭐】检索结果太多(远超K)怎么压缩?只取Top-K还是做聚类去重?
  12. 【⭐】相似度阈值设多少?0.7还是0.8?不同Embedding模型一样吗?
  13. 【⭐⭐】跨语言检索:中文Query怎么匹配英文文档?用多语言Embedding还是翻译Query?
  14. 【⭐】什么是“密集检索”和“稀疏检索”?哪个可解释性更好?
  15. 【⭐⭐】DPR(Dense Passage Retrieval)的训练原理是什么?正负样本怎么构造?
  16. 【⭐⭐】ANCE是什么?异步更新负样本有什么用?
  17. 【⭐】检索的召回率和延迟怎么trade-off?HNSW的ef_search参数就是干这个的。
  18. 【⭐⭐】什么是“迭代检索”?检索完生成,再拿生成结果二次检索?
  19. 【⭐⭐】FLARE(Forward-Looking Active REtrieval)是什么?怎么决定什么时候该检索?
  20. 【⭐⭐⭐】RAG里检索模块能不能用图数据库?知识图谱+向量检索怎么做?

模块六:生成与上下文融合(76-90题)

  1. 【⭐⭐】多个检索chunk怎么塞进Prompt?按相关性排序,还是按原文顺序?
  2. 【⭐⭐】上下文太长超过LLM限制怎么办?压缩、截断还是重新检索?
  3. 【⭐⭐】什么是“上下文压缩”?LLMLingua、Selective Context怎么用?
  4. 【⭐⭐】检索到的多个chunk有矛盾怎么办?让LLM自己判断还是设计投票机制?
  5. 【⭐⭐】Chain-of-Thought RAG怎么做?让LLM先列出检索到的证据再回答?
  6. 【⭐】检索结果里没有答案,应该让LLM说“不知道”还是强行回答?
  7. 【⭐⭐】Self-RAG的四个步骤是什么?检索、生成、批判、反思?
  8. 【⭐⭐】Adaptive-RAG的“自适应”体现在哪?什么时候跳过检索直接生成?
  9. 【⭐⭐】CRAG(Corrective RAG)的纠正机制:检索结果质量差怎么触发联网搜索或其他工具?
  10. 【⭐】RAG+Fine-tuning能一起上吗?先微调LLM还是先微调Embedding?
  11. 【⭐⭐】生成阶段怎么加引用?让LLM输出[json]标记还是用特殊token?
  12. 【⭐】流式输出下RAG怎么处理?检索完第一个chunk就开始生成,还是等所有检索结果?
  13. 【⭐⭐】多轮对话里每轮都重新检索吗?历史消息怎么参与检索?
  14. 【⭐⭐】“记忆型RAG”和普通RAG结构不同在哪?记忆模块存储了什么?
  15. 【⭐⭐】Prompt里怎么写检索指令效果最好?给个模板。

大模型RAG 模块七:评估与可观测性(91-95题)

  1. 【⭐⭐】RAG的效果怎么评估?有哪些指标:Hit Rate、MRR、NDCG、Faithfulness、Answer Relevance?
  2. 【⭐⭐】RAGAS框架是什么?它怎么评估Faithfulness和Context Relevance?
  3. 【⭐】什么是“端到端评估”?用LLM as Judge靠谱吗?
  4. 【⭐⭐】RAG的可观测性需要监控哪些点?检索延迟、召回率、生成token数、用户反馈?
  5. 【⭐】A/B测试在RAG上怎么做?实验组和对照组怎么分流?

第三部分:生产实战篇(96-140题)

模块八:工程部署与性能优化(96-110题)

  1. 【⭐⭐】RAG系统的延迟瓶颈一般在哪?Embedding计算、向量检索、LLM生成?
  2. 【⭐⭐】Embedding计算怎么优化?GPU推理、批处理、结果缓存?
  3. 【⭐】向量检索的QPS上不去,加副本还是换索引?
  4. 【⭐⭐】LLM生成太慢怎么办?小模型、投机采样、流式输出?
  5. 【⭐】百万级文档的RAG系统,端到端延迟能做到多少毫秒?
  6. 【⭐⭐】RAG系统怎么缓存?Embedding结果缓存、检索结果缓存、LLM生成缓存?
  7. 【⭐】什么是“语义缓存”?相同语义的Query直接返回历史结果?
  8. 【⭐⭐】RAG系统的成本大头在哪里?Embedding API调用、LLM API、向量数据库存储?
  9. 【⭐】10万条文档,每天10万次查询,一个月大概花多少钱?
  10. 【⭐⭐】RAG怎么处理实时性要求高的场景?文档更新到索引生效要多久?
  11. 【⭐】增量索引怎么做?定时全量重建还是实时更新?
  12. 【⭐⭐】RAG系统的SOP:从数据清洗、分块、建索引、上线到监控的完整流程。
  13. 【⭐】Bad Case分析怎么搞?给个排查树。
  14. 【⭐⭐】用户反馈怎么用来优化RAG?收集反馈 -> 标注 -> 微调Embedding或重排序模型。
  15. 【⭐】RAG系统需要几个人维护?小团队怎么做?

模块九:多模态与结构化数据RAG(111-125题)

  1. 【⭐⭐】图文混合文档怎么RAG?提取图片描述还是用多模态Embedding?
  2. 【⭐】表格RAG:把表格转成Markdown还是向量化每一行?
  3. 【⭐⭐】Text-to-SQL + RAG怎么做?先检索相关表结构再生成SQL?
  4. 【⭐⭐】PDF里复杂图表(柱状图、流程图)怎么处理?OCR+图描述生成?
  5. 【⭐⭐】音频/视频RAG:先ASR转文字再进RAG?
  6. 【⭐】结构化数据(CSV、JSON)能直接向量化整行吗?会丢失字段关系吗?
  7. 【⭐⭐】GraphRAG是什么?微软那个GraphRAG的社区检测有什么用?
  8. 【⭐⭐】GraphRAG和普通RAG比,建索引复杂度高多少?适用什么数据?
  9. 【⭐⭐】RAPTOR(树状摘要检索)怎么构建摘要树?检索时怎么遍历?
  10. 【⭐】PDF解析库哪家强?PyPDF2、pdfplumber、PDFium、Unstructured?
  11. 【⭐⭐】HTML转Markdown怎么保留结构?Readability、Trafilatura?
  12. 【⭐】嵌套表格、合并单元格怎么处理?
  13. 【⭐⭐】多模态Embedding模型有哪些?CLIP、BridgeTower、Fuyu?
  14. 【⭐】医疗影像+报告的RAG怎么设计?
  15. 【⭐⭐】代码仓库RAG:需要AST解析变量作用域吗?还是直接把函数体当chunk?

模块十:前沿变体与高阶技巧(126-140题)

  1. 【⭐⭐】Speculative RAG是什么?和普通RAG的“检索-生成”顺序有什么不同?
  2. 【⭐⭐】Rich Context RAG:除了文本chunk,还带哪些上下文(标题、摘要、相邻chunk)?
  3. 【⭐⭐】Self-RAG的反思token(Reflection token)怎么训练?
  4. 【⭐⭐】Adaptive-RAG的动态阈值怎么设?用LLM判断是否要检索?
  5. 【⭐⭐⭐】检索即生成(Retrieval-as-Generation)是什么概念?
  6. 【⭐⭐】SKR(Self-Knowledge Retrieval)怎么做?让LLM先判断自己知不知道。
  7. 【⭐⭐】PAL(Program-Aided Language Models)和RAG能结合吗?执行代码之后拿结果检索?
  8. 【⭐⭐】Tool-augmented RAG:检索不到答案时自动调用搜索引擎、计算器、数据库?
  9. 【⭐】ReAct + RAG:规划和检索怎么交替进行?
  10. 【⭐⭐】为什么有时候RAG比纯LLM回答更差?可能原因:检索到噪音、分块破坏语义、LLM过信检索。
  11. 【⭐⭐】怎么让LLM在检索结果和内部知识冲突时选择正确的?提示词设计还是额外训练?
  12. 【⭐⭐⭐】“检索结果不可知”的生成评估怎么做?有没有避免直接复制检索结果的指标?
  13. 【⭐⭐】DPO(Direct Preference Optimization)能用来优化RAG的生成吗?
  14. 【⭐】RAG蒸馏:用小模型代替大LLM做生成,能保留多少效果?
  15. 【⭐⭐】长上下文LLM(如1M token)出现后,RAG的索引结构还会保留吗?检索会变成“扫描+相关性排序”吗?

第四部分:场景题与开放题(141-160题)

模块十一:经典业务场景设计(141-150题)

  1. 【⭐⭐】企业内部门户的QA机器人:文档格式五花八门(Word、PDF、PPT、邮件),你怎么设计RAG?
  2. 【⭐⭐】客服RAG:用户问题很口语化、短文本,怎么提升检索命中率?
  3. 【⭐⭐】科研论文RAG:需要处理引用关系、图表、公式,分块策略怎么定?
  4. 【⭐⭐】法律文书RAG:文本超长、结构固定、对准确率要求极高,你会用哪种分块?要不要人工标注?
  5. 【⭐⭐】医疗RAG:涉及患者隐私和诊断准确性,怎么保证检索结果的安全和可靠?
  6. 【⭐】新闻RAG:时效性极强,索引更新频率设多少?怎么处理突发新闻?
  7. 【⭐⭐】代码助手RAG:跨文件引用怎么处理?需要建立代码依赖图吗?
  8. 【⭐⭐】金融研报RAG:表格数据多、数字精度要求高,怎么处理数值比较类的Query?
  9. 【⭐】教育答疑RAG:同一知识点在不同年级有不同解释,怎么区分检索版本?
  10. 【⭐⭐】电商商品RAG:图片+文字+属性表,怎么实现多模态检索?

模块十二:开放思路与面试官追问(151-160题)

  1. 【⭐⭐⭐】你觉得RAG未来3年会被长上下文LLM取代吗?给出你的论据。
  2. 【⭐⭐⭐】如果LLM上下文无限且成本为零,RAG还有必要存在吗?为什么?
  3. 【⭐⭐⭐】RAG的“幻觉”还能怎么进一步缓解?前沿方向有哪些(如检索置信度校准、RAG验证器)?
  4. 【⭐⭐⭐】你怎么评估一个Embedding模型的好坏?除了MTEB榜单,你会做哪些额外测试?
  5. 【⭐⭐⭐⭐】面试官反问:RAG检索到的信息和LLM预训练知识矛盾,LLM该信谁?设计一个决策逻辑。
  6. 【⭐⭐⭐】RAG系统的效果天花板在哪里?是检索上限还是LLM理解上限?
  7. 【⭐⭐⭐】如果让你从零设计一个RAG系统,你的技术选型、分块策略、检索优化方案是什么?画架构图。
  8. 【⭐⭐⭐】RAG有没有可能在离线环境跑?全部本地模型怎么搭?
  9. 【⭐⭐⭐】RAG的“安全”问题:恶意用户能不能通过Prompt注入污染检索结果或泄露私有文档?
  10. 【⭐⭐⭐⭐】开放性:RAG系统上线后,用户投诉说“问A答出B”,你怎么排查?从数据、分块、检索、生成一步步讲。