LLM 面试备考
首页/面经与题库

面试题库总索引

从 55 个内容文件抽出的全部题目(只有题干,不带答案)。答案在各自文件的「常见面试问法」/「面试官会怎么往下挖」/「线上故障复盘」/「自测」段里。

用法:盖住答案区自测。每个 section 内按面试权重降序排列 —— ★★★ 在前,优先刷。 同一概念在不同文件里的问法不同,重复出现是刻意的:换个角度问,是检验真懂没懂最快的办法。

三种面试形式:

形式 在哪 考什么
知识题(常见面试问法 / 自测) 01-fundamentals/ 知不知道
项目深挖(分层追问) 02-interview/projects/ 是否真做过
系统设计(澄清 → 架构 → 取舍) 02-interview/design/ 会不会设计

⚠️ 本文件由脚本自动抽取(tools/gen_question_bank.py),未经人工校对。题干以源文件为准。
⚠️ 权重来自各文件头部的权重字段,是主观标注,不是你目标岗位的实测频率。


01-llm-core#

kv-cache.md ★★★#

常见面试问法

  • Q:KV Cache 是什么?为什么能加速,代价是什么?
  • Q:写出 KV Cache 的显存公式,Llama-2-7B 在 4k 上下文下占多少?
  • Q:GQA 和 MQA 的区别?为什么现在都用 GQA?
  • Q:MLA 相比 GQA 强在哪?
  • Q:为什么推理时 GPU 利用率很低?
  • Q:KV Cache 能无限增长吗?超长生成怎么办?

自测

    1. 写出 KV Cache 显存公式。Llama-3-8B(32 层、8 个 KV 头、head_dim 128、GQA)在 8k 上下文、batch=1、FP16 下占多少?
    1. GQA 到底省了什么?为什么它能同时提升吞吐?
    1. MLA 为什么需要额外缓存一个 decoupled RoPE key?
    1. 上线一个 128k 上下文的模型,KV Cache 会成为什么问题?请给出三个缓解方向。
    1. 有人提议"用 KV Cache 把 prefill 也加速一下"。这个说法对吗?

transformer-attention.md ★★★#

常见面试问法

  • Q:手写注意力公式,并解释每个操作的作用。
  • Q:为什么多头注意力比单头好?参数量不是差不多吗?
  • Q:Transformer 的复杂度是多少?和 RNN 比优劣势?
  • Q:Pre-LN 和 Post-LN 的区别?为什么现代模型都用 Pre-LN?
  • Q:FlashAttention 是近似算法吗?它为什么能又快又省显存?

自测

    1. 写出注意力公式并解释 1/dk1/\sqrt{d_k} 的作用。如果去掉它会怎样?
    1. 为什么说自注意力本身没有顺序概念?位置信息是怎么进去的?
    1. Prefill 和 decode 的瓶颈为什么不同?这个区别导致了哪些工程优化?
    1. 有面试官说"Transformer 的复杂度是 O(n²),所以长上下文注定昂贵"。这句话哪里不完整?
    1. 如果让你把一个 12 层的标准 Transformer 改成现代 LLM 的形态,你会做哪些改动?

arch-variants.md ★★#

常见面试问法

  • Q:MoE 是什么?为什么能"参数多但计算少"?
  • Q:MoE 的负载均衡为什么必要?怎么解决?
  • Q:MoE 和稠密模型各自的取舍?
  • Q:为什么最后是 decoder-only 赢了?
  • Q:现代 LLM 架构的公约数是什么?

自测

    1. MoE 的"总参数量大、计算量小"是怎么实现的?它省了显存吗?
    1. router 出现专家塌缩,你会怎么诊断和处理?
    1. 你把 llama 架构的五六个组件说出来,并说明各自解决什么问题。
    1. 一个团队要把 MoE 模型部署到单张 80GB 卡上,你会提醒他们什么?
    1. "既然 MoE 更省算力,那所有模型都应该用 MoE"——你怎么反驳?

multimodal.md ★★#

常见面试问法

  • Q:多模态大模型的基本架构是什么?
  • Q:connector 有哪些设计?怎么取舍?
  • Q:什么是早融合和晚融合?
  • Q:图像会占多少 token?为什么说这是个成本问题?
  • Q:多模态为什么更容易幻觉?
  • Q:多模态的训练流程是怎样的?

自测

    1. 什么是模态鸿沟?它解释了多模态架构里的哪些设计?
    1. MLP 投影和 Q-Former 式的 query-based connector,各自的取舍是什么?
    1. 往 LLM 里插视觉 token 属于早融合还是晚融合?为什么这个区分容易在面试里出错?
    1. 一张图大概会消耗多少 token?为什么说这是多模态落地的头号工程约束?
    1. 面试官问「你做过哪些多模态的工作?」,诚实又不失分的答法是什么?

position-encoding.md ★★#

常见面试问法

  • Q:RoPE 是怎么编码位置的?为什么说它是相对位置编码?
  • Q:RoPE 能直接外推到训练长度之外吗?
  • Q:Position Interpolation 和 NTK-aware 的区别?
  • Q:为什么扩长上下文一定要继续训练?
  • Q:ALiBi 和 RoPE 的取舍?

自测

    1. 写出 RoPE 的核心性质,并说明它为什么不作用在 V 上。
    1. 一个模型训练长度 4k,现在要扩到 32k。你会怎么做,代价是什么?
    1. NTK-aware 缩放为什么比线性位置内插更能保住局部精度?
    1. 有同事说"我们把上下文窗口从 8k 调到 128k 了,长文能力搞定"。请指出这个说法的问题。
    1. 为什么现代模型几乎都是 RoPE,而不是可学习绝对位置编码或 ALiBi?

pretraining-scaling.md ★★#

常见面试问法

  • Q:Scaling Law 是什么?
  • Q:给定算力预算怎么配模型和数据?
  • Q:为什么现在模型都"过训"了?
  • Q:预训练数据怎么处理?
  • Q:训练中出现 loss spike 怎么办?

自测

    1. 给定算力预算 C,Chinchilla 口径下 N 和 D 大致怎么分配?这个结论在实际决策中会被什么因素推翻?
    1. 为什么 C ≈ 6ND?这个估计漏掉了什么?
    1. 团队要做一次预训练,怎么用 Scaling Law 降低风险?
    1. "涌现能力"存在吗?面试时怎么回答这个问题?
    1. 你为什么不能拿两个不同模型的 per-token loss 或 perplexity 直接比大小?

tokenization.md ★★#

常见面试问法

  • Q:BPE 的训练过程描述一下。
  • Q:BPE、WordPiece、Unigram 有什么区别?
  • Q:为什么大模型都用子词?
  • Q:模型换 tokenizer 需要做什么?
  • Q:为什么中文场景下模型的上下文利用率感觉更差?

自测

    1. BPE 训练好之后,编码一个新句子时是怎么切分的?是重新跑一遍合并统计吗?
    1. 为什么 Byte-level BPE 能做到没有 <UNK>,代价是什么?
    1. 你发现微调后模型输出格式不稳定、偶尔漏掉 role 标记。最该先检查什么?
    1. 团队想把一个英文为主的基座适配中文,通过扩词表继续预训练。有哪些坑?
    1. 为什么说 tokenizer 的粒度会间接影响模型的算术和推理能力?

