814 分钟

面试通关手册

核心高频 10 问速答、项目黄金 3 分钟话术、各专项高频题索引、系统设计题框架、关键术语速记、反问环节指南。

面试系统设计话术术语RAGAgentTransformer
进度保存在本机浏览器;验收通过后再点更稳妥

第21课:面试通关手册

本节目标:核心概念速答、项目黄金3分钟话术、各专项高频问答索引、关键术语速记。


1. 核心高频 10 问(必背)

Q1:什么是 RAG?为什么需要 RAG?

RAG = Retrieval-Augmented Generation。在 LLM 生成回答前,先从外部知识库检索相关信息作为上下文。

解决三大问题:① 知识截止(训练数据有时效性)② 幻觉(编造不存在内容)③ 可溯源(传统 LLM 无法给出引用)。

"RAG 本质是给 LLM 配了一本'开卷考试的参考书'。"

Q2:Agentic RAG 比传统 RAG 强在哪?

维度传统 RAGAgentic RAG
检索决策固定流程Agent 自主判断
检索次数一次多轮迭代
证据评估不评估判断是否充分
失败处理硬答反思 + 二次检索

Q3:Embedding 是什么?怎么选模型?

把文本转成稠密向量(如 1024 维浮点数),语义相近的文本向量距离近。

中文首选 BGE-M3(多功能 + 长上下文 + 开源),英文选 OpenAI text-embedding-3,性能极致选 Conan-embedding。

Q4:切片策略有哪些?

五大策略:固定长度 → 句子边界 → 重叠滑窗 → 结构化切片 → 语义切片。工业标配 = 重叠滑窗(200-500字 + 50-100字重叠)+ 保留元数据。

Q5:什么是 Rerank?为什么需要?

对检索召回结果重新排序。向量检索是双塔(快但粗),Rerank 用交叉编码(慢但精)。架构:Bi-Encoder 召回 100 → Cross-Encoder 重排 10。

Q6:ReAct 是什么?

ReAct = Reasoning + Acting。循环模式:Thought(思考)→ Action(调工具)→ Observation(看结果)→ 重复直到能回答。

Q7:LoRA 的原理?

W_new = W + B×A(低秩分解),把微调参数减少 100-1000 倍。基于"低秩假设":权重增量本质是低秩的,r=8 就能达到全参微调 95% 效果。

Q8:DPO 为什么替代 PPO?

PPO 需要 4 个模型(Actor/Critic/RM/Reference)→ 显存爆炸 + 训练不稳定。DPO 用数学消除 RM 和 PPO,只需 2 个模型,像 SFT 一样稳定。

Q9:vLLM 为什么快?

三大创新:① PagedAttention(像 OS 分页管 KV Cache,显存利用率 30%→96%)② Continuous Batching(不等整批,GPU 持续满载)③ 优化 CUDA Kernels(FlashAttention + 量化)。

Q10:RAG 系统怎么评估?

检索层:Hit@K、MRR。生成层:Faithfulness(防幻觉核心)、Answer Relevancy。工具:RAGAS + LangSmith + 人工标注。评估闭环:收集→归因→优化→验证。


2. 项目参考黄金 3 分钟话术

【背景】30秒

"我做了基于 SpringBoot + LangChain4j 的中医古籍智能问答系统。中医古籍专业性强、需要溯源引用,传统大模型直接回答会有严重幻觉,所以采用 Agentic RAG 架构来解决。"

【架构】60秒

"系统分四层:数据层用 PostgreSQL + pgvector 存古籍片段和向量;检索层用多路召回(向量 + 关键词)+ Rerank 重排;应用层用 LangChain4j 实现 Agent 工具调用 + 流式生成;接入层用 SSE 流式推送 + JWT 认证。设计了 5 个 Agent 工具:查询改写、向量检索、关键词检索、证据评估、引用查询。"

【难点】60秒

"四个挑战:① 古文和现代问题语义差异大 → Agent 改写 query ② 单一向量检索准确率低 → 多路召回 + Rerank ③ 幻觉问题 → Prompt 强制引用 [1][2] 标记 ④ 用户体验差 → SSE 流式输出,首字延迟从 5 秒降到 0.5 秒。"

【成果】30秒

