已解析题目
C/C++ 工程师相关题目
LLM 推理中 Continuous Batching 和 Prefix Caching 如何影响请求切分、batch 维度和吞吐/延迟取舍?
这题考 LLM 推理调度中的 Continuous Batching 和 Prefix Caching,回答重点是请求在 prefill/decode 阶段如何切分、按什么维度组 batch,以及吞吐和延迟如何取舍。
LLM 训练或推理中 FP8 和 BF16 如何按吞吐、显存和稳定性取舍?
这题考 LLM 训练或推理中 FP8 和 BF16 的精度格式取舍,回答重点是显存、带宽、吞吐、数值稳定性和工程校准,不应断言所有 DeepSeek 或 Qwen 版本的内部实现。
LLM 推理算子优化中,Memory Coalescing 和 Bank Conflict 分别是什么,如何影响显存访问效率?
这题考 CUDA 访存优化在 LLM 推理算子里的基本功。回答要把 GMEM 的连续合并访问、SMEM 的 bank 并行访问、warp 级访问模式和 profiling 现象连起来,而不是只背两个定义。
LLM 推理算子中,Tensor Core、WMMA 和 MMA 分别是什么,工程上如何选择使用层级?
这题考候选人是否理解 NVIDIA GPU 矩阵乘加的硬件、CUDA C++ 抽象和更底层指令接口。回答要能说明 Tensor Core 是硬件单元,WMMA 是较高层 CUDA API,MMA 是更贴近指令和 PTX 的矩阵乘加操作。
LLM 推理算子变慢时,如何判断瓶颈是 Memory Bound 还是 Compute Bound?
这题考算子性能诊断方法。回答要从理论 roofline、算术强度、实际 profiler 指标、stall reason 和优化方向闭环判断,而不是只说“看 GPU 利用率”。
单机多卡 LLM 推理中的分布式 GEMM 如何切分矩阵,并完成跨 GPU 通信?
这题考 tensor parallel 下 GEMM 切分和 collective communication 的基本工程理解。回答要能把矩阵维度切分、局部计算、AllReduce/AllGather/ReduceScatter、通信计算重叠和推理场景约束讲清楚。
LLM 推理服务如何做流量调度,兼顾模型副本、队列长度、KV 资源和延迟 SLO?
这题考 LLM 推理服务的请求路由和服务治理。回答要围绕模型副本选择、prefill/decode 队列、KV cache 资源、batching、优先级、SLO 和故障降级展开,避免泛泛而谈负载均衡。
LLM 长上下文推理中,KV Cache 压缩如何降低显存占用,和 Prefix Cache 的作用有什么区别?
这题考长上下文 LLM 推理中的显存管理。回答要把 Prefix Cache 的跨请求前缀复用和 KV Cache 压缩的单次/多次请求显存降载区分开,再说明压缩策略、精度损失、服务集成和评估指标。
非对称量化相比对称量化,在计算和反量化时会带来哪些额外开销与精度影响?
这题考 zero point 带来的计算差异。好答案要从量化公式展开到矩阵乘额外修正项、预计算可能性、性能代价,以及非零中心分布下的精度收益。
手写 CUDA Softmax2D 时,如何在 K 维做数值稳定的 softmax,避免指数溢出和精度爆炸?
这题考 row-wise softmax kernel 的正确性和性能:按 K 维减最大值、FP32 累加、block/warp reduction、不同 K 大小的线程映射,以及极端输入验证。
TensorRT-LLM(TRT-LLM)和 vLLM 在 LLM 推理部署中有什么区别,TRT-LLM 主要靠哪些机制加速?
这题考 LLM 推理部署中的系统取舍。好的回答要把 vLLM 和 TensorRT-LLM 区分为不同工程侧重点:vLLM 更像面向在线服务的通用推理引擎和调度系统,强调 PagedAttention、连续批处理、OpenAI 兼容服务和模型接入灵活性;TensorRT-LLM 更贴近 NVIDIA GPU 上的编译优化与高性能运行时,强调 TensorRT engine、算子融合、专用 kernel、量化、KV cache、in-flight batching 和多 GPU 通信优化。不能简单说谁一定更快,要看模型、硬件、batch、延迟目标和工程成本。
LLM 推理引擎中 GPU 内存管理机制应如何设计,如何管理 KV Cache、显存碎片、并发 batch 和 OOM 降级?
这题考的是推理引擎的显存资源治理能力:不能只会调用 CUDA malloc,而要能把 KV Cache、临时 workspace、权重、并发请求、碎片控制和 OOM 降级统一成可预测、可观测、可调度的内存系统。
vLLM 和 SGLang 在 LLM 推理引擎中分别解决什么问题,如何从 PagedAttention、前缀复用和请求调度角度比较?
这题考 LLM 推理引擎的系统理解,而不是问两个项目谁更快。好答案要说明 vLLM 的核心公共概念是提升 serving 吞吐和显存利用率,典型抓手包括 PagedAttention、KV cache 分页管理、continuous batching 和 prefix caching;SGLang 更强调面向复杂 LLM 应用的编程/运行时,围绕结构化生成、多轮/多调用流程、前缀复用、调度和缓存优化降低复杂请求的执行成本。比较时要从 KV 管理、前缀复用、请求调度、结构化输出、内存压力和 workload fit 讲边界,避免虚构版本特性。
为什么 CPU 通常需要多级 Cache,而 GPU 更强调 shared memory、coalescing 和高带宽并行访存?
这题考 CPU/GPU 架构差异和访存优化思路。好答案要说明 CPU 面向低延迟、强控制流、少量复杂线程,依赖多级 Cache、分支预测和乱序执行降低单线程访存延迟;GPU 面向高吞吐、大量线程并行,用 warp 调度隐藏延迟,更强调 coalesced global memory access、shared memory 显式复用、高带宽和 occupancy。不能简单说 GPU 没有 Cache,而要说明 GPU 也有 L1/L2/纹理等缓存,只是优化重点从自动低延迟缓存转向显式数据布局和并行带宽利用。
Qwen 各代模型结构演进通常体现在哪些方面,如何从注意力结构、长上下文、多模态能力和推理效率回答?
这题考的是能否用公开模型家族演进的视角解释 Qwen 结构变化,而不是背某一代的内部参数。好的回答应按 Transformer 基座、注意力与 KV Cache、长上下文扩展、多模态接入、训练与推理效率几个维度展开,并说明这些变化分别解决吞吐、上下文长度、跨模态理解和部署成本问题。