02-post-training#

08-agentic-rl.md ★★★#

常见面试问法

  • Q:什么是 Agentic RL?它和单轮 LLM 的 RL 有什么区别?
  • Q:Agentic RL 里可以继续用 GRPO 吗?(紧接「那 credit 怎么分」的追问)
  • Q:最终 reward 是 1,前面几十次 tool call,到底该奖励哪一步?
  • Q:多轮工具调用的 RL loss 怎么设计?是每轮算还是整个 rollout 完成后算?
  • Q:从 loss 角度看,GRPO 的设计有什么问题?
  • Q:组内 advantage 为什么会归零?怎么缓解?
  • Q:reward 涨了但模型没变好,你怎么排查?
  • Q:奖励设计在 Agentic RL 里要注意什么?
  • Q:为什么「训练不稳定」和「credit 分得粗」必须分开回答?
  • Q:什么时候该上 RL?什么时候不该?
  • Q:Agent 场景里 GRPO 和 PPO 怎么选?
  • Q:训练跑着跑着 reward 崩了,你怎么排查?
  • Q:Agentic RL 里的 reward hacking 和普通 RLHF 有什么不同?
  • Q:这些稳定训练的技巧(masking、重加权、课程式训练)能不能直接套用?
  • Q:Agentic RL 训练中,工具返回等待和 batch 组织做过哪些优化?

自测

    1. 为什么说「最终 reward 是 1,前面二三十次 tool call,该奖励哪一步」这个问题能一句话问穿 GRPO?
    1. 组内 advantage 归零这件事,在单轮任务里也会发生。为什么说它在 Agentic 场景下更严重?
    1. GRPO 的 baseline 假设「同一 prompt 下组内比较是公平的」。这个假设在多轮任务里从哪一刻开始不成立?
    1. 「reward 还在涨,正确轨迹的 likelihood 却在下降」——请把它和优化粒度问题串起来解释。
    1. 面试官问「Agentic RL 训练不稳定,你怎么办」,为什么先把「训练不稳定」和「credit 分得粗」拆开答会加分?

catastrophic-forgetting.md ★★★#

常见面试问法

  • Q:SFT 之后模型变笨了,为什么?
  • Q:你怎么知道模型发生了灾难性遗忘?
  • Q:为什么要在训练数据里混通用数据?加多少?
  • Q:SFT 数据为什么要拟合预训练分布?
  • Q:LoRA 能不能完全避免灾难性遗忘?

自测

    1. 设计一套能真正测出灾难性遗忘的实验。请列出评测集的设计准则、需要测量的量,以及你的判读规则。
    1. 为什么说「用训练 loss 判断有没有遗忘」是错的?
    1. 一段 SFT 之后,团队发现模型在目标任务的测试集上从 78% 掉到 71%,同时在通用 benchmark 上从 65% 掉到 60%。你会先做什么?
    1. 你在微调语料里混了 30% 通用数据,通用能力守住了,但目标任务的指标明显不如纯微调版本。你怎么决策?
    1. 除了混通用数据,还有哪些缓解灾难性遗忘的手段?请按代价从低到高排序,并说明各自的局限。

data-engineering.md ★★★#

常见面试问法

  • Q:你们的合成数据是怎么造的?
  • Q:为什么不用最强的模型来过滤所有的数据?
  • Q:质量分类器的偏置会不会成为数据的偏置?
  • Q:模型造的数据训模型,会不会把错误固化?
  • Q:怎么保证评测可信?

自测

    1. 用一句话解释级联分类器为什么能省成本,并说明「便宜的那一级」在设计上最重要的约束是什么。
    1. 你造了一批合成偏好数据,训练很顺利,但线上模型变得啰嗦、爱加小标题。最可能的两个原因是什么?
    1. 合成数据流水线里,哪一步是最容易被跳过、但后果最严重的?
    1. 为什么「SQL 能执行」不能作为数据正确性的验收标准?正确的验收标准是什么?
    1. 如果你必须在一周内为一个小众垂域造 5 万条 SFT 数据,你会怎么分配预算?

dpo.md ★★★#

常见面试问法

  • Q:DPO 为什么不需要 reward model?请给出直觉层面的解释。
  • Q:DPO 还需要 reference model 吗?它的作用是什么?
  • Q:β 调大调小分别发生什么?
  • Q:DPO 训练时 loss 正常下降,但模型的输出质量变差了,可能是什么原因?
  • Q:DPO 和 RLHF 的取舍是什么?什么场景你会坚持用 PPO/GRPO?
  • Q:为什么在 Writing Copilot 里先 DPO 再 GRPO,而不是反过来?

自测

    1. 逐步说明 DPO 推导中,「reward model 被消掉」的关键一步是什么,为什么那个不可计算的项会消失。
    1. DPO 的损失函数里为什么只出现「差值」这件事,会带来什么具体故障?
    1. 一个团队报告「DPO 之后离线偏好准确率从 60% 提到 85%,但用户没有感觉到变好」。列出三种可能,并各给一个验证方法。
    1. 为什么说 DPO「便宜但天花板受数据限制」?如果想兼得稳定与探索,可以怎么做?
    1. 给你一份 (prompt, chosen, rejected) 数据,你怎么在训练前就预判 DPO 会不会出事?

grpo.md ★★★#

常见面试问法

  • Q:GRPO 为什么可以不要 value model?
  • Q:GRPO 相比 PPO 真的更便宜吗?
  • Q:如果一组样本奖励全都一样会发生什么?
  • Q:GRPO 的 advantage 对整条回答是同一个值,这有什么问题?
  • Q:Text2SQL 的 GRPO 奖励你会怎么设计?
  • Q:Verl 是什么?为什么用它?

自测

    1. 用「baseline 的降方差作用」这条线,解释 GRPO 为什么能删掉价值网络,并说明它付了什么代价。
    1. 训练中出现「reward 上升但模型并没有真的变好」,在 GRPO 里你会优先怀疑哪两件事?怎么查?
    1. 为什么说 GRPO 特别适合推理模型训练?请从奖励来源和成本结构两方面回答。
    1. 你在 Verl 里跑 GRPO,发现 GPU 利用率低、每轮迭代很慢。你会从哪里入手排查?
    1. 如果 GRPO 里某个 prompt 的 GG 条回答奖励全部相同(都正确或都错误),训练会怎样?你怎么在流水线里处理它?

rlhf-ppo.md ★★★#

常见面试问法

  • Q:RLHF 里为什么需要四个模型?各自不能省吗?
  • Q:KL 惩罚是干什么的?去掉会怎样?
  • Q:PPO 里为什么要 clip?
  • Q:既然有 KL 约束,为什么还会 reward hacking?
  • Q:你们为什么不用 PPO 而用 GRPO?如果业务必须用 PPO 你会怎么降本?
  • Q:PPO 训练中出现输出长度持续上涨、评测分反而先升后降,怎么诊断?