"最终支持:用户提问 → Agent 思考 → 检索古籍 → 流式回答带引用完整闭环。引用准确率 95%+,幻觉率降低 70%。"


3. 深度追问预案

追问应答要点
为什么选 pgvector 不是 Milvus?业务和向量统一存储,运维简单,数据规模适配
Embedding 维度为什么是 1024?BGE-M3 默认,兼容主流规范,方便切换
怎么保证引用准确?Prompt 约束 + 后处理校验 + chunk_id 持久化
LLM API 挂了怎么办?fallback:检索结果直接返回 + 缓存兜底
怎么扩展到千万级数据?向量库换 Milvus + HNSW 索引 + 向量量化

4. 各专项高频题索引

Agent 专项

  • ReAct vs Reflexion 区别?→ 课18
  • Function Calling 怎么实现?→ 附07
  • 多 Agent 比单 Agent 强在哪?→ 课16
  • AutoGen 和 CrewAI 怎么选?→ 课16

微调专项

  • LoRA 原理 + 为什么有效?→ 课18
  • RLHF 三步是什么?→ 课18
  • 怎么防止灾难性遗忘?→ 课18
  • 什么时候不该用微调?→ 课18

Transformer 专项

  • 手撕 Self-Attention → 课19
  • BERT 和 GPT 区别?→ 课19
  • KV Cache 原理 + 显存计算 → 课19
  • RoPE 为什么好?→ 课19

工程部署专项

  • vLLM 三大创新?→ 附11
  • GPTQ 和 AWQ 区别?→ 附11
  • 怎么设计高并发 LLM 服务?→ 附11

检索专项

  • Bi-Encoder 和 Cross-Encoder 区别?→ 附05
  • RRF 的 k 为什么取 60?→ 附05
  • HNSW 为什么快?→ 附05

评估专项

  • RAGAS 四个核心指标?→ 附10
  • LLM-as-Judge 有什么坑?→ 附10
  • Bad Case 闭环流程?→ 附10

5. 系统设计题框架

设计一个企业知识库问答系统

Code
1. 需求:文档规模?日活?延迟要求?多租户?
2. 数据层:数据源接入 → 清洗 → 切片(200-500字)→ 向量化 → 入库
3. 检索层:多路召回(向量+BM25+元数据过滤)→ RRF → Rerank
4. 应用层:LangChain4j/LangChain + Agent + Memory + Prompt模板
5. 接入层:REST + SSE + JWT/RBAC + Redis 限流
6. 监控:Prometheus + Grafana + LangSmith trace + Bad Case收集

6. 关键术语速记

术语全称一句话
RAGRetrieval-Augmented Generation检索增强生成
ReActReasoning + Acting思考+行动循环
CoTChain of Thought思维链
LoRALow-Rank Adaptation低秩微调
DPODirect Preference Optimization直接偏好优化
RLHFRL from Human Feedback人类反馈强化学习
MoEMixture of Experts混合专家
RoPERotary Position Embedding旋转位置编码
GQAGrouped Query Attention分组查询注意力
MCPModel Context ProtocolLLM 的 USB 接口

7. 不会答时的应对

情况话术
完全不会"这个我没有深入研究,但根据我对 XX 的理解,会从 X、Y、Z 角度思考..."
听说过没用过"我了解过核心思想是 XX,如果落地会先做 XX 验证..."
需要澄清"您问的是 XX 场景还是 YY 场景?两种方案不一样..."

一定不能说:"不知道"(直接终结)、"网上有教程"(没主见)、编造细节(一深追就崩)。


8. 反问环节

必问的高质量问题:

  1. "团队目前在 RAG / Agent 方向上有什么挑战?" → 显示关心实际问题
  2. "你们的评估体系是怎么做的?" → 显示懂工程化
  3. "技术栈未来 1 年的演进方向?" → 显示看长期
  4. "入职后前 3 个月会负责什么?" → 显示重视落地

终极心法

面试不是考你"知不知道",而是考你"理解得多深、能不能落地"。项目细节 > 名词堆砌。一个讲透的项目胜过 100 个听说过的概念。

"会评估的工程师,才是能优化的工程师;能闭环的团队,才是能持续进步的团队。"