岗位题目
算法相关面试题第 9 页
音频模型板端推理选择 CPU 还是 NPU 时,延迟、吞吐、算子支持、内存搬运和功耗如何比较?
这题考的是端侧推理决策能力:CPU 胜在灵活、启动开销低、算子覆盖广;NPU 胜在大规模规则算子吞吐和能效,但真实选择要看计算图是否能连续下沉、内存搬运是否可控、流式延迟和功耗是否达标。
如何手写实现一维卷积算子?给定输入序列 [1,2,3,4] 和卷积核 [1,2,3] 时,如何约定 kernel 翻转、valid/full 输出、padding 和 stride?
这题考的是能否先把卷积约定说清楚再写代码:深度学习里的 Conv1D 通常实际做 cross-correlation 不翻转 kernel;数学卷积会翻转 kernel;valid/full、padding 和 stride 会直接改变输出长度和数值。
为什么聊天大模型通常不能跳过 SFT 直接做强化学习后训练,Reward Model、DPO/PPO 和稳定性约束分别解决什么问题?
这题考大模型后训练的稳定性理解:SFT 先把模型带到可对话、可遵循指令的分布,强化学习或偏好优化再做对齐;直接 RL 容易稀疏奖励、探索失控和能力退化。
大模型微调为什么会出现灾难性遗忘,如何用数据混合、正则、回放、冻结参数和评测回归缓解?
这题考的是微调稳定性:目标不是背几个缓解方法,而是能解释窄域训练为什么会覆盖旧能力,并给出数据、参数更新和回归评测三条防线。
不同任务应如何设计 Prompt,如何调整指令、示例、输入输出格式和约束?
这题考的是 Prompt 设计方法论:不是背模板,而是能根据任务目标、输入不确定性、输出可验证性和风险边界,系统调整指令、示例、格式和约束。
多模态图像分支使用最大池化时,反向传播的梯度如何分配,工程实现需要注意哪些边界?
这题考最大池化的反向传播机制:输出梯度只回传给前向窗口中的最大值位置,非最大位置梯度为 0;工程上还要处理重叠窗口、并列最大值、padding、mask 记录和数值边界。
RAG 项目里的召回排序链路如何设计,Embedding 召回、粗排、重排和答案生成各自承担什么职责?
这题考 RAG 的工程链路设计:不是只接一个向量库,而是要把查询理解、混合召回、粗排、重排、上下文拼装、生成约束和评测闭环讲成一条可上线的检索增强系统。
同题还出现在 3 个公司岗位
AI 内部服务效果达标但业务同事不接受时,如何通过需求校准、试点验证、可解释指标和运营机制推动规模化落地?
这题考的是 AI 项目从模型效果到组织采用的落地能力:要能诊断不接受的原因,用业务指标、试点、可解释性、培训运营和反馈闭环把服务从“效果达标”推进到“真实被用”。
LLM 应用上线后收到业务反馈和 badcase,如何建立问题归因、数据回流、Prompt/模型迭代和回归评估闭环?
这题考 LLM 应用上线后的持续改进能力:要把业务反馈转成可复现样本,分层归因到数据、检索、Prompt、模型、工具或产品边界,再用评测和灰度闭环避免越改越差。
LoRA 微调不收敛或输出格式异常时,如何从数据、模板、学习率、rank 和 alpha 排查?
这题考的是 LoRA 训练故障诊断能力:候选人要能把不收敛和输出格式失控拆成数据、模板、损失、超参、adapter 容量和评测回归几个层面逐步定位。
LoRA alpha 过强或过弱会带来什么影响,增量训练出现灾难性遗忘时如何排查和缓解?
这题考的是候选人是否理解 LoRA 增量缩放和遗忘之间的关系,并能从数据分布、训练策略、正则约束和回归评测上解决增量训练稳定性问题。
DPO 偏好样本中的 reward 或偏好维度应如何选择,如何保证对齐目标和训练稳定性?
这题考的是 DPO 数据和偏好目标设计:不是只会说 chosen/rejected,而是能把业务目标、偏好维度、样本构造、冲突处理、训练稳定和评测闭环讲清楚。
多模态大模型微调应如何设计数据、视觉编码器/投影层、指令模板、训练阶段和评测?
这题考的是多模态 LLM 微调的系统设计能力:候选人要能从任务目标出发,讲清数据、架构可训练部分、阶段化训练、模板一致性、指标和回归防护。
连接视觉编码器和 LLM 时,Q-Former 与 LLaVA MLP Adaptor 各有什么优缺点,如何选择?
这题考多模态大模型里视觉特征到语言模型 token 空间的连接器设计。好的回答要说明二者都在解决维度对齐、语义对齐、信息压缩和训练稳定性问题,但 Q-Former 更像带可学习查询的语义压缩器,MLP projector 更像简单直接的视觉 token 映射器,选择取决于数据规模、视觉细节需求、上下文预算、延迟和冻结策略。
如何手写 Multi-Head Self-Attention,Q/K/V 投影、分头、mask 和输出拼接如何实现?
这题考 Transformer 注意力层的可实现细节。好的回答不能只背公式,而要讲清输入输出形状、Q/K/V 一次投影或三次投影、head 维度拆分、scaled dot-product attention、padding/causal mask 广播、softmax/dropout、head 合并、输出投影以及常见数值和 shape bug。
同题还出现在 1 个公司岗位
大模型推理变慢时,如何从序列长度、batch、KV Cache、量化、FlashAttention 和 GPU 资源排查?
这题考 LLM 推理性能诊断闭环。高质量回答应先定义慢在哪里,再拆分队列、prefill、decode、KV Cache、batch 调度、attention kernel、量化、GPU 利用率和服务链路,用指标定位瓶颈,而不是一上来堆优化名词。
同题还出现在 1 个公司岗位
长上下文推理中 KV Cache 为什么可能被污染,如何做缓存隔离、清理和复用边界控制?
这题考的是大模型推理缓存的正确性与安全边界:KV Cache 本身是某个模型、某段 token、某套位置编码和注意力 mask 下的中间状态;一旦跨请求、跨会话、跨租户、跨模板版本或跨可变上下文错误复用,就可能产生答案串扰、隐私泄漏、事实陈旧或位置错乱。
RAG 中检索文档正确但生成答案错误时,如何定位 Prompt、上下文组织、模型推理和后处理问题?
这题考的是 RAG badcase 的责任拆解:当正确证据已经被检索到,问题就不再主要是召回率,而要检查证据是否进入 prompt、是否被截断或排序淹没、指令是否约束模型使用证据、模型是否误读冲突信息、解码是否不稳定,以及后处理是否改坏答案。
RAG 需要跨多个文档综合回答时,如何做多跳召回、证据合并和冲突处理?
这题考的是多文档 RAG 的端到端设计能力:不能只说把更多 chunk 塞进上下文,而要能讲清问题拆解、多路召回、证据覆盖、去重合并、冲突处理、带引用生成和评估闭环。
Transformer 推理阶段为什么 KV Cache 只缓存 K 和 V,而通常不缓存当前步的 Q?
这题考的是自回归推理中 attention 计算复用的本质:历史 token 的 K/V 会在未来每一步被反复访问,而 Q 只属于当前查询 token,用完即可丢弃,所以缓存 K/V 能省重复计算,缓存 Q 通常没有收益。
Instruction Tuning 多轮对话训练中 loss mask 应如何设计,哪些 token 应参与损失?
这题考的是多轮 SFT 的 token 级训练目标设计:候选人要能说明 system/user/padding 通常不算 loss,assistant 答案 token 通常算 loss,并进一步讲清多轮全部 assistant turn、last-turn-only、label shift、packing 边界和模板一致性。
模型对齐后变得过于保守、经常拒答时,如何调整偏好数据、拒答策略和安全阈值?
这题考的是对齐训练中的 helpfulness 与 harmlessness 校准能力:候选人要能把过度拒答拆成数据标签、偏好目标、reward/judge 偏置、安全分类阈值和线上策略问题,并给出训练与评估闭环。
Transformer 中 Pre-Norm 和 Post-Norm 有什么区别,为什么会影响深层模型训练稳定性?
这题考的是 Transformer 残差块里 LayerNorm 放置位置对梯度流和深层训练的影响:Pre-Norm 更利于深层稳定训练,Post-Norm 表达形式经典但更依赖 warmup、初始化和训练技巧,二者还有最终性能与稳定性的取舍。
同题还出现在 1 个公司岗位
视觉 Transformer 处理非均匀采样 3D 点云时,Patch Embedding 应如何改进?
这题考的是把 2D ViT 的 Patch Embedding 思路迁移到 3D 点云时,如何处理点云无序、非均匀密度、局部几何和变长邻域。好的回答不能只说把点云分块后送 Transformer,而要讲清采样中心、邻域构造、密度归一、局部聚合、3D 位置编码和多尺度鲁棒性。
MoE 路由中 Top-K Routing、负载均衡损失和 capacity factor 分别解决什么问题?
这题考 MoE 路由机制的核心部件:Top-K Routing 决定每个 token 激活哪些专家,负载均衡损失避免专家塌缩和热点,capacity factor 控制每个专家可接收 token 的上限。回答要把模型质量、稀疏计算、通信成本和工程稳定性连起来。
PPO clip 在 advantage 为正或为负时分别限制什么,为什么这样能稳定策略更新?
这题考 PPO clipped surrogate objective 的符号细节。好的回答要能从 r(theta)=pi_new(a|s)/pi_old(a|s) 和 advantage A 的正负出发说明:A 为正时,这个动作比预期好,PPO 限制新策略把它概率提高得过多,也就是限制 ratio 的上界;A 为负时,这个动作比预期差,PPO 限制新策略把它概率降低得过多,也就是限制 ratio 的下界。这样用保守目标抑制单步策略漂移,从而提升训练稳定性。
LoRA 微调通常插入哪些层,epoch、learning_rate 等常用训练参数如何设置?
这题考 LoRA 微调的工程落点:适配器插到哪些线性层,常用 rank、alpha、dropout、epoch、learning_rate、batch 和 scheduler 如何取舍。好的回答不能只说冻结原模型、训练低秩矩阵,而要能根据任务类型、数据规模、显存预算和过拟合风险解释从 q/v 到 attention+MLP 的 target module 选择,以及为什么 LoRA 学习率通常比全参微调更高但仍需验证集约束。
训练中把 loss 除以 10 和把学习率除以 10 有什么区别?
这题考优化器细节:把 loss 除以 10 会先把反向传播得到的梯度缩小 10 倍;把学习率除以 10 是在优化器更新参数时缩小 step size。二者在最简单的无动量 SGD、无正则、无裁剪场景下近似等价,但在 Adam/AdamW、动量、weight decay、gradient clipping、混合精度、多任务 loss、分布式梯度累积等真实训练中会产生明显差异。
Qwen 这类大模型中的 SwiGLU 激活函数有什么作用,相比传统 FFN 激活函数有哪些优势?
这题考的是候选人是否理解现代 Transformer 前馈网络里的门控激活机制:SwiGLU 不是一个简单替换 GELU 的名字,而是通过 gate/value 两路投影和逐元素乘法提升 FFN 的表达能力与训练效果。
同公司岗位有 2 条面经记录
Qwen 这类大模型训练中,混合精度训练如何实现,为什么能提升吞吐并降低显存?
这题考的是大模型训练数值与系统效率的结合:混合精度不是简单把所有张量改成 FP16,而是在前向、反向、梯度、权重、优化器状态和通信之间选择合适精度来兼顾吞吐、显存和稳定性。
Qwen 这类大模型如何设计安全策略,减少有害内容和偏见输出?
这题考的是大模型安全治理的系统观:减少有害内容和偏见输出不能只靠一句安全提示词,而要把政策定义、数据治理、对齐训练、运行时护栏、红队评测和线上反馈做成闭环。
大模型训练中的 3D 并行和 DeepSpeed 分别解决什么问题,如何组合使用?
这题考的是大模型训练系统的分解能力:3D 并行解决模型和计算如何切到多卡上,DeepSpeed 提供 ZeRO、混合精度、checkpoint、offload 和并行编排等工程能力,两者可以组合但不是同一个概念。
大模型后训练中,PPO 为什么通常被视为 on-policy,importance sampling 起什么作用?
PPO 通常被视为 on-policy,是因为它的训练样本来自当前或刚刚冻结的行为策略,更新只在这批新 rollout 附近做有限幅度的策略改进,而不是长期复用任意历史策略产生的数据。importance sampling 在 PPO 中主要通过新旧策略概率比修正采样策略和待优化策略之间的小偏差,使我们能用旧策略采到的样本估计新策略目标;但由于只修正动作概率、对状态分布偏移和大幅策略漂移无能为力,所以它不能把 PPO 变成真正意义上的通用 off-policy 算法。
Qwen 支持 128K 长上下文时,如何降低显存占用和注意力计算复杂度?
Qwen 这类支持 128K 长上下文的大模型,不能只靠把最大位置编码拉长来解决问题,核心挑战是注意力计算随序列长度接近平方增长、KV cache 随层数和上下文长度线性增长、训练激活和通信也会放大。常见工程组合包括 RoPE 外推或缩放、FlashAttention 类内存高效注意力、GQA/MQA 降低 KV cache、paged/quantized KV cache、chunked prefill、序列并行或 context parallel、激活重计算,以及在可接受的质量边界内使用滑窗、稀疏或分块注意力。回答时要区分降低显存峰值、降低 KV cache、降低真实计算复杂度三件事。
Qwen 这类大模型做多语言支持时,数据配比、分词、对齐训练和评估应如何设计?
Qwen 这类大模型做多语言支持时,设计重点不是简单增加几种语言语料,而是要在数据配比、tokenizer 覆盖、跨语言指令对齐、偏好训练、安全策略和评估体系之间做平衡。高资源语言提供通用能力和知识密度,低资源语言需要通过采样温度、质量过滤、合成数据和翻译增强避免被淹没;tokenizer 要兼顾不同文字系统的压缩率和 byte fallback;对齐训练要避免只对中文或英文有效;评估也要覆盖语言质量、任务能力、文化语境、安全和 code-switch 等真实场景。
大模型训练显存如何估算,参数、梯度、优化器状态、激活和临时缓存各占哪些部分?
大模型训练显存可以先拆成 model states、activations、temporary buffers、通信缓存和碎片/框架开销。model states 包括参数、梯度和优化器状态;以 Adam 混合精度训练为例,常见粗估是参数 bf16/fp16 2P、梯度 2P、Adam 一阶和二阶矩 fp32 8P、可选 fp32 master weights 4P,总计约 12P 到 16P bytes。除此之外,activation 随 batch、sequence length、hidden size 和层数增长,长上下文 attention 还可能带来平方项;临时缓存包括 attention workspace、GEMM workspace、logits、通信 bucket、all-gather buffer 和内存碎片。估算时要同时考虑并行策略、ZeRO 分片、activation checkpointing、精度和 micro-batch。
同题还出现在 1 个公司岗位
多模态模型中跨模态注意力机制如何设计,如何举例说明不同模态 token 的对齐和融合?
这题考多模态 Transformer 中跨模态注意力的设计能力。好的回答要讲清楚不同模态 token 如何产生、如何注入位置和类型信息、如何做 cross-attention 或 co-attention、如何处理长度差异和噪声、如何训练对齐,并用图文例子说明文字 token 通过 query 关注图像 patch 或 object token,从而把语义、空间位置和细粒度属性融合起来。
文生图模型的核心框架如何设计,文本编码器、生成主干和图像解码器如何协同?
这题考文生图模型的整体框架理解。好的回答要讲清楚文本编码器把 prompt 变成条件表示,生成主干通常在像素或 latent 空间逐步生成图像,图像解码器把 latent 还原为像素;同时要说明 cross-attention、扩散噪声预测、时间步条件、classifier-free guidance、VAE 编解码、训练损失和推理采样如何协同。
大模型推理时出现 OOM,如何从 batch、输入长度、KV Cache、临时张量峰值和算子实现排查?
这题考推理 OOM 的系统化排障能力:要能把显存占用拆成权重、KV Cache、prefill 临时峰值、decode 并发、算子 workspace 和碎片,并用可复现实验逐步定位,而不是一句降低 batch size。
大模型训练中的 MFU 指标是什么,如何结合 Nsight/Profiler 定位吞吐瓶颈?
这题考训练性能分析能力:MFU 是把实际训练吞吐折算成模型有效 FLOPs 后,与 GPU 理论峰值比较的利用率指标;定位瓶颈要把 MFU、step time、kernel 时间线、通信、数据加载和显存行为一起看。
模型做 W4A8 量化或模型迁移后,如何验证激活值、梯度和权重是否正确,并用校准数据控制误差?
这题考量化和迁移后的数值正确性验证:要能从权重映射、激活分布、梯度流、逐层误差、校准集覆盖和端到端指标几层建立质量闭环,而不是只跑一遍精度评测。
Agent 微调中如何选择和清洗训练样本,哪些样本质量问题最容易改变模型行为?
这题考 Agent 微调数据的样本选择与清洗能力。与普通 SFT 不同,Agent 样本不仅有问答文本,还包含意图、计划、工具选择、参数、工具结果、状态变化、安全边界和最终回复。回答要说明哪些样本值得训练、哪些噪声会改变模型行为,以及如何用指标验证。
同题还出现在 1 个公司岗位
LLM 推理中做 KV Cache sparse 计算时,vLLM/Triton 实现为什么可能选择稀疏索引或稀疏块,而不是直接用 dense mask?
这题考的是稀疏注意力在推理引擎里的真实性能取舍。dense mask 在数学上能表达稀疏模式,但计算和访存仍接近 dense attention;而稀疏索引或稀疏块能让 kernel 只读取和计算被选中的 KV cache,从而节省显存带宽、减少无效 FLOPs,并更适合 vLLM 这类分页 KV 和 Triton 块级并行实现。
SmoothQuant 为什么要做 activation/weight 平滑?平滑参数如何设定,用激活分布判断模型是否适合时应关注 input channel 还是 output channel?
这道题考察对 SmoothQuant 的核心动机、等价变换和校准维度的理解。回答时要先说明 LLM 的激活 outlier 会让 INT8 activation 量化特别困难,而 SmoothQuant 通过按输入通道缩放,把一部分动态范围压力从 activation 平滑地迁移到 weight 上,从而让 W8A8 推理更稳定。关键点不是笼统地说做归一化,而是说明缩放不改变浮点计算语义、参数需要用校准集和逐层误差选择,并明确判断激活分布时主要看线性层的 input channel 维度。
AWQ 和 GPTQ 的量化原理有什么区别?在 LLM 推理部署中它们各自适合什么取舍?
这道题要求区分 AWQ 和 GPTQ 都是大模型后训练量化方法,但优化目标和工程取舍不同。GPTQ 更像基于二阶近似的逐块权重量化误差补偿,利用校准激活构造 Hessian 近似来最小化层输出重构误差;AWQ 则强调 activation-aware 的显著权重保护,通过观察激活通道重要性和缩放搜索减少关键通道误差。好的回答要能讲清原理差异、校准成本、精度与速度、kernel 适配、以及在 LLM 推理部署中的选择标准。
分布式 LLM 训练中 AllReduce、AllGather、ReduceScatter 和 AllToAll 分别解决什么通信问题,哪些并行场景会用到它们?
这道题考察分布式训练中 collective communication 的语义和并行策略映射。回答要先把 AllReduce、AllGather、ReduceScatter、AllToAll 的输入输出关系讲清,再说明它们分别解决梯度汇总、参数或激活拼接、归约后分片、个性化交换等问题。进一步要能联系数据并行、张量并行、ZeRO/FSDP、序列并行、专家并行和 MoE token dispatch,指出通信量、同步开销、拓扑和 overlap 对训练效率的影响。
如何根据模型参数量、训练 token 数、FLOPs、GPU 数量和硬件利用率估算 LLM 训练时间?
这道题考察能否把 LLM 训练时间从经验判断转成可计算的工程估算。核心公式是总训练 FLOPs 除以集群有效算力:dense decoder-only 模型可用约 6 × 参数量 × token 数估算前向加反向训练 FLOPs,再除以 GPU 数、单卡峰值 FLOPs 和硬件利用率或 MFU。好的回答还要说明单位换算、序列长度和 attention 开销、MoE active 参数、数据并行扩展效率、checkpoint/eval/restart 等 wall-clock 修正因素。
LLM 训练过程中应该监控哪些指标,如何用 loss、梯度、吞吐、显存、GPU 利用率、checkpoint 和评测集发现异常?
这道题考察 LLM 训练监控体系,而不是只问 loss 曲线。完整回答要覆盖模型质量、数值稳定性、吞吐性能、资源利用、数据管道、checkpoint 可靠性和周期评测。更重要的是说明如何用这些指标定位异常:loss spike 可能来自坏数据或学习率问题,梯度爆炸会伴随 grad norm 和 NaN,吞吐下降可能来自 dataloader、通信或 straggler,显存增长可能是泄漏或碎片,评测集退化可能暴露过拟合、数据污染或训练分布偏移。