自测

    1. 逐个说明 RLHF 里的四个模型,其中哪个最容易被「省掉」,省掉之后代价是什么。
    1. 用「reward model 的适用域」这个角度解释 KL 惩罚的必要性,并说明为什么 β 不能调成无穷大。
    1. 为什么说 PPO 慢主要慢在 rollout 而不是梯度计算?这个认识对系统设计意味着什么?
    1. 你的模型在 RLHF 后变得极其啰嗦且爱用 markdown 小标题,评测分却涨了。请给出诊断方案和至少三条处理措施。
    1. 如果一个业务场景你只能用 PPO(不能用 GRPO / DPO),你会做哪些取舍来把它跑起来?

sft.md ★★★#

常见面试问法

  • Q:SFT 的 loss 为什么只算在 response 上?
  • Q:SFT 数据是不是越多越好?
  • Q:SFT 之后模型变笨了,为什么?
  • Q:chat template 不一致会怎样?
  • Q:SFT 和指令微调(Instruction Tuning)是一回事吗?

自测

    1. 为什么 SFT 的 loss 只在 response token 上计算?prompt 上算 loss 会带来什么具体问题?
    1. 你的 SFT 训练 loss 一路下降,但评测集不升反降。最可能的原因和三个具体动作是什么?
    1. 「SFT 学能力,偏好对齐学偏好」——请各举一个只有前者能解决、只有后者能解决的例子。
    1. packing 提高吞吐,但可能带来什么隐蔽问题?
    1. 为什么说 SFT 数据的分布应拟合预训练分布?偏离会付出什么代价?

lora-peft.md ★★#

常见面试问法

  • Q:LoRA 的原理是什么?为什么它能省这么多显存?
  • Q:rank 和 alpha 分别控制什么?它们怎么相互影响?
  • Q:QLoRA 是什么?它和 LoRA 有什么取舍?
  • Q:训练完的 LoRA 是合并好还是不合并好?
  • Q:什么情况下你会放弃 LoRA 选择全参微调?
  • Q:如果我们给每个客户训一个 LoRA,你觉得会踩什么坑?

自测

    1. LoRA 大幅降低显存占用的真正原因是什么?请把「训练一个 NN 参数模型」的显存构成拆开说明。
    1. 你把 rank 从 8 提到 64,效果却没有提升。列出至少三个可能原因。
    1. 「PEFT 适合改变行为,不适合改变知识」——请把这个准则展开成三个具体场景的判断。
    1. 合并 LoRA 权重时有哪些坑?
    1. 给定一个「用 4 张卡把 32B 模型微调成垂域客服助手,训练数据 2 万条,主要是话术与格式」的需求,你会怎么选方案?

03-rag#

07-contextual-retrieval.md ★★★#

常见面试问法

  • Q:分块会切断上下文,你有哪些办法?
  • Q:上下文感知检索是什么?为什么它同时提升稀疏和稠密两路?
  • Q:它和上下文压缩有什么区别?(陷阱题)
  • Q:它的成本和收益?
  • Q:什么时候你会做、什么时候不做?
  • Q:用户记忆检索用得着它吗?

自测

    1. chunking.md 说「分块会切断答案」,但给的四种手段都是切分时的。请说出它缺的那一类解法,并解释为什么切分时的手段补不上。
    1. 上下文感知检索为什么能同时提升 BM25 和向量两路?分别补了什么?
    1. 面试官问「上下文感知检索和上下文压缩有什么不同」,这两个词哪里容易混?
    1. 「结合 BM25 后检索失败率下降约 49%,再叠加重排序后约 67%」——这句话里有哪些坑?
    1. 用户记忆里怎么用它?为什么需要「双层」而不是只用一层?

chunking.md ★★★#

常见面试问法

  • Q:你的 chunk size 怎么定的?
  • Q:chunk 越小检索越准吗?那是不是越小越好?
  • Q:overlap 有什么用?开大点是不是更保险?
  • Q:为什么 chunk size 会和 embedding 模型相关?
  • Q:语义分块听起来更高级,为什么不是默认选择?

自测

    1. 一个用户说「文档里明明写了答案,RAG 就是检索不到」。除了换 embedding 模型,chunking 上有哪两个最值得先查的假设?
    1. 为什么说父子分块(small-to-big)能缓解检索粒度与生成上下文的矛盾?
    1. overlap 从 10% 提到 50%,会发生什么?
    1. 什么样的语料适合语义分块,什么样的不适合?
    1. 如果面试官让你「现在就定一个 chunk 方案去做 POC」,你会怎么说?

hybrid-rerank.md ★★★#

常见面试问法

  • Q:已经有向量检索了,为什么还要 BM25?
  • Q:两路分数怎么融合?
  • Q:bi-encoder 和 cross-encoder 的区别?
  • Q:加 reranker 一定更好吗?
  • Q:top-k 怎么定?

自测

    1. 举一个稠密向量必定输给 BM25 的例子,和一个 BM25 必定输给稠密向量的例子。
    1. 为什么 RRF 比「加权分数求和」更受工程欢迎?
    1. 为什么不能直接用 cross-encoder 做检索?
    1. 你的 RAG 已经用了 hybrid + reranker,端到端还是不准。你会怎么判断 reranker 是不是有用?
    1. 「宽召回 + 精排序 + 窄注入」为什么比「一个 top-k 打天下」好?

pipeline.md ★★★#

常见面试问法

  • Q:搭一个 RAG 系统,最主要的几个模块是什么?
  • Q:RAG 回答不对,你怎么系统性排查?
  • Q:RAG 和微调,什么时候用哪个?
  • Q:为什么不能直接把文档全文塞进长上下文模型?
  • Q:RAG 的幻觉和纯 LLM 的幻觉有什么不同?

自测

    1. 面试官说「你的 RAG 答错了一个问题」,请给出你的前三个动作,并说明每一步能排除什么。
    1. 「检索召回了正确的 chunk,但模型还是答错」——列出至少三种具体原因和对策。
    1. 为什么说 RAG 的故障根因常在离线索引阶段?举例说明。
    1. RAG 里检索层指标与生成层指标为什么必须分开看?合成一个大分有什么问题?
    1. 长上下文模型(能塞几十万 token)会让 RAG 过时吗?

embedding-vector-db.md ★★#

常见面试问法

  • Q:bi-encoder 是怎么训出来的?
  • Q:HNSW 和 IVF 怎么选?
  • Q:你们的向量检索是近似最近邻,会不会漏掉正确结果?
  • Q:向量维度是不是越高越好?
  • Q:为什么有时候直接调 embedding API,效果不如预期?

自测

    1. 为什么「难负例(hard negative)」比「更多随机负例」更有价值?
    1. HNSW 的 efSearch 和 IVF 的 nprobe 都是「在线旋钮」,它们分别在调什么?
    1. ANN 检索「漏掉」了正确结果,你怎么证明这件事、又怎么缓解?
    1. 你的语料是企业内部的术语密集文档,通用 embedding 检索效果很差。按性价比给出你的处理顺序。
    1. 向量库选型时,除了「能不能搜得快」,还要考虑哪些工程因素?

