面试问答库
30 道高频面试题,按难度分三级
⭐ 基础题
| # | 问题 | 要点 |
|---|---|---|
| 1 | Transformer 推理分哪两个阶段? | Prefill + Decode,Decode 占 80-95% 时间 |
| 2 | 什么是 KV Cache?为什么它重要? | 避免重复计算 K 和 V,占 60-80% 推理显存 |
| 3 | MHA、GQA、MQA 的区别? | KV head 数量不同,影响 KV Cache 大小和推理速度 |
| 4 | 为什么 decode 阶段是 memory-bound? | 每步都要加载全部权重,计算量小 |
| 5 | vLLM 的 PagedAttention 解决了什么问题? | KV Cache 显存碎片化 |
| 6 | Continuous Batching 比 Static Batching 好在哪? | 不等待最长请求,GPU 始终保持高利用率 |
| 7 | INT8 量化 vs FP8 量化的区别? | INT8 是整数,FP8 是浮点(动态范围更广) |
| 8 | 什么是 Tensor Parallel? | 把权重矩阵切分到多张 GPU,每层需要同步 |
| 9 | GPU 显存被什么占用? | 模型权重 + KV Cache + 激活显存 |
| 10 | TTFT 和 TPOT 分别是什么? | 首 token 延迟 / 每 token 生成时间 |
⭐⭐ 进阶题
| # | 问题 | 要点 |
|---|---|---|
| 11 | 怎么优化推理延迟? | 先 profiling 定位瓶颈,再选优化手段 |
| 12 | vLLM 和 TensorRT-LLM 怎么选? | vLLM 生态好,TRT-LLM 性能强,看硬件和需求 |
| 13 | OOM 了怎么排查? | 降 batch size / 降 seq len / 换量化 |
| 14 | GQA 对部署有什么影响? | KV Cache 更小,可以支持更大 batch / 更长上下文 |
| 15 | MoE 模型部署和 Dense 有什么不同? | Expert 并行、负载不均、路由复杂度 |
| 16 | GPU 利用率上不去,怎么排查? | batch 太小 / CPU 瓶颈 / 模型太小 / 通信开销 |
| 17 | 量化后精度下降怎么办? | 换量化方案 / 混合精度 / QAT / prompt 补偿 |
| 18 | Speculative Decoding 的原理? | 小模型预测 + 大模型验证,跳过大模型的 decode 步骤 |
| 19 | 怎么做容量规划? | 峰值 QPS × 推理时间 ÷ 单 GPU 吞吐 + 容灾冗余 |
| 20 | 冷启动问题怎么解决? | 预热、共享显存、预测性扩容 |
⭐⭐⭐ 高阶题
| # | 问题 | 要点 |
|---|---|---|
| 21 | 流量翻 10 倍,系统怎么扛? | 垂直→水平→架构优化→限流降级 |
| 22 | 设计一个支撑百万 QPS 的推理平台 | 明确需求→画架构→讨论挑战→演进路线 |
| 23 | TP=8 时效率只有 60%,怎么改善? | 改 DP 不增 TP、优化通信、换网络拓扑 |
| 24 | 如果让你自己实现 PagedAttention,怎么设计? | 分页、Page Table、按需分配、显存回收 |
| 25 | 自建 vs 云 API 的成本拐点在哪? | 看月调用量、GPU 成本、人力运维成本 |
| 26 | FP8 为什么在 H100 上比 INT8 快? | H100 原生 FP8 Tensor Core,不需要反量化 |
| 27 | KV Cache eviction 策略怎么设计? | 重要性评分、局部性、注意力权重 |
| 28 | 多可用区部署怎么保证一致性? | 无状态服务 + 模型权重相同 + 快速 DNS 切换 |
| 29 | 怎么评估一个新技术值不值得引入? | 原理理解→PoC 验证→benchmark 对比→风险评估 |
| 30 | 你最大的技术决策失误是什么? | 讲真实经历,重点讲学到了什么 |
答题通用框架
技术题:分析瓶颈 → 列出方案 → 给数据
架构题:澄清需求 → 画架构图 → 讨论挑战 → 演进路线
行为题:Situation → Task → Action → Result
每个问题都应该能用 2-3 分钟回答清楚,有结构、有数据、有思考过程。