面试题库总索引
从 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 能无限增长吗?超长生成怎么办?
自测
- 写出 KV Cache 显存公式。Llama-3-8B(32 层、8 个 KV 头、head_dim 128、GQA)在 8k 上下文、batch=1、FP16 下占多少?
- GQA 到底省了什么?为什么它能同时提升吞吐?
- MLA 为什么需要额外缓存一个 decoupled RoPE key?
- 上线一个 128k 上下文的模型,KV Cache 会成为什么问题?请给出三个缓解方向。
- 有人提议"用 KV Cache 把 prefill 也加速一下"。这个说法对吗?
transformer-attention.md ★★★#
常见面试问法
- Q:手写注意力公式,并解释每个操作的作用。
- Q:为什么多头注意力比单头好?参数量不是差不多吗?
- Q:Transformer 的复杂度是多少?和 RNN 比优劣势?
- Q:Pre-LN 和 Post-LN 的区别?为什么现代模型都用 Pre-LN?
- Q:FlashAttention 是近似算法吗?它为什么能又快又省显存?
自测
- 写出注意力公式并解释 的作用。如果去掉它会怎样?
- 为什么说自注意力本身没有顺序概念?位置信息是怎么进去的?
- Prefill 和 decode 的瓶颈为什么不同?这个区别导致了哪些工程优化?
- 有面试官说"Transformer 的复杂度是 O(n²),所以长上下文注定昂贵"。这句话哪里不完整?
- 如果让你把一个 12 层的标准 Transformer 改成现代 LLM 的形态,你会做哪些改动?
arch-variants.md ★★#
常见面试问法
- Q:MoE 是什么?为什么能"参数多但计算少"?
- Q:MoE 的负载均衡为什么必要?怎么解决?
- Q:MoE 和稠密模型各自的取舍?
- Q:为什么最后是 decoder-only 赢了?
- Q:现代 LLM 架构的公约数是什么?
自测
- MoE 的"总参数量大、计算量小"是怎么实现的?它省了显存吗?
- router 出现专家塌缩,你会怎么诊断和处理?
- 你把 llama 架构的五六个组件说出来,并说明各自解决什么问题。
- 一个团队要把 MoE 模型部署到单张 80GB 卡上,你会提醒他们什么?
- "既然 MoE 更省算力,那所有模型都应该用 MoE"——你怎么反驳?
multimodal.md ★★#
常见面试问法
- Q:多模态大模型的基本架构是什么?
- Q:connector 有哪些设计?怎么取舍?
- Q:什么是早融合和晚融合?
- Q:图像会占多少 token?为什么说这是个成本问题?
- Q:多模态为什么更容易幻觉?
- Q:多模态的训练流程是怎样的?
自测
- 什么是模态鸿沟?它解释了多模态架构里的哪些设计?
- MLP 投影和 Q-Former 式的 query-based connector,各自的取舍是什么?
- 往 LLM 里插视觉 token 属于早融合还是晚融合?为什么这个区分容易在面试里出错?
- 一张图大概会消耗多少 token?为什么说这是多模态落地的头号工程约束?
- 面试官问「你做过哪些多模态的工作?」,诚实又不失分的答法是什么?
position-encoding.md ★★#
常见面试问法
- Q:RoPE 是怎么编码位置的?为什么说它是相对位置编码?
- Q:RoPE 能直接外推到训练长度之外吗?
- Q:Position Interpolation 和 NTK-aware 的区别?
- Q:为什么扩长上下文一定要继续训练?
- Q:ALiBi 和 RoPE 的取舍?
自测
- 写出 RoPE 的核心性质,并说明它为什么不作用在 V 上。
- 一个模型训练长度 4k,现在要扩到 32k。你会怎么做,代价是什么?
- NTK-aware 缩放为什么比线性位置内插更能保住局部精度?
- 有同事说"我们把上下文窗口从 8k 调到 128k 了,长文能力搞定"。请指出这个说法的问题。
- 为什么现代模型几乎都是 RoPE,而不是可学习绝对位置编码或 ALiBi?
pretraining-scaling.md ★★#
常见面试问法
- Q:Scaling Law 是什么?
- Q:给定算力预算怎么配模型和数据?
- Q:为什么现在模型都"过训"了?
- Q:预训练数据怎么处理?
- Q:训练中出现 loss spike 怎么办?
自测
- 给定算力预算 C,Chinchilla 口径下 N 和 D 大致怎么分配?这个结论在实际决策中会被什么因素推翻?
- 为什么 C ≈ 6ND?这个估计漏掉了什么?
- 团队要做一次预训练,怎么用 Scaling Law 降低风险?
- "涌现能力"存在吗?面试时怎么回答这个问题?
- 你为什么不能拿两个不同模型的 per-token loss 或 perplexity 直接比大小?
tokenization.md ★★#
常见面试问法
- Q:BPE 的训练过程描述一下。
- Q:BPE、WordPiece、Unigram 有什么区别?
- Q:为什么大模型都用子词?
- Q:模型换 tokenizer 需要做什么?
- Q:为什么中文场景下模型的上下文利用率感觉更差?
自测
- BPE 训练好之后,编码一个新句子时是怎么切分的?是重新跑一遍合并统计吗?
- 为什么 Byte-level BPE 能做到没有
<UNK>,代价是什么?
- 为什么 Byte-level BPE 能做到没有
- 你发现微调后模型输出格式不稳定、偶尔漏掉 role 标记。最该先检查什么?
- 团队想把一个英文为主的基座适配中文,通过扩词表继续预训练。有哪些坑?
- 为什么说 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 组织做过哪些优化?
自测
- 为什么说「最终 reward 是 1,前面二三十次 tool call,该奖励哪一步」这个问题能一句话问穿 GRPO?
- 组内 advantage 归零这件事,在单轮任务里也会发生。为什么说它在 Agentic 场景下更严重?
- GRPO 的 baseline 假设「同一 prompt 下组内比较是公平的」。这个假设在多轮任务里从哪一刻开始不成立?
- 「reward 还在涨,正确轨迹的 likelihood 却在下降」——请把它和优化粒度问题串起来解释。
- 面试官问「Agentic RL 训练不稳定,你怎么办」,为什么先把「训练不稳定」和「credit 分得粗」拆开答会加分?
catastrophic-forgetting.md ★★★#
常见面试问法
- Q:SFT 之后模型变笨了,为什么?
- Q:你怎么知道模型发生了灾难性遗忘?
- Q:为什么要在训练数据里混通用数据?加多少?
- Q:SFT 数据为什么要拟合预训练分布?
- Q:LoRA 能不能完全避免灾难性遗忘?
自测
- 设计一套能真正测出灾难性遗忘的实验。请列出评测集的设计准则、需要测量的量,以及你的判读规则。
- 为什么说「用训练 loss 判断有没有遗忘」是错的?
- 一段 SFT 之后,团队发现模型在目标任务的测试集上从 78% 掉到 71%,同时在通用 benchmark 上从 65% 掉到 60%。你会先做什么?
- 你在微调语料里混了 30% 通用数据,通用能力守住了,但目标任务的指标明显不如纯微调版本。你怎么决策?
- 除了混通用数据,还有哪些缓解灾难性遗忘的手段?请按代价从低到高排序,并说明各自的局限。
data-engineering.md ★★★#
常见面试问法
- Q:你们的合成数据是怎么造的?
- Q:为什么不用最强的模型来过滤所有的数据?
- Q:质量分类器的偏置会不会成为数据的偏置?
- Q:模型造的数据训模型,会不会把错误固化?
- Q:怎么保证评测可信?
自测
- 用一句话解释级联分类器为什么能省成本,并说明「便宜的那一级」在设计上最重要的约束是什么。
- 你造了一批合成偏好数据,训练很顺利,但线上模型变得啰嗦、爱加小标题。最可能的两个原因是什么?
- 合成数据流水线里,哪一步是最容易被跳过、但后果最严重的?
- 为什么「SQL 能执行」不能作为数据正确性的验收标准?正确的验收标准是什么?
- 如果你必须在一周内为一个小众垂域造 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,而不是反过来?
自测
- 逐步说明 DPO 推导中,「reward model 被消掉」的关键一步是什么,为什么那个不可计算的项会消失。
- DPO 的损失函数里为什么只出现「差值」这件事,会带来什么具体故障?
- 一个团队报告「DPO 之后离线偏好准确率从 60% 提到 85%,但用户没有感觉到变好」。列出三种可能,并各给一个验证方法。
- 为什么说 DPO「便宜但天花板受数据限制」?如果想兼得稳定与探索,可以怎么做?
- 给你一份
(prompt, chosen, rejected)数据,你怎么在训练前就预判 DPO 会不会出事?
- 给你一份
grpo.md ★★★#
常见面试问法
- Q:GRPO 为什么可以不要 value model?
- Q:GRPO 相比 PPO 真的更便宜吗?
- Q:如果一组样本奖励全都一样会发生什么?
- Q:GRPO 的 advantage 对整条回答是同一个值,这有什么问题?
- Q:Text2SQL 的 GRPO 奖励你会怎么设计?
- Q:Verl 是什么?为什么用它?
自测
- 用「baseline 的降方差作用」这条线,解释 GRPO 为什么能删掉价值网络,并说明它付了什么代价。
- 训练中出现「reward 上升但模型并没有真的变好」,在 GRPO 里你会优先怀疑哪两件事?怎么查?
- 为什么说 GRPO 特别适合推理模型训练?请从奖励来源和成本结构两方面回答。
- 你在 Verl 里跑 GRPO,发现 GPU 利用率低、每轮迭代很慢。你会从哪里入手排查?
- 如果 GRPO 里某个 prompt 的 条回答奖励全部相同(都正确或都错误),训练会怎样?你怎么在流水线里处理它?
rlhf-ppo.md ★★★#
常见面试问法
- Q:RLHF 里为什么需要四个模型?各自不能省吗?
- Q:KL 惩罚是干什么的?去掉会怎样?
- Q:PPO 里为什么要 clip?
- Q:既然有 KL 约束,为什么还会 reward hacking?
- Q:你们为什么不用 PPO 而用 GRPO?如果业务必须用 PPO 你会怎么降本?
- Q:PPO 训练中出现输出长度持续上涨、评测分反而先升后降,怎么诊断?
自测
- 逐个说明 RLHF 里的四个模型,其中哪个最容易被「省掉」,省掉之后代价是什么。
- 用「reward model 的适用域」这个角度解释 KL 惩罚的必要性,并说明为什么 β 不能调成无穷大。
- 为什么说 PPO 慢主要慢在 rollout 而不是梯度计算?这个认识对系统设计意味着什么?
- 你的模型在 RLHF 后变得极其啰嗦且爱用 markdown 小标题,评测分却涨了。请给出诊断方案和至少三条处理措施。
- 如果一个业务场景你只能用 PPO(不能用 GRPO / DPO),你会做哪些取舍来把它跑起来?
sft.md ★★★#
常见面试问法
- Q:SFT 的 loss 为什么只算在 response 上?
- Q:SFT 数据是不是越多越好?
- Q:SFT 之后模型变笨了,为什么?
- Q:chat template 不一致会怎样?
- Q:SFT 和指令微调(Instruction Tuning)是一回事吗?
自测
- 为什么 SFT 的 loss 只在 response token 上计算?prompt 上算 loss 会带来什么具体问题?
- 你的 SFT 训练 loss 一路下降,但评测集不升反降。最可能的原因和三个具体动作是什么?
- 「SFT 学能力,偏好对齐学偏好」——请各举一个只有前者能解决、只有后者能解决的例子。
- packing 提高吞吐,但可能带来什么隐蔽问题?
- 为什么说 SFT 数据的分布应拟合预训练分布?偏离会付出什么代价?
lora-peft.md ★★#
常见面试问法
- Q:LoRA 的原理是什么?为什么它能省这么多显存?
- Q:rank 和 alpha 分别控制什么?它们怎么相互影响?
- Q:QLoRA 是什么?它和 LoRA 有什么取舍?
- Q:训练完的 LoRA 是合并好还是不合并好?
- Q:什么情况下你会放弃 LoRA 选择全参微调?
- Q:如果我们给每个客户训一个 LoRA,你觉得会踩什么坑?
自测
- LoRA 大幅降低显存占用的真正原因是什么?请把「训练一个 参数模型」的显存构成拆开说明。
- 你把 rank 从 8 提到 64,效果却没有提升。列出至少三个可能原因。
- 「PEFT 适合改变行为,不适合改变知识」——请把这个准则展开成三个具体场景的判断。
- 合并 LoRA 权重时有哪些坑?
- 给定一个「用 4 张卡把 32B 模型微调成垂域客服助手,训练数据 2 万条,主要是话术与格式」的需求,你会怎么选方案?
03-rag#
07-contextual-retrieval.md ★★★#
常见面试问法
- Q:分块会切断上下文,你有哪些办法?
- Q:上下文感知检索是什么?为什么它同时提升稀疏和稠密两路?
- Q:它和上下文压缩有什么区别?(陷阱题)
- Q:它的成本和收益?
- Q:什么时候你会做、什么时候不做?
- Q:用户记忆检索用得着它吗?
自测
chunking.md说「分块会切断答案」,但给的四种手段都是切分时的。请说出它缺的那一类解法,并解释为什么切分时的手段补不上。
- 上下文感知检索为什么能同时提升 BM25 和向量两路?分别补了什么?
- 面试官问「上下文感知检索和上下文压缩有什么不同」,这两个词哪里容易混?
- 「结合 BM25 后检索失败率下降约 49%,再叠加重排序后约 67%」——这句话里有哪些坑?
- 用户记忆里怎么用它?为什么需要「双层」而不是只用一层?
chunking.md ★★★#
常见面试问法
- Q:你的 chunk size 怎么定的?
- Q:chunk 越小检索越准吗?那是不是越小越好?
- Q:overlap 有什么用?开大点是不是更保险?
- Q:为什么 chunk size 会和 embedding 模型相关?
- Q:语义分块听起来更高级,为什么不是默认选择?
自测
- 一个用户说「文档里明明写了答案,RAG 就是检索不到」。除了换 embedding 模型,chunking 上有哪两个最值得先查的假设?
- 为什么说父子分块(small-to-big)能缓解检索粒度与生成上下文的矛盾?
- overlap 从 10% 提到 50%,会发生什么?
- 什么样的语料适合语义分块,什么样的不适合?
- 如果面试官让你「现在就定一个 chunk 方案去做 POC」,你会怎么说?
hybrid-rerank.md ★★★#
常见面试问法
- Q:已经有向量检索了,为什么还要 BM25?
- Q:两路分数怎么融合?
- Q:bi-encoder 和 cross-encoder 的区别?
- Q:加 reranker 一定更好吗?
- Q:top-k 怎么定?
自测
- 举一个稠密向量必定输给 BM25 的例子,和一个 BM25 必定输给稠密向量的例子。
- 为什么 RRF 比「加权分数求和」更受工程欢迎?
- 为什么不能直接用 cross-encoder 做检索?
- 你的 RAG 已经用了 hybrid + reranker,端到端还是不准。你会怎么判断 reranker 是不是有用?
- 「宽召回 + 精排序 + 窄注入」为什么比「一个 top-k 打天下」好?
pipeline.md ★★★#
常见面试问法
- Q:搭一个 RAG 系统,最主要的几个模块是什么?
- Q:RAG 回答不对,你怎么系统性排查?
- Q:RAG 和微调,什么时候用哪个?
- Q:为什么不能直接把文档全文塞进长上下文模型?
- Q:RAG 的幻觉和纯 LLM 的幻觉有什么不同?
自测
- 面试官说「你的 RAG 答错了一个问题」,请给出你的前三个动作,并说明每一步能排除什么。
- 「检索召回了正确的 chunk,但模型还是答错」——列出至少三种具体原因和对策。
- 为什么说 RAG 的故障根因常在离线索引阶段?举例说明。
- RAG 里检索层指标与生成层指标为什么必须分开看?合成一个大分有什么问题?
- 长上下文模型(能塞几十万 token)会让 RAG 过时吗?
embedding-vector-db.md ★★#
常见面试问法
- Q:bi-encoder 是怎么训出来的?
- Q:HNSW 和 IVF 怎么选?
- Q:你们的向量检索是近似最近邻,会不会漏掉正确结果?
- Q:向量维度是不是越高越好?
- Q:为什么有时候直接调 embedding API,效果不如预期?
自测
- 为什么「难负例(hard negative)」比「更多随机负例」更有价值?
- HNSW 的
efSearch和 IVF 的nprobe都是「在线旋钮」,它们分别在调什么?
- HNSW 的
- ANN 检索「漏掉」了正确结果,你怎么证明这件事、又怎么缓解?
- 你的语料是企业内部的术语密集文档,通用 embedding 检索效果很差。按性价比给出你的处理顺序。
- 向量库选型时,除了「能不能搜得快」,还要考虑哪些工程因素?
graphrag.md ★★#
常见面试问法
- Q:GraphRAG 解决 flat RAG 的什么问题?
- Q:GraphRAG 的索引贵在哪?
- Q:local search 和 global search 有什么区别?
- Q:什么情况下你不会用 GraphRAG?
- Q:GraphRAG 里最容易出问题的一环是什么?
自测
- 为什么「这批文档的主要议题是什么」这类问题,flat RAG 加大 top-k 也答不好?
- GraphRAG 的索引成本由哪些部分组成?为什么它的增量更新特别难?
- local search 与 global search 各自的成本特征是什么?
- 什么信号会让你判断「这个系统不该上 GraphRAG」?
- 如果一定要做 GraphRAG,你会怎么降低它的成本和风险?
query-rewriting.md ★★#
常见面试问法
- Q:多轮对话里用户说「它的价格呢」,你怎么检索?
- Q:HyDE 是什么?为什么用「可能错的假想文档」去检索反而有效?
- Q:查询扩展会不会引入噪声?
- Q:什么情况下不做改写?
- Q:改写之后效果怎么评估?
自测
- 为什么多轮 RAG 里指代消解必须发生在检索"之前"?
- HyDE 的直觉是什么?它为什么不需要保证假想文档的内容正确?
- 用户问「A 和 B 的区别,以及它们分别多少钱」,一次检索能不能答好?为什么?
- 查询扩展和「多路查询 + RRF 融合」相比,各自的取舍是什么?
- 什么信号会让你决定"这个查询不需要改写"?
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 模式)好在哪?坏在哪?
自测
- 用「任务清晰度 × 验证自动化」四象限解释:为什么 Coding Agent 成熟度最高,而「让 UI 更好看」这类任务难以启动?
- 一个工具调用返回了"工具不存在"的错误。请说明:这属于哪一层故障?该走"静默重试"还是别的路径?为什么?
- 熔断阈值「连续 3 次」这个数字为什么值得记住?它背后的生产数据说明了什么?
- 有一批代码要跨模块重命名一个函数(有测试覆盖),另有一批是生产库的数据迁移脚本。按本章的判据,哪些交给 AI、哪些自己写?为什么?
- 为什么"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 更危险?
自测
- 工具超过 100 个时会发生什么?给出三个层次的应对,并说清每一层各自省的是什么。
- 一个工具的描述,你会写哪几块?为什么「边界」和「示例」比「能力」更重要?
- 动态加载工具为什么和 KV Cache 冲突?各家 API 的解法是什么?由此哪条旧结论不再成立?
- 同一件事 —— 「部署应用」—— 你会做成一个专用工具、拆成三个细工具,还是写一份
SKILL.md?按什么维度决定?
- 同一件事 —— 「部署应用」—— 你会做成一个专用工具、拆成三个细工具,还是写一份
- 静默输入转换和静默参数注入各举一例,说明为什么模型无法自诊,以及正确的设计原则是什么。
11-async-event-driven.md ★★★#
常见面试问法
- Q:为什么 Agent 需要异步和事件驱动?同步架构缺什么?
- Q:Agent 怎么知道「该自己动起来」了?定时机制有什么盲点?
- Q:多个事件同时到达,你怎么决定先处理哪个?
- Q:为什么要把事件建模成结构化对象?
- Q:模型不支持原生异步,但工具还没返回时用户插话了,怎么办?
- Q:怎么让模型「知道」一个工具是异步的?
- Q:语音 Agent 的三种架构是什么?各自的取舍?
- Q:Computer Use 是怎么在截图里找到要点的按钮的?
- Q:Computer Use 的瓶颈在哪?为什么说「准确率到人类水平」还不够?
自测
- 为什么说「不能仅凭代码用了
asyncio,就认定模型具备原生异步能力」?两条实现路线分别靠什么维持正确性?
- 为什么说「不能仅凭代码用了
- Cron 和 Heartbeat 让 Agent「自己动起来」,那为什么还需要 Channel?举一个具体场景。
- 模型正在执行工具、工具还没返回时用户插话,但接口是同步的。你会怎么做?这套方案有什么风险?
- 快思考 / 慢思考的三种方案各是什么?「端到端」这个词为什么容易答错?
- 面试官问「你做过 Computer Use / GUI Agent 吗?」——诚实又不失分的答法是什么?为什么这件事在本仓库里是硬规矩?
12-continual-evolution.md ★★★#
常见面试问法
- Q:一条 Agent 轨迹,你会怎么评价?为什么不能只给一个总分?
- Q:Agent 出了个错,你会先改 Prompt、改代码,还是去训练?
- Q:什么是系统提示学习(System Prompt Learning)?它和提示工程有什么区别?
- Q:Agent 要自我进化,怎么保证它不出事?
- Q:怎么判断 Agent 真的在「持续进化」,而不是分数好看?
- Q:「完成」为什么不等于「进步」?
自测
- 为什么「把一百条轨迹放进长上下文或向量库」不等于「让 Agent 学会了」?
- 一条经验文档由三次成功轨迹和一次失败轨迹支持,失败发生在较新的 API 版本上。你怎么判断这是「经验被推翻」还是「适用条件变了」?
- 客服 Agent 的用户满意度上升,但规则违规率也上升。为什么不能把满意度当单一学习信号?你会怎么补护栏?
- 同一个「虚假承诺」问题,可以通过 Prompt、Harness 检查或参数训练缓解。你依据什么证据选择修改位置?
- 「把书交给 Hermes,它能升级自己吗?」——一次提案被接受,能证明 Agent 变强了吗?
agent-react.md ★★★#
常见面试问法
- Q:怎么区分 agent 和 workflow?
- Q:ReAct 的流程说一下。
- Q:为什么不直接做一个全自主 agent,什么都能干?
- Q:agent 出错了怎么恢复?
- Q:你的 Race Bot 为什么用编排式工作流,而不是一个大 agent?
自测
- 给出一个能区分「agent」和「workflow」的可操作判据,并用 Race Bot 举例。
- 为什么说「步骤越多的 agent 越不可靠」?请用数字说明。
- ReAct 和 function calling 是什么关系?为什么今天的实现和原始论文不一样?
- 你的 agent 在第 4 步开始反复调用同一个工具、每次参数几乎一样。可能的原因和三个对策是什么?
- 什么情况下你会拒绝用 agent,改用固定 workflow?
context-engineering.md ★★★#
常见面试问法
- Q:什么是上下文工程?和 prompt engineering 什么关系?
- Q:长上下文模型是不是就不用做上下文工程了?
- Q:指令应该放在哪里?
- Q:上下文满了怎么办?
- Q:你在 Writing Copilot 里怎么做上下文控制?
自测
- 「名义上下文窗口」和「有效上下文窗口」有什么区别?为什么这个区别重要?
- 一个信息,你怎么决定是放进系统提示(常驻)还是做成检索项(按需)?
- 上下文超预算了,你会按什么顺序做压缩?每一步的代价是什么?
- 为什么说「子 agent 上下文隔离」是上下文工程的手段?它的代价是什么?
- 为什么上下文的「顺序」在工程上很重要?至少给两个理由。
mcp.md ★★★#
常见面试问法
- Q:MCP 解决了什么问题?
- Q:MCP 的架构说一下。
- Q:MCP 和 function calling 什么关系?
- Q:用了 MCP 之后工具选择准确率会提升吗?
- Q:怎么把 MCP 工具链落地到生产?
自测
- MCP 的 M×N → M+N 具体指什么?什么情况下 MCP 反而不划算?
- tools、resources、prompts 三者的区别是什么?为什么说这个区分本质是「控制权」?
- 面试官问「我们用 MCP 把工具接进来了,为什么模型还是老选错工具」,你怎么答?
- 从 stdio 的本地 server 迁到远程 server,主要工作量和新增风险在哪?
- 为什么说 MCP 不解决 prompt injection?它和工具安全的关系是什么?
multi-agent.md ★★★#
常见面试问法
- Q:为什么用多智能体而不是一个大 agent?
- Q:多智能体有什么代价?
- Q:supervisor 模式怎么实现的?
- Q:LangGraph 的共享状态模型是什么?
- Q:你的 Writing Copilot 为什么拆成三个 agent?
自测
- 多智能体的核心收益是什么?请从「上下文」的角度解释,而不是从「多个 agent 分工」的角度。
- 一个 4 个 agent 串联的系统,每个 agent 的准确率都是 95%。端到端大概是多少?除了这个数字之外,还有什么更隐蔽的风险?
- 什么时候你会明确拒绝使用多智能体?给出至少三个场景。
- LangGraph 里「共享状态」的设计为什么是关键工作?说清它的收益和风险。
- handoff 时你会传递什么?为什么不用自然语言总结?
tool-use.md ★★★#
常见面试问法
- Q:tool calling 的完整流程走一遍。
- Q:结构化输出能保证什么,不能保证什么?
- Q:工具多了怎么办?
- Q:工具报错了怎么处理?
- Q:写工具描述有什么经验?
自测
- 结构化输出(受约束解码)能保证什么、不能保证什么?各举一个例子。
- 如果一次工具调用超时了,你会直接重试吗?需要考虑什么?
- 你有 80 个工具,模型经常选错。给出三个不同层次的解法,并说明各自的代价。
- 为什么说「工具描述就是 prompt engineering」?写出你判断一个描述好不好的标准。
- 工具返回值为什么是安全风险?怎么缓解?
08-agent-stack.md ★★#
常见面试问法
- Q:你怎么理解 MCP、Prompt、CLI、Skill、Harness 这些概念,以及它们之间的关系?
- Q:Skill 和 Tool 的区别是什么?
- Q:CLI 在 agent 系统里算什么?为什么要通过 MCP 包装它?
- Q:Harness 具体指什么?它和 Agent 是什么关系?
- Q:如果模型上线后比离线评测差很多,你会先怀疑 Harness 吗?
自测
- 用一句话说清 MCP / Prompt / CLI / Skill / Harness 的关系,并指出哪一个「不占某一层」、为什么。
- 「发送邮件」和「撰写一封得体的会议纪要邮件并发送」,哪个是 Tool、哪个是 Skill?判据是什么?
- 面试官问「Skill 和 MCP 有什么区别」,这个问题本身有什么问题?你该怎么回答?
- Harness 的主流定义是什么?它是包住 Agent 还是被 Agent 包含?另外两个用法分别对应什么问题?
- 「模型离线评测很好,上线就退化」——如果不怀疑模型能力,你会往 Harness 上想哪两件事?为什么这两件事调 prompt 都解决不了?
human-in-the-loop.md ★★#
常见面试问法
- Q:为什么政企客户需要 HITL?不能全自动吗?
- Q:你把确认点放在哪一步?为什么?
- Q:HITL 有什么代价?
- Q:中断恢复怎么实现?
- Q:HITL 会不会让系统变得不好用?
自测
- 你的 agent 要在「大纲 → 检索 → 写作 → 发布」四个阶段设一个确认点,放哪?用成本结构解释。
- HITL 的四个主要代价是什么?哪一个最容易被忽略,为什么它危险?
- 实现 interrupt / resume 时必须解决哪些工程问题?
- 什么情况下你会明确不用 HITL?
- 为什么说「展示真实的工具名与参数」比「让模型说明它要做什么」更安全?
memory.md ★★#
常见面试问法
- Q:短期记忆和长期记忆怎么设计?
- Q:为什么偏好不放进向量库?
- Q:记忆会不会写错?写错了会怎样?
- Q:记忆和 RAG 有什么区别?
- Q:多轮对话历史越来越长怎么办?
自测
- 为什么「用户偏好简体中文」这类事实不该放在向量库里?
- 短期记忆里,「对话历史」和「任务状态」为什么要分开?不分开会出什么问题?
- 一条错误的记忆被写进长期存储,后果为什么比一次错误的回答严重?
- 记忆「只追加」会带来什么具体问题?你会怎么处理冲突和过期?
- 你怎么验证引入记忆系统真的有用?
05-agent-evaluation#
05-statistical-significance.md ★★★#
常见面试问法
- Q:我在 100 条评测集上把成功率从 70% 刷到了 73%,能上线吗?
- Q:标准误的公式是什么?为什么 在根号里?要减半误差怎么办?
- Q:比较两个模型,为什么不能直接相减成功率?
- Q:pass@k 和 pass^k 是什么关系?p=0.6、k=5 时分别是多少?
- Q:Elo 1200 对 1000,谁赢的概率多大?它的统计基础是什么?
- Q:LLM 做 pairwise 评判时位置偏置怎么处理?
自测
- 一个评测集有 100 道题,某模型成功率 70%。给出 95% 置信区间,并说明「另一个模型 73%」意味着什么。
- 给出 McNemar 检验和 paired bootstrap 的口径,并解释为什么配对比独立比较灵敏。
- p=0.6、k=5 时 pass@5 和 pass^5 分别是多少?为什么必须写清 k 的口径?
- 你并行测了 15 个提示词变体,其中一个把成功率从 68% 提到 75%(n=80)。你会直接采用它吗?
- Elo 1200 对 1000 的预期胜率是多少?它和 Bradley-Terry 是什么关系?位置偏置怎么处理?
llm-as-judge.md ★★★#
常见面试问法
- Q:为什么不用 BLEU / ROUGE 评测生成质量?
- Q:pointwise 和 pairwise 怎么选?
- Q:LLM judge 有哪些已知偏置?
- Q:你怎么证明你的 judge 是可信的?
- Q:裁判和生成模型是同一个模型,有什么问题?
自测
- 面试官问「你说 LLM judge 能用,你怎么证明它打得对?」——给出完整回答。
- 你做了个 A/B:模型新版本在 LLM judge 下胜率 55%,直接上线吗?
- 为什么 pairwise 比 pointwise 更可靠?它自己的代价是什么?
- 裁判在通用对话任务上校准得很好,能直接拿去评代码生成吗?
- 列出至少四种缓解 LLM judge 偏置的具体做法。
rag-eval.md ★★★#
常见面试问法
- Q:RAG 效果不好,你怎么查?
- Q:RAG 里最该看的检索指标是哪个?
- Q:faithfulness 高是不是就说明 RAG 没问题?
- Q:怎么评 citation correctness?
- Q:没有标注数据,怎么做 RAG 评测?
自测
- 线上答对率从 82% 掉到 74%。给你一批失败 case,你的诊断流程是什么?
- 为什么 RAG 里 Recall@k 通常比 Precision@k 更关键?只提召回有什么风险?
- faithfulness 打了满分,能不能说这个 RAG 系统没问题?
- 「证据不在上下文里,但模型答对了」这一格说明什么?为什么值得警惕?
- 你要评 citation correctness,具体怎么拆?
agent-eval.md ★★#
常见面试问法
- Q:agent 怎么评测?
- Q:pass@k 和 pass^k 有什么区别?产品该看哪个?
- Q:怎么定义"工具选择准确率"?
- Q:为什么"和标准轨迹比对"这种做法不好用?
- Q:一个 agent 成功率 90%,能上线吗?
自测
- 为什么"outcome-only 评测会掩盖坏过程"?举三个具体例子。
- pass@k 和 pass^k 分别测什么?一个 pass@10 = 0.9、pass^10 = 0.3 的 agent 意味着什么?
- 为什么"和人工标准轨迹逐步比对"不是好做法?更好的替代是什么?
- 为什么长程 agent 任务特别难?用误差累积解释。
- 你要给一个工具调用 agent 建评测,列出至少五个你会上报的指标,并说明各自的目的是什么。
benchmarks.md ★★#
常见面试问法
- Q:benchmark 分数高能说明什么?不能说明什么?
- Q:你怎么知道模型没见过这些题?
- Q:为什么要做区域化 benchmark?
- Q:HKMMLU 是怎么构建的?
- Q:一个四选一的 benchmark,模型得分 30%,怎么解读?
- Q:为什么同一个模型在不同报告里的 benchmark 分数会不一样?
自测
- 面试官问「HKMMLU 的题,模型是不是训练时见过?」你怎么答?
- 一个模型在某个四选一 benchmark 上得 30%,能得出什么结论?还缺什么信息?
- 为什么需要区域化 benchmark?它自身有什么绕不开的局限?
- 同一个模型在两个不同报告中 benchmark 分数差了几个点,可能的原因有哪些?
- 如果让你从零设计一个评测集,你会定哪些规范?
06-agent-infra#
gateway-routing.md ★★★#
常见面试问法
- Q:为什么要做 AI 网关?直接每个应用各接各的不行吗?
- Q:为什么要做模型路由?全用大模型不行吗?
- Q:路由判断错了怎么办?错误会怎么传播?
- Q:路由本身的开销会不会抵消收益?
- Q:怎么评估路由策略的好坏?
- Q:上游模型故障/限流,网关怎么办?
自测
- 为什么路由用的模型必须小而快?如果路由用大模型会怎样?
- 为什么路由的决策阈值应该偏保守(宁可多花钱走大模型)?
- 网关集中了哪些职责?没有网关会付出什么代价?
- 面试官问「怎么评估你的路由策略」,你会给出哪些指标?
- 「统一接口」是不是意味着上层应用不用管模型差异了?
latency-cost.md ★★★#
常见面试问法
- Q:TTFT 和 TPOT 分别是什么?为什么要分开看?
- Q:增大 batch 会怎样影响延迟和吞吐?
- Q:怎么估算每 token 的成本?
- Q:prompt caching 为什么能同时降成本又降延迟?
- Q:用户抱怨"有时候很快,有时候很慢",你怎么查?
自测
- 一个请求 TTFT = 0.8s,输出 500 个 token,TPOT = 30ms。端到端大约多少?如果要把 E2E 减半,最有效的两个动作是什么?
- 为什么说"增大 batch 提升吞吐"和"降低延迟"是一对矛盾?怎么处理?
- 自建推理的每 token 成本怎么算?为什么说"模型更大不一定更贵"?
- 你在网关里加了 prompt caching,但订单量没降。最可能是什么原因?
- 用户说"有时候快有时候慢",你怀疑是尾部延迟,怎么定位?
vllm-pagedattention.md ★★★#
常见面试问法
- Q:PagedAttention 解决什么问题?
- Q:为什么说它提升了吞吐?
- Q:block table 是干什么的?和操作系统页表什么关系?
- Q:前缀缓存/前缀共享为什么重要?
- Q:用了 vLLM 之后吞吐还是很低,你会查什么?
自测
- 传统做法下 KV Cache 的两类碎片分别是什么?PagedAttention 怎么消掉它们?
- PagedAttention 是通过什么路径提升吞吐的?为什么它"省显存"能直接变成"多吞吐"?
- 前缀缓存对什么样的服务收益最大?什么样的服务几乎没收益?
- 你在 vLLM 上遇到长请求拖慢整批的情况,会怎么处理?
- 有人在面试里说「vLLM 的 PagedAttention 把 KV Cache 压缩了 4 倍」。这句话哪里错了?
batching-parallelism.md ★★#
常见面试问法
- Q:静态批处理和连续批处理有什么区别?
- Q:TP / PP / DP 分别切什么?什么时候用哪个?
- Q:为什么张量并行一般只在单机内做?
- Q:流水线并行的"空泡"是什么?怎么缓解?
- Q:推理服务要扩吞吐,加机器和加卡分别怎么做?
自测
- 一批里有 1 个 2000-token 的长请求和 8 个 20-token 的短请求。静态批处理浪费在哪?连续批处理怎么解决?
- TP 和 PP 分别切什么?为什么 TP 对互联带宽敏感而 PP 相对不敏感?
- 单卡放不下一个 70B 模型(以 FP16 估算),但你有 8 卡单机 + 多机。你怎么编排 TP/PP/DP?
- 为什么说「并行了就会变快」是错的?
- 为什么说连续批处理要和 PagedAttention 一起用?
observability.md ★★#
常见面试问法
- Q:agent 出错了,只有日志为什么不够?
- Q:你的 trace 里会记录什么?
- Q:trace 怎么和评测结合?
- Q:从线上失败到模型改进,闭环怎么搭?难点在哪?
- Q:怎么定位"有时候快有时候慢"这类问题?
自测
- 为什么 agent 的可观测性必须用 trace 而不是日志?
- 一次 agent 运行的 trace 里,你会记哪些字段?还要注意什么约束?
- 怎么把 trace 变成评测数据?
- 描述从线上失败回到模型改进的闭环,并指出两个最容易断掉的环节。
- 团队想"把所有 prompt 和输出全量存下来,方便以后分析"。你怎么评估这个提议?
quantization.md ★★#
常见面试问法
- Q:量化的收益从哪来?为什么省显存不一定提速?
- Q:weight-only 和 weight+activation 有什么区别?
- Q:为什么激活量化比权重量化难?
- Q:INT4 和 INT8 怎么选?
- Q:PTQ 和 QAT 怎么选?
- Q:为什么 KV Cache 量化值得单独关注?
自测
- 为什么 weight-only 量化主要帮 decode,而 weight+activation 才能帮 prefill?
- 激活量化为什么比权重量化难?业界怎么处理?
- 你要把一个模型量化上线,上线前必须做哪些验证?
- 有人说「FP8 和 INT8 差不多,随便选一个」。这句哪里不对?
- 量化一定会提速吗?请给出一个它不提速的场景。
项目防守稿(02-interview/projects)#
主体是「面试官会怎么往下挖」的分层问答(澄清 → 技术细节 → 工程生产 → 反思)与「线上故障复盘」,含答案要点 —— 在各自文件里。这里抽「自测」段。
hkgai-llm.md ★★★#
自测
- 你如何证明「混入 10% 通用数据缓解了灾难性遗忘」?需要什么对照组?
- 为什么数据过滤用 BERT + GPT-4 两级,而不是全用 GPT-4?
- 面试官问「HKMMLU 的题模型是不是见过」,你怎么答?
- 模型在 HKMMLU 上分数很高,能推出什么结论?不能推出什么?
- 用 GPT-4 生成/校验数据会带来什么风险?怎么缓解?
quewi-chatbot.md ★★★#
自测
- 为什么意图识别用 4B 小模型而不是让主模型顺便做掉?给出四条理由。
- 路由判断错了,为什么阈值应该偏保守(宁可多花钱)?
- 面试官问「路由本身的开销会不会抵消收益」,你怎么答?
- 「意图识别准确率提升约 23%」—— 被追问时你需要说清哪三件事?
- 用真实用户数据做 SFT,列出至少三个必须处理的风险。
race-bot-hkjc.md ★★★#
自测
- 面试官问「92% 是怎么测的」,请给出一个完整的、经得起追问的回答。
- 为什么不能只用 SFT,还需要 GRPO?请从「SFT 的能力边界」角度回答。
- 如果你的合成数据污染了评测集,会表现出什么症状?如何在流程上避免?
- 把「SQL 执行成功」单独作为 RL 奖励会产生什么问题?
- 面试官问「这个系统上线后有多少用户」,而数据受客户保密约束,你怎么答?
writing-copilot.md ★★★#
自测
- 用三句话说清为什么是 DPO 先、GRPO 后。顺序反过来会怎样?
- DPO 的偏好数据里,
rejected应该选什么?为什么不能随机选?
- DPO 的偏好数据里,
- HITL 放在大纲阶段而不是成文之后,理由是什么?这个设计有什么代价?
- 上下文压缩到极致会发生什么?你如何证明压缩是可接受的?
- 为什么政企场景需要独立的实体校对模块,而不是指望模型自己写对?
系统设计题(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:这个项目里最容易被低估的工作量是什么?
自测
- 为什么权限过滤必须在检索之前,而不是生成之后?说出两个具体后果。
- 这个场景为什么不该上 GraphRAG 和多智能体?请从「方案必要性」角度说明。
- 客户要求「答错一次都不能接受」,你怎么回应?
- 文档被删除后,如果只做增量「新增」不做删除处理,会发生什么?
- 换成「这个知识库要支持 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:这个项目里最容易被低估的工作量是什么?
自测
- 什么情况下该上多智能体,什么情况下单 agent + 工具就够?给出判据。
- 安全与话题分类为什么必须是显式流水线阶段,而不是 system prompt 里的一句约束?说出两个具体理由。
- 路由把复杂请求误判成了简单请求,会发生什么?阈值应该偏向哪一边?
- 编排式系统最危险的错误传播形式是什么?设计三层兜底。
- 换条件:客户澄清后说「其实 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:这个项目里最容易被低估的工作量是什么?
自测
- 端到端生成 SQL 在垂域 schema 上的三个硬伤分别是什么,各对应什么对策?
- 合成数据怎么保证不污染评测集?说出三条流程约束。
- GRPO 在什么情况下会「训不动」?为什么 prompt 难度管理是一等公民?
- 把「SQL 执行成功」单独作为 RL 奖励会产生什么问题?正确做法是什么?
- 换条件: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:只有两周和一个人,你砍掉什么?
自测
- 为什么说「能用确定性校验就不要用 judge」?举三类可以用确定性校验的评测。
- 你的 judge 和人工一致性只有 60%,但人工标注者之间的一致性也只有 65%。你怎么处理?
- 为什么不能用 pointwise 的绝对分跨批次比较模型版本?
- 客户说「我就要一个质量分数」。你怎么回应?
- 只有两周和一个人,你砍掉什么、保留什么?
05-routing-gateway.md ★★#
面试官会怎么往下挖
- Q:你会先问我什么?
- Q:为什么不让每个应用各接各的?
- Q:网关会不会成为单点和瓶颈?
- Q:路由判断错了怎么办?错误会怎么传播?
- Q:路由本身的开销会不会抵消收益?
- Q:用 embedding 语义路由还是小模型分类器?
- Q:级联(先小后大)和路由(直接选)怎么选?
- Q:统一接口是否意味着上层不用管模型差异了?
- Q:上游模型故障 / 限流,网关怎么办?
- Q:怎么评估路由策略的好坏?
- Q:怎么把一个新模型接进来?
- Q:有人绕过网关直接调模型,怎么办?
- Q:这个网关什么时候不值得建?
- Q:如果某个供应商明天涨价三倍,你怎么应对?
- Q:如果重做,你会改什么?
自测
- 为什么路由判断必须便宜?给出量级论证。如果路由用大模型会怎样?
- 为什么路由的决策阈值应该偏保守(宁可多花钱走大模型)?
- 怎么评估一个路由策略?为什么「路由准确率」这个单一数字不够?
- 你为什么不做学习式 router?什么条件下你会做?
- 网关集中了什么、明确不解决什么?至少说出三件它不解决的事。
06-agent-observability.md ★★#
面试官会怎么往下挖
- Q:你会先问什么?
- Q:日志为什么不够?
- Q:为什么不先把所有 prompt 全量存下来,以后慢慢分析?
- Q:trace 里你会记哪些字段?
- Q:怎么确定是哪一步坏的?
- Q:过程对不对怎么判?
- Q:怎么区分「模型失败」和「环境失败」?
- Q:失败率百分之几算高?
- Q:怎么知道新版本没有变差?
- Q:用户投诉了某一次对话,你怎么查?
- Q:怎么让埋点不影响性能?
- Q:这套东西什么时候会不够用?
- Q:客户说「任何用户内容都不允许落盘」,你怎么做可观测性?
- Q:如果只能做一件事,你做哪件?
自测
- 为什么 agent 的可观测性必须用 trace 而不是日志?
- 一次运行失败了,你怎么确定是哪一步坏的?
- trace 里哪些字段是「上线时想不到、以后一定会要」的?举两例并说明后果。
- 客户要求「任何用户内容都不能落盘」,你怎么设计可观测性?牺牲了什么?
- 怎么把线上失败变成评测集和训练数据?这个闭环最容易断在哪?