graphrag.md ★★#

常见面试问法

  • Q:GraphRAG 解决 flat RAG 的什么问题?
  • Q:GraphRAG 的索引贵在哪?
  • Q:local search 和 global search 有什么区别?
  • Q:什么情况下你不会用 GraphRAG?
  • Q:GraphRAG 里最容易出问题的一环是什么?

自测

    1. 为什么「这批文档的主要议题是什么」这类问题,flat RAG 加大 top-k 也答不好?
    1. GraphRAG 的索引成本由哪些部分组成?为什么它的增量更新特别难?
    1. local search 与 global search 各自的成本特征是什么?
    1. 什么信号会让你判断「这个系统不该上 GraphRAG」?
    1. 如果一定要做 GraphRAG,你会怎么降低它的成本和风险?

query-rewriting.md ★★#

常见面试问法

  • Q:多轮对话里用户说「它的价格呢」,你怎么检索?
  • Q:HyDE 是什么?为什么用「可能错的假想文档」去检索反而有效?
  • Q:查询扩展会不会引入噪声?
  • Q:什么情况下不做改写?
  • Q:改写之后效果怎么评估?

自测

    1. 为什么多轮 RAG 里指代消解必须发生在检索"之前"?
    1. HyDE 的直觉是什么?它为什么不需要保证假想文档的内容正确?
    1. 用户问「A 和 B 的区别,以及它们分别多少钱」,一次检索能不能答好?为什么?
    1. 查询扩展和「多路查询 + RRF 融合」相比,各自的取舍是什么?
    1. 什么信号会让你决定"这个查询不需要改写"?

04-agent-architecture#

09-coding-agent.md ★★★#

常见面试问法

  • Q:为什么说 Coding Agent 是所有 Agent 类型里成熟度最高的?
  • Q:一个基础 Coding Agent 需要哪些核心工具?Codex 为什么能更少?
  • Q:什么是项目指令文件?怎么判断一个代码库"AI-ready"?
  • Q:生产级 Agent 会遇到哪几类故障?怎么检测?
  • Q:Agent 连续失败,你重试几次?这个阈值从哪来?
  • Q:把跑到一半的 Agent 轨迹换另一家模型接着跑,最大的障碍是什么?
  • Q:Coding Agent 怎么在代码库里找东西?为什么可以不建嵌入索引?
  • Q:文件编辑有哪几种方案?各自的失效模式是什么?
  • Q:致命三要素是什么?第四个维度为什么是"放大器"?
  • Q:为什么 shell 命令安全不能用关键字黑名单?
  • Q:Agent 生成 SQL 由前端直接执行(Artifact 模式)好在哪?坏在哪?

自测

    1. 用「任务清晰度 × 验证自动化」四象限解释:为什么 Coding Agent 成熟度最高,而「让 UI 更好看」这类任务难以启动?
    1. 一个工具调用返回了"工具不存在"的错误。请说明:这属于哪一层故障?该走"静默重试"还是别的路径?为什么?
    1. 熔断阈值「连续 3 次」这个数字为什么值得记住?它背后的生产数据说明了什么?
    1. 有一批代码要跨模块重命名一个函数(有测试覆盖),另有一批是生产库的数据迁移脚本。按本章的判据,哪些交给 AI、哪些自己写?为什么?
    1. 为什么"Agent 在代码库里找东西"这件事,成熟产品反而选择了不建嵌入索引?这对 RAG 那套结论意味着什么?

10-tool-discovery.md ★★★#

常见面试问法

  • Q:工具多了会怎样?为什么?怎么解决?
  • Q:检索式预筛选(tool RAG)有什么内在局限?更进一步的方案是什么?
  • Q:动态加载工具为什么会破坏 KV Cache?各家 API 怎么解决?由此哪条旧结论不再成立?
  • Q:「要不要用 MCP」和「Skill 还是专用工具」这两类问题,和你说的「工具太多」是不是同一件事?
  • Q:一个工具的描述该怎么写?
  • Q:同一件事该做成专用工具、拆细,还是写成 Skill?
  • Q:什么是静默输入转换和静默参数注入?为什么危险?
  • Q:引入第三方 MCP server 有哪些安全风险?怎么缓解?
  • Q:Skill 是不是比 MCP 更危险?

自测

    1. 工具超过 100 个时会发生什么?给出三个层次的应对,并说清每一层各自省的是什么。
    1. 一个工具的描述,你会写哪几块?为什么「边界」和「示例」比「能力」更重要?
    1. 动态加载工具为什么和 KV Cache 冲突?各家 API 的解法是什么?由此哪条旧结论不再成立?
    1. 同一件事 —— 「部署应用」—— 你会做成一个专用工具、拆成三个细工具,还是写一份 SKILL.md?按什么维度决定?
    1. 静默输入转换和静默参数注入各举一例,说明为什么模型无法自诊,以及正确的设计原则是什么。

11-async-event-driven.md ★★★#

常见面试问法

  • Q:为什么 Agent 需要异步和事件驱动?同步架构缺什么?
  • Q:Agent 怎么知道「该自己动起来」了?定时机制有什么盲点?
  • Q:多个事件同时到达,你怎么决定先处理哪个?
  • Q:为什么要把事件建模成结构化对象?
  • Q:模型不支持原生异步,但工具还没返回时用户插话了,怎么办?
  • Q:怎么让模型「知道」一个工具是异步的?
  • Q:语音 Agent 的三种架构是什么?各自的取舍?
  • Q:Computer Use 是怎么在截图里找到要点的按钮的?
  • Q:Computer Use 的瓶颈在哪?为什么说「准确率到人类水平」还不够?

自测

    1. 为什么说「不能仅凭代码用了 asyncio,就认定模型具备原生异步能力」?两条实现路线分别靠什么维持正确性?
    1. Cron 和 Heartbeat 让 Agent「自己动起来」,那为什么还需要 Channel?举一个具体场景。
    1. 模型正在执行工具、工具还没返回时用户插话,但接口是同步的。你会怎么做?这套方案有什么风险?
    1. 快思考 / 慢思考的三种方案各是什么?「端到端」这个词为什么容易答错?
    1. 面试官问「你做过 Computer Use / GUI Agent 吗?」——诚实又不失分的答法是什么?为什么这件事在本仓库里是硬规矩?

12-continual-evolution.md ★★★#

常见面试问法

  • Q:一条 Agent 轨迹,你会怎么评价?为什么不能只给一个总分?
  • Q:Agent 出了个错,你会先改 Prompt、改代码,还是去训练?
  • Q:什么是系统提示学习(System Prompt Learning)?它和提示工程有什么区别?
  • Q:Agent 要自我进化,怎么保证它不出事?
  • Q:怎么判断 Agent 真的在「持续进化」,而不是分数好看?
  • Q:「完成」为什么不等于「进步」?

