大模型 / LLM 应用岗面试题实战(RAG / 微调 / Agent)
大模型应用岗的面试,和纯算法岗差异很大:不考你训模型,考你怎么把一个模型变成能用的产品。我把高频题按 RAG、微调、Agent、工程四块拆开,每道都附「标准答法」和「加分答法」。
一、RAG 类
Q1:RAG 最常见的失败模式是什么?怎么治?
标准答:检索质量差(召回不对)→ 回答跑题或幻觉。治法是混合检索(向量 + 关键词 BM25)+ 重排序(reranker)。
加分答:我踩过的真实坑是「检索到了但没用上」——长上下文里模型被无关段落带偏。解法是检索结果做压缩/摘要再进 prompt,以及给每段打引用来做事实约束。这在我写的 RAGFlow 实战三(检索调参)里展开过。
Q2:怎么评估一个 RAG 系统?
标准答:离线用召回率@k、答案准确率(LLM-as-judge);在线看用户满意度。
加分答:要分两层测——检索层(chunk 切得对不对、召回全不全)和生成层(有没有幻觉、有没有引用)。两层分开测才能定位问题,否则只会笼统说「效果不好」。
二、微调类
Q3:什么时候该微调,什么时候用 RAG?
标准答:RAG 解决「知识更新」,微调解决「能力/风格塑造」。知识类用 RAG,语气/格式/特定任务范式用微调。
加分答:我本地跑过 27B 模型的 LoRA 微调,显存账要先算清(见 NInfer 部署那篇)——微调是重投入,先确认 RAG/提示词解决不了再上。
Q4:LoRA 为什么省显存?SFT 数据怎么造?
标准答:LoRA 只训练低秩增量矩阵,冻结原权重,参数量从亿级降到百万级,显存主要在冻结权重的前向激活上。
加分答:数据质量 >> 数量。我造 SFT 数据时会先写「种子样本」再让强模型扩写,但必须人工抽检,否则模型会学到噪声。灾难性遗忘靠保留一小部分通用指令数据混训来缓解。
三、Agent 类
Q5:ReAct 范式是什么?工具调用失败怎么办?
标准答:推理(Thought)→ 行动(Act)→ 观察(Obs)循环,让模型边想边调工具。
加分答:真实系统里工具失败才是常态——网络超时、返回脏数据、参数填错。我的做法是给每步加超时+重试+失败兜底分支,并在 prompt 里明确「调不通就换路径」,而不是死循环硬调。
Q6:长对话怎么管理上下文?
标准答:滑动窗口 + 摘要压缩 + 关键记忆外挂(向量库)。
加分答:我做过带检索闭环的 RAG Agent(详见另一篇),上下文溢出时优先丢「已落实的工具结果」,保留「用户意图和当前任务」。
四、工程类
Q7:推理成本高怎么压?
标准答:量化(INT8/INT4)、KV-cache 复用、批处理、用 vLLM 这类 PagedAttention 引擎。
加分答:先做 profiling 再优化——很多时候瓶颈不是算力是 IO(模型加载、tokenizer)。我本地部署的经验是,先把单请求延迟打透,再谈并发。
结语
大模型岗面试的核心是「你有把模型落地的真实经验」。每道题的最佳回答,都是「我做过 + 我踩过 + 我怎么救」。本博客里 NInfer 部署、RAGFlow 四部曲、短剧 AI 生产线都是现成的证据链,建议面试前把这几篇重读一遍,做到能脱稿讲。