自测

    1. 为什么「把一百条轨迹放进长上下文或向量库」不等于「让 Agent 学会了」?
    1. 一条经验文档由三次成功轨迹和一次失败轨迹支持,失败发生在较新的 API 版本上。你怎么判断这是「经验被推翻」还是「适用条件变了」?
    1. 客服 Agent 的用户满意度上升,但规则违规率也上升。为什么不能把满意度当单一学习信号?你会怎么补护栏?
    1. 同一个「虚假承诺」问题,可以通过 Prompt、Harness 检查或参数训练缓解。你依据什么证据选择修改位置?
    1. 「把书交给 Hermes,它能升级自己吗?」——一次提案被接受,能证明 Agent 变强了吗?

agent-react.md ★★★#

常见面试问法

  • Q:怎么区分 agent 和 workflow?
  • Q:ReAct 的流程说一下。
  • Q:为什么不直接做一个全自主 agent,什么都能干?
  • Q:agent 出错了怎么恢复?
  • Q:你的 Race Bot 为什么用编排式工作流,而不是一个大 agent?

自测

    1. 给出一个能区分「agent」和「workflow」的可操作判据,并用 Race Bot 举例。
    1. 为什么说「步骤越多的 agent 越不可靠」?请用数字说明。
    1. ReAct 和 function calling 是什么关系?为什么今天的实现和原始论文不一样?
    1. 你的 agent 在第 4 步开始反复调用同一个工具、每次参数几乎一样。可能的原因和三个对策是什么?
    1. 什么情况下你会拒绝用 agent,改用固定 workflow?

context-engineering.md ★★★#

常见面试问法

  • Q:什么是上下文工程?和 prompt engineering 什么关系?
  • Q:长上下文模型是不是就不用做上下文工程了?
  • Q:指令应该放在哪里?
  • Q:上下文满了怎么办?
  • Q:你在 Writing Copilot 里怎么做上下文控制?

自测

    1. 「名义上下文窗口」和「有效上下文窗口」有什么区别?为什么这个区别重要?
    1. 一个信息,你怎么决定是放进系统提示(常驻)还是做成检索项(按需)?
    1. 上下文超预算了,你会按什么顺序做压缩?每一步的代价是什么?
    1. 为什么说「子 agent 上下文隔离」是上下文工程的手段?它的代价是什么?
    1. 为什么上下文的「顺序」在工程上很重要?至少给两个理由。

mcp.md ★★★#

常见面试问法

  • Q:MCP 解决了什么问题?
  • Q:MCP 的架构说一下。
  • Q:MCP 和 function calling 什么关系?
  • Q:用了 MCP 之后工具选择准确率会提升吗?
  • Q:怎么把 MCP 工具链落地到生产?

自测

    1. MCP 的 M×N → M+N 具体指什么?什么情况下 MCP 反而不划算?
    1. tools、resources、prompts 三者的区别是什么?为什么说这个区分本质是「控制权」?
    1. 面试官问「我们用 MCP 把工具接进来了,为什么模型还是老选错工具」,你怎么答?
    1. 从 stdio 的本地 server 迁到远程 server,主要工作量和新增风险在哪?
    1. 为什么说 MCP 不解决 prompt injection?它和工具安全的关系是什么?

multi-agent.md ★★★#

常见面试问法

  • Q:为什么用多智能体而不是一个大 agent?
  • Q:多智能体有什么代价?
  • Q:supervisor 模式怎么实现的?
  • Q:LangGraph 的共享状态模型是什么?
  • Q:你的 Writing Copilot 为什么拆成三个 agent?

自测

    1. 多智能体的核心收益是什么?请从「上下文」的角度解释,而不是从「多个 agent 分工」的角度。
    1. 一个 4 个 agent 串联的系统,每个 agent 的准确率都是 95%。端到端大概是多少?除了这个数字之外,还有什么更隐蔽的风险?
    1. 什么时候你会明确拒绝使用多智能体?给出至少三个场景。
    1. LangGraph 里「共享状态」的设计为什么是关键工作?说清它的收益和风险。
    1. handoff 时你会传递什么?为什么不用自然语言总结?

tool-use.md ★★★#

常见面试问法

  • Q:tool calling 的完整流程走一遍。
  • Q:结构化输出能保证什么,不能保证什么?
  • Q:工具多了怎么办?
  • Q:工具报错了怎么处理?
  • Q:写工具描述有什么经验?

自测

    1. 结构化输出(受约束解码)能保证什么、不能保证什么?各举一个例子。
    1. 如果一次工具调用超时了,你会直接重试吗?需要考虑什么?
    1. 你有 80 个工具,模型经常选错。给出三个不同层次的解法,并说明各自的代价。
    1. 为什么说「工具描述就是 prompt engineering」?写出你判断一个描述好不好的标准。
    1. 工具返回值为什么是安全风险?怎么缓解?

08-agent-stack.md ★★#

常见面试问法

  • Q:你怎么理解 MCP、Prompt、CLI、Skill、Harness 这些概念,以及它们之间的关系?
  • Q:Skill 和 Tool 的区别是什么?
  • Q:CLI 在 agent 系统里算什么?为什么要通过 MCP 包装它?
  • Q:Harness 具体指什么?它和 Agent 是什么关系?
  • Q:如果模型上线后比离线评测差很多,你会先怀疑 Harness 吗?

自测

    1. 用一句话说清 MCP / Prompt / CLI / Skill / Harness 的关系,并指出哪一个「不占某一层」、为什么。
    1. 「发送邮件」和「撰写一封得体的会议纪要邮件并发送」,哪个是 Tool、哪个是 Skill?判据是什么?
    1. 面试官问「Skill 和 MCP 有什么区别」,这个问题本身有什么问题?你该怎么回答?
    1. Harness 的主流定义是什么?它是包住 Agent 还是被 Agent 包含?另外两个用法分别对应什么问题?
    1. 「模型离线评测很好,上线就退化」——如果不怀疑模型能力,你会往 Harness 上想哪两件事?为什么这两件事调 prompt 都解决不了?

human-in-the-loop.md ★★#

常见面试问法

  • Q:为什么政企客户需要 HITL?不能全自动吗?
  • Q:你把确认点放在哪一步?为什么?
  • Q:HITL 有什么代价?
  • Q:中断恢复怎么实现?
  • Q:HITL 会不会让系统变得不好用?

自测

    1. 你的 agent 要在「大纲 → 检索 → 写作 → 发布」四个阶段设一个确认点,放哪?用成本结构解释。
    1. HITL 的四个主要代价是什么?哪一个最容易被忽略,为什么它危险?
    1. 实现 interrupt / resume 时必须解决哪些工程问题?
    1. 什么情况下你会明确不用 HITL?
    1. 为什么说「展示真实的工具名与参数」比「让模型说明它要做什么」更安全?

memory.md ★★#

常见面试问法

  • Q:短期记忆和长期记忆怎么设计?
  • Q:为什么偏好不放进向量库?
  • Q:记忆会不会写错?写错了会怎样?
  • Q:记忆和 RAG 有什么区别?
  • Q:多轮对话历史越来越长怎么办?

自测

    1. 为什么「用户偏好简体中文」这类事实不该放在向量库里?
    1. 短期记忆里,「对话历史」和「任务状态」为什么要分开?不分开会出什么问题?
    1. 一条错误的记忆被写进长期存储,后果为什么比一次错误的回答严重?
    1. 记忆「只追加」会带来什么具体问题?你会怎么处理冲突和过期?
    1. 你怎么验证引入记忆系统真的有用?

05-agent-evaluation#

05-statistical-significance.md ★★★#

常见面试问法

  • Q:我在 100 条评测集上把成功率从 70% 刷到了 73%,能上线吗?
  • Q:标准误的公式是什么?为什么 nn 在根号里?要减半误差怎么办?
  • Q:比较两个模型,为什么不能直接相减成功率?
  • Q:pass@k 和 pass^k 是什么关系?p=0.6、k=5 时分别是多少?
  • Q:Elo 1200 对 1000,谁赢的概率多大?它的统计基础是什么?
  • Q:LLM 做 pairwise 评判时位置偏置怎么处理?

自测

    1. 一个评测集有 100 道题,某模型成功率 70%。给出 95% 置信区间,并说明「另一个模型 73%」意味着什么。
    1. 给出 McNemar 检验和 paired bootstrap 的口径,并解释为什么配对比独立比较灵敏。
    1. p=0.6、k=5 时 pass@5 和 pass^5 分别是多少?为什么必须写清 k 的口径?
    1. 你并行测了 15 个提示词变体,其中一个把成功率从 68% 提到 75%(n=80)。你会直接采用它吗?
    1. Elo 1200 对 1000 的预期胜率是多少?它和 Bradley-Terry 是什么关系?位置偏置怎么处理?

llm-as-judge.md ★★★#

常见面试问法

  • Q:为什么不用 BLEU / ROUGE 评测生成质量?
  • Q:pointwise 和 pairwise 怎么选?
  • Q:LLM judge 有哪些已知偏置?
  • Q:你怎么证明你的 judge 是可信的?
  • Q:裁判和生成模型是同一个模型,有什么问题?

自测

    1. 面试官问「你说 LLM judge 能用,你怎么证明它打得对?」——给出完整回答。
    1. 你做了个 A/B:模型新版本在 LLM judge 下胜率 55%,直接上线吗?
    1. 为什么 pairwise 比 pointwise 更可靠?它自己的代价是什么?
    1. 裁判在通用对话任务上校准得很好,能直接拿去评代码生成吗?
    1. 列出至少四种缓解 LLM judge 偏置的具体做法。

rag-eval.md ★★★#

常见面试问法

  • Q:RAG 效果不好,你怎么查?
  • Q:RAG 里最该看的检索指标是哪个?
  • Q:faithfulness 高是不是就说明 RAG 没问题?
  • Q:怎么评 citation correctness?
  • Q:没有标注数据,怎么做 RAG 评测?

自测

    1. 线上答对率从 82% 掉到 74%。给你一批失败 case,你的诊断流程是什么?
    1. 为什么 RAG 里 Recall@k 通常比 Precision@k 更关键?只提召回有什么风险?
    1. faithfulness 打了满分,能不能说这个 RAG 系统没问题?
    1. 「证据不在上下文里,但模型答对了」这一格说明什么?为什么值得警惕?
    1. 你要评 citation correctness,具体怎么拆?

agent-eval.md ★★#

常见面试问法

  • Q:agent 怎么评测?
  • Q:pass@k 和 pass^k 有什么区别?产品该看哪个?
  • Q:怎么定义"工具选择准确率"?
  • Q:为什么"和标准轨迹比对"这种做法不好用?
  • Q:一个 agent 成功率 90%,能上线吗?

自测

    1. 为什么"outcome-only 评测会掩盖坏过程"?举三个具体例子。
    1. pass@k 和 pass^k 分别测什么?一个 pass@10 = 0.9、pass^10 = 0.3 的 agent 意味着什么?
    1. 为什么"和人工标准轨迹逐步比对"不是好做法?更好的替代是什么?
    1. 为什么长程 agent 任务特别难?用误差累积解释。
    1. 你要给一个工具调用 agent 建评测,列出至少五个你会上报的指标,并说明各自的目的是什么。

benchmarks.md ★★#

常见面试问法

  • Q:benchmark 分数高能说明什么?不能说明什么?
  • Q:你怎么知道模型没见过这些题?
  • Q:为什么要做区域化 benchmark?
  • Q:HKMMLU 是怎么构建的?
  • Q:一个四选一的 benchmark,模型得分 30%,怎么解读?
  • Q:为什么同一个模型在不同报告里的 benchmark 分数会不一样?

自测

    1. 面试官问「HKMMLU 的题,模型是不是训练时见过?」你怎么答?
    1. 一个模型在某个四选一 benchmark 上得 30%,能得出什么结论?还缺什么信息?
    1. 为什么需要区域化 benchmark?它自身有什么绕不开的局限?
    1. 同一个模型在两个不同报告中 benchmark 分数差了几个点,可能的原因有哪些?
    1. 如果让你从零设计一个评测集,你会定哪些规范?

06-agent-infra#

gateway-routing.md ★★★#

常见面试问法

  • Q:为什么要做 AI 网关?直接每个应用各接各的不行吗?
  • Q:为什么要做模型路由?全用大模型不行吗?
  • Q:路由判断错了怎么办?错误会怎么传播?
  • Q:路由本身的开销会不会抵消收益?
  • Q:怎么评估路由策略的好坏?
  • Q:上游模型故障/限流,网关怎么办?

自测

    1. 为什么路由用的模型必须小而快?如果路由用大模型会怎样?
    1. 为什么路由的决策阈值应该偏保守(宁可多花钱走大模型)?
    1. 网关集中了哪些职责?没有网关会付出什么代价?
    1. 面试官问「怎么评估你的路由策略」,你会给出哪些指标?
    1. 「统一接口」是不是意味着上层应用不用管模型差异了?

latency-cost.md ★★★#

常见面试问法

  • Q:TTFT 和 TPOT 分别是什么?为什么要分开看?
  • Q:增大 batch 会怎样影响延迟和吞吐?
  • Q:怎么估算每 token 的成本?
  • Q:prompt caching 为什么能同时降成本又降延迟?
  • Q:用户抱怨"有时候很快,有时候很慢",你怎么查?

自测

    1. 一个请求 TTFT = 0.8s,输出 500 个 token,TPOT = 30ms。端到端大约多少?如果要把 E2E 减半,最有效的两个动作是什么?
    1. 为什么说"增大 batch 提升吞吐"和"降低延迟"是一对矛盾?怎么处理?
    1. 自建推理的每 token 成本怎么算?为什么说"模型更大不一定更贵"?
    1. 你在网关里加了 prompt caching,但订单量没降。最可能是什么原因?
    1. 用户说"有时候快有时候慢",你怀疑是尾部延迟,怎么定位?

vllm-pagedattention.md ★★★#

常见面试问法

  • Q:PagedAttention 解决什么问题?
  • Q:为什么说它提升了吞吐?
  • Q:block table 是干什么的?和操作系统页表什么关系?
  • Q:前缀缓存/前缀共享为什么重要?
  • Q:用了 vLLM 之后吞吐还是很低,你会查什么?

自测

    1. 传统做法下 KV Cache 的两类碎片分别是什么?PagedAttention 怎么消掉它们?
    1. PagedAttention 是通过什么路径提升吞吐的?为什么它"省显存"能直接变成"多吞吐"?
    1. 前缀缓存对什么样的服务收益最大?什么样的服务几乎没收益?
    1. 你在 vLLM 上遇到长请求拖慢整批的情况,会怎么处理?
    1. 有人在面试里说「vLLM 的 PagedAttention 把 KV Cache 压缩了 4 倍」。这句话哪里错了?

batching-parallelism.md ★★#

常见面试问法

  • Q:静态批处理和连续批处理有什么区别?
  • Q:TP / PP / DP 分别切什么?什么时候用哪个?
  • Q:为什么张量并行一般只在单机内做?
  • Q:流水线并行的"空泡"是什么?怎么缓解?
  • Q:推理服务要扩吞吐,加机器和加卡分别怎么做?

自测

    1. 一批里有 1 个 2000-token 的长请求和 8 个 20-token 的短请求。静态批处理浪费在哪?连续批处理怎么解决?
    1. TP 和 PP 分别切什么?为什么 TP 对互联带宽敏感而 PP 相对不敏感?
    1. 单卡放不下一个 70B 模型(以 FP16 估算),但你有 8 卡单机 + 多机。你怎么编排 TP/PP/DP?
    1. 为什么说「并行了就会变快」是错的?
    1. 为什么说连续批处理要和 PagedAttention 一起用?

observability.md ★★#

常见面试问法

  • Q:agent 出错了,只有日志为什么不够?
  • Q:你的 trace 里会记录什么?
  • Q:trace 怎么和评测结合?
  • Q:从线上失败到模型改进,闭环怎么搭?难点在哪?
  • Q:怎么定位"有时候快有时候慢"这类问题?

自测

    1. 为什么 agent 的可观测性必须用 trace 而不是日志?
    1. 一次 agent 运行的 trace 里,你会记哪些字段?还要注意什么约束?
    1. 怎么把 trace 变成评测数据?
    1. 描述从线上失败回到模型改进的闭环,并指出两个最容易断掉的环节。
    1. 团队想"把所有 prompt 和输出全量存下来,方便以后分析"。你怎么评估这个提议?

quantization.md ★★#

常见面试问法

  • Q:量化的收益从哪来?为什么省显存不一定提速?
  • Q:weight-only 和 weight+activation 有什么区别?
  • Q:为什么激活量化比权重量化难?
  • Q:INT4 和 INT8 怎么选?
  • Q:PTQ 和 QAT 怎么选?
  • Q:为什么 KV Cache 量化值得单独关注?

自测

    1. 为什么 weight-only 量化主要帮 decode,而 weight+activation 才能帮 prefill?
    1. 激活量化为什么比权重量化难?业界怎么处理?
    1. 你要把一个模型量化上线,上线前必须做哪些验证?
    1. 有人说「FP8 和 INT8 差不多,随便选一个」。这句哪里不对?
    1. 量化一定会提速吗?请给出一个它不提速的场景。

项目防守稿(02-interview/projects)#

主体是「面试官会怎么往下挖」的分层问答(澄清 → 技术细节 → 工程生产 → 反思)与「线上故障复盘」,含答案要点 —— 在各自文件里。这里抽「自测」段。

hkgai-llm.md ★★★#

自测

    1. 你如何证明「混入 10% 通用数据缓解了灾难性遗忘」?需要什么对照组?
    1. 为什么数据过滤用 BERT + GPT-4 两级,而不是全用 GPT-4?
    1. 面试官问「HKMMLU 的题模型是不是见过」,你怎么答?
    1. 模型在 HKMMLU 上分数很高,能推出什么结论?不能推出什么?
    1. 用 GPT-4 生成/校验数据会带来什么风险?怎么缓解?

quewi-chatbot.md ★★★#

自测

    1. 为什么意图识别用 4B 小模型而不是让主模型顺便做掉?给出四条理由。
    1. 路由判断错了,为什么阈值应该偏保守(宁可多花钱)?
    1. 面试官问「路由本身的开销会不会抵消收益」,你怎么答?
    1. 「意图识别准确率提升约 23%」—— 被追问时你需要说清哪三件事?
    1. 用真实用户数据做 SFT,列出至少三个必须处理的风险。

race-bot-hkjc.md ★★★#

自测

    1. 面试官问「92% 是怎么测的」,请给出一个完整的、经得起追问的回答。
    1. 为什么不能只用 SFT,还需要 GRPO?请从「SFT 的能力边界」角度回答。
    1. 如果你的合成数据污染了评测集,会表现出什么症状?如何在流程上避免?
    1. 把「SQL 执行成功」单独作为 RL 奖励会产生什么问题?
    1. 面试官问「这个系统上线后有多少用户」,而数据受客户保密约束,你怎么答?

writing-copilot.md ★★★#

自测

    1. 用三句话说清为什么是 DPO 先、GRPO 后。顺序反过来会怎样?
    1. DPO 的偏好数据里,rejected 应该选什么?为什么不能随机选?
    1. HITL 放在大纲阶段而不是成文之后,理由是什么?这个设计有什么代价?
    1. 上下文压缩到极致会发生什么?你如何证明压缩是可接受的?
    1. 为什么政企场景需要独立的实体校对模块,而不是指望模型自己写对?

系统设计题(02-interview/design)#

每道题本身就是一整道设计题 —— 考的是「先澄清、再设计、主动说不做什么」。追问段已抽为清单,但真正的价值在源文件的第 2 节(澄清)与第 4.5/4.6 节(明确不做什么)。

01-enterprise-rag.md ★★★#

面试官会怎么往下挖

  • Q:你会先问我什么?
  • Q:为什么不直接上长上下文模型,把文档全塞进去?
  • Q:检索错了和生成错了,你怎么区分?
  • Q:chunk size 你怎么定?
  • Q:权限过滤放在检索前还是后?为什么?
  • Q:用户问了一个库里没有的问题,系统怎么表现?
  • Q:文档里同一件事有两个说法,系统怎么办?
  • Q:怎么知道系统上线后有没有变差?
  • Q:文档更新了,怎么保证答案跟着更新?
  • Q:成本怎么控制?
  • Q:怎么排查线上某个具体错误回答?
  • Q:这个方案什么时候会不够用?
  • Q:如果客户说「答错一次就不能接受」,你怎么回?
  • Q:这个项目里最容易被低估的工作量是什么?

自测

    1. 为什么权限过滤必须在检索之前,而不是生成之后?说出两个具体后果。
    1. 这个场景为什么不该上 GraphRAG 和多智能体?请从「方案必要性」角度说明。
    1. 客户要求「答错一次都不能接受」,你怎么回应?
    1. 文档被删除后,如果只做增量「新增」不做删除处理,会发生什么?
    1. 换成「这个知识库要支持 5000 人同时用,QPS 500」,你的架构哪些部分要改?

02-multi-agent-service.md ★★★#

面试官会怎么往下挖

  • Q:你会先问我什么?
  • Q:为什么这里是编排而不是多智能体?
  • Q:为什么不用一个大模型一个 prompt 搞定?
  • Q:路由判错了怎么办?错误会怎么传播?
  • Q:安全分类为什么是独立阶段,而不是 system prompt 里写一句?
  • Q:简单请求和复杂请求走同一条路径吗?为什么不分?
  • Q:多轮对话的状态怎么管理?指代怎么消解?
  • Q:用户的问题横跨两个分支怎么办(既问政策又要数据)?
  • Q:怎么知道系统上线后有没有变差?
  • Q:怎么排查线上某一条错误回答?
  • Q:成本怎么控制?
  • Q:客户的知识库更新了怎么办?
  • Q:子流程超时或上游模型挂了,系统怎么表现?
  • Q:这个方案什么时候会不够用?
  • Q:客户说「一次都不能答错」,你怎么回?
  • Q:什么条件下你才会真的上多智能体?
  • Q:这个项目里最容易被低估的工作量是什么?

自测

    1. 什么情况下该上多智能体,什么情况下单 agent + 工具就够?给出判据。
    1. 安全与话题分类为什么必须是显式流水线阶段,而不是 system prompt 里的一句约束?说出两个具体理由。
    1. 路由把复杂请求误判成了简单请求,会发生什么?阈值应该偏向哪一边?
    1. 编排式系统最危险的错误传播形式是什么?设计三层兜底。
    1. 换条件:客户澄清后说「其实 80% 的请求都是同一类 FAQ,复杂分析很少见」,你的架构怎么改?

03-text2sql.md ★★★#

面试官会怎么往下挖

  • Q:你会先问我什么?
  • Q:为什么不直接用最强模型生成 SQL?
  • Q:这些指标能不能离线预计算好,根本不用 Text2SQL?
  • Q:实体模糊匹配为什么用 ES 不用向量检索?
  • Q:retry-and-fix 怎么防止越修越错或无限循环?
  • Q:schema 召回怎么评测?
  • Q:合成数据会不会污染评测集?怎么保证?
  • Q:GRPO 的奖励怎么设计?「执行成功」能单独作奖励吗?
  • Q:业务口径(比如「退款率」的定义)模型不知道怎么办?
  • Q:线上延迟多少、怎么优化?
  • Q:怎么排查某一次错误回答?
  • Q:用户的查询会不会压垮生产库?
  • Q:schema 变了(加表、改列)怎么办?
  • Q:什么时候你会说「这个需求不该用 Text2SQL」?
  • Q:如果用户问的是「预测下个季度会怎样」,你怎么处理?
  • Q:重做这个项目,你会改什么?
  • Q:这个项目里最容易被低估的工作量是什么?

自测

    1. 端到端生成 SQL 在垂域 schema 上的三个硬伤分别是什么,各对应什么对策?
    1. 合成数据怎么保证不污染评测集?说出三条流程约束。
    1. GRPO 在什么情况下会「训不动」?为什么 prompt 难度管理是一等公民?
    1. 把「SQL 执行成功」单独作为 RL 奖励会产生什么问题?正确做法是什么?
    1. 换条件:schema 只有 10 张表、用户都用标准 ID 查询、查询以点查为主 —— 你的架构怎么改?

04-llm-evaluation.md ★★★#

面试官会怎么往下挖

  • Q:你会先问我什么?
  • Q:为什么不直接看用户反馈?
  • Q:为什么不用 BLEU / ROUGE?
  • Q:你怎么证明你的 judge 可信?
  • Q:judge 和人工不一致,你改什么?
  • Q:pointwise 还是 pairwise?为什么?
  • Q:评测集多大才够?
  • Q:一个模型在公开 benchmark 上分很高,能说明什么?
  • Q:怎么接进 CI?
  • Q:评测集自己会过期吗?
  • Q:线上出现一类新失败,怎么进到评测集里?
  • Q:这套体系什么时候会失效?
  • Q:客户说「我就要一个质量分数,一个数就行」,你怎么回?
  • Q:只有两周和一个人,你砍掉什么?

自测

    1. 为什么说「能用确定性校验就不要用 judge」?举三类可以用确定性校验的评测。
    1. 你的 judge 和人工一致性只有 60%,但人工标注者之间的一致性也只有 65%。你怎么处理?
    1. 为什么不能用 pointwise 的绝对分跨批次比较模型版本?
    1. 客户说「我就要一个质量分数」。你怎么回应?
    1. 只有两周和一个人,你砍掉什么、保留什么?

05-routing-gateway.md ★★#

面试官会怎么往下挖

  • Q:你会先问我什么?
  • Q:为什么不让每个应用各接各的?
  • Q:网关会不会成为单点和瓶颈?
  • Q:路由判断错了怎么办?错误会怎么传播?
  • Q:路由本身的开销会不会抵消收益?
  • Q:用 embedding 语义路由还是小模型分类器?
  • Q:级联(先小后大)和路由(直接选)怎么选?
  • Q:统一接口是否意味着上层不用管模型差异了?
  • Q:上游模型故障 / 限流,网关怎么办?
  • Q:怎么评估路由策略的好坏?
  • Q:怎么把一个新模型接进来?
  • Q:有人绕过网关直接调模型,怎么办?
  • Q:这个网关什么时候不值得建?
  • Q:如果某个供应商明天涨价三倍,你怎么应对?
  • Q:如果重做,你会改什么?

自测

    1. 为什么路由判断必须便宜?给出量级论证。如果路由用大模型会怎样?
    1. 为什么路由的决策阈值应该偏保守(宁可多花钱走大模型)?
    1. 怎么评估一个路由策略?为什么「路由准确率」这个单一数字不够?
    1. 你为什么不做学习式 router?什么条件下你会做?
    1. 网关集中了什么、明确不解决什么?至少说出三件它不解决的事。

06-agent-observability.md ★★#

面试官会怎么往下挖

  • Q:你会先问什么?
  • Q:日志为什么不够?
  • Q:为什么不先把所有 prompt 全量存下来,以后慢慢分析?
  • Q:trace 里你会记哪些字段?
  • Q:怎么确定是哪一步坏的?
  • Q:过程对不对怎么判?
  • Q:怎么区分「模型失败」和「环境失败」?
  • Q:失败率百分之几算高?
  • Q:怎么知道新版本没有变差?
  • Q:用户投诉了某一次对话,你怎么查?
  • Q:怎么让埋点不影响性能?
  • Q:这套东西什么时候会不够用?
  • Q:客户说「任何用户内容都不允许落盘」,你怎么做可观测性?
  • Q:如果只能做一件事,你做哪件?

自测

    1. 为什么 agent 的可观测性必须用 trace 而不是日志?
    1. 一次运行失败了,你怎么确定是哪一步坏的?
    1. trace 里哪些字段是「上线时想不到、以后一定会要」的?举两例并说明后果。
    1. 客户要求「任何用户内容都不能落盘」,你怎么设计可观测性?牺牲了什么?
    1. 怎么把线上失败变成评测集和训练数据?这个闭环最容易断在哪?