岗位索引

算法工程师面试题库第 10 页

算法工程师面试题解析,覆盖机器学习、大模型、推荐、意图识别和模型评估。

546 道题 29 个公司 130 个知识点

算法相关面试题第 10 页

LLM 预训练数据清洗中,如何结合质量模型、PPL、去重和领域规则过滤更适合模型学习的数据?

这题考的是预训练数据治理的系统性判断:不能只说按 PPL 阈值删除,也不能只依赖一个质量分类器,而要把数据规范化、质量打分、PPL 异常检测、重复样本压制、领域规则、分布保留和下游验证串成闭环,目标是在降低噪声和污染的同时保留对模型能力真正有贡献的多样知识。

LLM 预训练或 SFT 的数据配比如何量化评估?如何用实验、领域切片和评测指标判断一个 mixture 是否更好?

这题考的是把数据配比从经验拍脑袋变成可实验、可度量、可解释的优化问题。好的回答应覆盖目标能力定义、候选 mixture 设计、token 级采样权重、短程代理实验、领域切片评测、统计显著性、负迁移排查和 Pareto 取舍,而不是只说多放高质量数据或按业务重要性调比例。

RLHF、DPO、PPO 或 GRPO 中 reference model 起什么作用?如果不能保留完整 reference,可以用哪些替代或近似约束?

这题考的是对齐训练里 reference model 的约束本质:它不是装饰性的第二个模型,而是定义“不要偏离初始策略太远”的行为锚点。在 PPO、DPO、GRPO 等方法中,reference 通过 KL、log probability ratio 或隐式 reward 基线抑制奖励黑客、语言退化和安全边界漂移;如果不能完整保留,也要知道哪些近似能替代、哪些只能部分约束。

CV 任务中的注意力机制有哪些应用,通道注意力、空间注意力和自注意力分别解决什么问题?

这题考的是对视觉注意力的结构化理解:注意力不是一个单一模块,而是从通道、空间、像素/patch 关系、跨尺度和跨模态等角度重新分配特征权重。好的回答要能区分通道注意力解决“看哪些语义特征”、空间注意力解决“关注哪些空间位置”、自注意力解决“建模长距离关系”,并结合分类、检测、分割、ReID、视频和 OCR 讲应用与代价。

ReID 训练采样时如何保证每个身份的图像数一致,为什么这种 P-K 采样有利于度量学习?

这题考的是 ReID 训练中 batch 构造和度量学习损失的关系。P-K 采样不是简单凑 batch,而是每个 batch 选 P 个身份、每个身份取 K 张图,保证 anchor 有正样本、batch 内有足够负身份,并让 triplet、contrastive、circle、batch-hard 等损失能够稳定挖掘正负样本,同时缓解身份样本数不均衡带来的训练偏置。

目标检测任务的损失函数如何设计,分类、框回归、IoU 和样本匹配各解决什么问题?

目标检测损失不是把分类和框坐标简单相加,而是在解决四类不同问题:哪些位置有目标、目标属于什么类别、预测框和真实框如何几何对齐、哪些候选样本应该接受哪一个真实框监督。好的回答要先拆检测头输出,再解释分类损失、回归损失、IoU 类损失和样本匹配之间的依赖关系,最后讨论正负样本不平衡、损失权重、匹配策略变化对收敛和 AP 的影响。

BEVDet 这类纯视觉 BEV 感知算法如何通过 View Transformer 把图像特征转换到 BEV 空间?

这道题考察纯视觉 BEV 感知中从多相机图像特征到鸟瞰图特征的几何建模能力。好答案要讲清 BEVDet 的三段式链路:Image-view Encoder 提取每个相机的 2D 特征,View Transformer 结合深度分布、相机内外参和数据增强矩阵,把像素特征 lift 到三维 frustum,再 splat 或 pooling 到 ego 坐标系下的 BEV 网格,最后 BEV Encoder 在鸟瞰空间做融合和检测。回答边界应覆盖深度离散、特征加权、标定误差、分辨率取舍、遮挡和验证指标,不能把 View Transformer 误讲成普通 NLP Transformer。

FCOS 作为 anchor-free 目标检测算法,整体流程和正负样本分配如何设计?

这题考的是候选人是否真正理解 anchor-free 检测从“预设框匹配”切换到“特征图位置预测”的建模方式。好答案不能只说 FCOS 不用 anchor,而要讲清 backbone 与 FPN 生成多尺度特征、每个位置预测类别和到框四边距离、正负样本如何由位置落入目标中心区域和尺度范围决定、重叠目标如何消歧、centerness 如何压低低质量框,以及训练损失和推理 NMS 的完整闭环。边界是以公开 FCOS 机制为准,不把其它 anchor-free 方法的关键点检测或 Transformer 查询机制混进来。

DAPO、GSPO、GFPO 等 GRPO 变体分别试图解决哪些后训练问题?

这题考的是候选人是否能把 GRPO 变体放到后训练问题图谱里理解,而不是背算法名。好答案要先说明 GRPO 的基本形态:同一 prompt 采样一组回答,用组内相对奖励估计 advantage,减少显式 critic 需求;再说明 DAPO、GSPO、GFPO 分别主要针对大规模长推理 RL 中的训练稳定性、更新粒度和推理长度效率问题。由于这些算法较新,边界是只按公开论文和公开实现文档描述,不声称未公开训练配方,也不把不同团队的缩写含义混为确定事实。

DeepSeek-R1 的后训练流程如何从 SFT、RL 到可验证推理能力逐步构建?

这题考的是候选人是否能按公开技术报告复述 DeepSeek-R1 的后训练逻辑,而不是泛泛说“先 SFT 再 RL”。好答案要区分 DeepSeek-R1-Zero 和 DeepSeek-R1:前者直接从 base model 做大规模 RL,展示可验证推理奖励能诱导反思、验证和更长 CoT;后者用少量冷启动长 CoT 数据改善可读性和训练稳定性,再经过推理 RL、拒绝采样生成 SFT 数据、通用能力 SFT、全场景 RL,并把大模型推理模式蒸馏到小模型。边界是只描述公开论文/官方报告内容,不扩展到未公开训练细节或其它机构的具体做法。

同题还出现在 1 个公司岗位

Agent 工具调用训练中,如果一个 query 有多个可用工具,如何构造样本让模型学会工具选择偏好?

这道题考察的是 Agent 工具调用训练里的偏好学习,而不是简单判断某个工具能不能用。好答案要说明:当多个工具都可完成同一 query 时,训练样本不能只保留一个正确 tool call,而要把候选工具、选择理由、约束条件、反事实样本和评价指标都设计出来,让模型学会在成本、延迟、稳定性、精度、覆盖范围和任务阶段之间做取舍。

Agent 设计中为什么要区分自然语言对话状态和结构化执行状态,分别存什么?

这道题考察 Agent 状态管理的边界意识。高质量回答要把自然语言对话状态和结构化执行状态分开:前者服务于模型理解上下文、用户意图和交互语义;后者服务于工作流执行、工具调用、恢复、审计和一致性控制。两者相互映射但不能混成一大段聊天记录,否则系统会难以恢复、难以测试,也容易产生幻觉状态。

开发 MCP 服务时,如何设计 resources/tools/prompts、输入输出 schema、权限和可观测性?

这道题考察的是 MCP 服务的能力建模和治理能力,而不是会不会写一个 HTTP endpoint。好答案要从 resources、tools、prompts 三类能力暴露开始,定义清晰的输入输出 schema、权限和错误语义,再补上发现机制、版本兼容、超时重试、可观测性、回放和审计,保证 Agent 能安全、稳定、可追踪地使用 MCP 服务。

LoRA 和全参数微调如何按任务迁移幅度、显存成本和 target modules 做选择?

这道题考察微调方案选择,而不是背 LoRA 和全参数微调定义。好答案要先讲机制差异:LoRA 冻结基座模型,只训练低秩增量矩阵;全参数微调更新所有权重。再根据任务迁移幅度、数据规模、显存和训练成本、灾难性遗忘风险、部署方式、target modules 和 rank 选择方案,并说明如何用实验指标验证是否足够。

DPO、PPO、GRPO 三种对齐方法在工程上如何选择,各自适合什么反馈和决策场景?

这题考的是候选人能否把 DPO、PPO、GRPO 从“算法名词”落到工程选择。好答案要先按反馈形态和决策场景分类:只有离线成对偏好时优先 DPO;有可训练奖励模型、在线采样和长链动作优化需求时考虑 PPO;同一 prompt 能采多条候选并用组内相对奖励比较,尤其是可验证任务或推理题时适合 GRPO。还要讲清 reward hacking、KL 漂移、长度偏置、探索成本、训练稳定性和评估指标。

同题还出现在 2 个公司岗位

推荐系统中如何把 Transformer 行为序列表征接入 DIN 式目标兴趣建模?

这道题考察的是推荐序列建模和目标兴趣抽取的组合设计。高质量回答要说明:Transformer 适合把用户历史行为编码成带上下文的序列表征,DIN 的价值在于针对当前候选物品做 target-aware attention;工程上不能只拿一个全局向量,要处理时间因果、候选量、缓存、延迟和线上线下一致。

推荐系统中的用户画像和特征工程如何实现,怎样保证训练样本与线上特征口径一致?

这道题考察推荐特征工程的体系化能力。好答案不只是列画像字段,而要说明画像分层、特征定义、时间窗口、训练样本构造、线上读取、point-in-time correctness、特征平台复用和训练服务一致性,否则很容易出现泄漏、口径漂移和线上效果回退。

Transformer 为什么使用正弦/余弦位置编码,相比可学习位置向量有哪些好处和局限?

这道题考察 Transformer 位置信息的基本原理和边界。好答案要先说明 self-attention 本身不感知顺序,再解释正弦/余弦位置编码的多频率、无参数、可按公式外推和相对位移线性性质,同时承认固定绝对位置编码不等于长上下文能力,现代模型常用 RoPE、ALiBi 或相对位置方法。

BERT 的 token、segment、position embedding 为什么通常相加而不是 concat?

这道题考察 BERT 输入层的维度和架构取舍。Token、segment、position embedding 相加,是为了把词义、句子归属和位置注入同一个 hidden space,保持后续 Transformer 维度、参数量和残差结构稳定;concat 虽然看似保留边界,但会放大后续 Q/K/V、FFN 参数和推理成本,通常收益不明确。

单机多卡和多机多卡训练的核心差异是什么,如何根据互联拓扑、通信开销和并行策略做选择?

这道题考察分布式训练的系统判断。单机多卡和多机多卡的差异不只是 GPU 数,而是互联拓扑、通信延迟、带宽、故障域、调度、存储和并行策略。好答案要能按显存瓶颈、计算/通信比、batch、模型规模和网络条件选择 DDP、FSDP/ZeRO、张量并行、流水线并行或组合方案。

同题还出现在 1 个公司岗位

大模型微调时,7B 和 70B 模型的学习率应如何设置,为什么模型规模会影响学习率选择?

大模型微调时,70B 通常要比 7B 使用更保守的学习率,因为大模型参数多、预训练能力强、对分布扰动更敏感,过大学习率更容易导致灾难性遗忘、loss 震荡和能力退化。但这不是绝对规则,还要区分全参微调、LoRA、数据规模、batch size、warmup、scheduler 和任务差异。

常见预训练模型可以如何分类?它们在架构、训练目标和适用任务上有什么差别?

常见预训练模型可以按架构分为 encoder-only、decoder-only、encoder-decoder,以及对比学习或多模态模型。核心差别来自信息流方向、训练目标和下游任务形态:BERT 类 encoder 更适合理解、分类、抽取;GPT 类 decoder 更适合生成和对话;T5/BART 类 encoder-decoder 更适合输入到输出的转换;CLIP 等对比学习模型更适合检索、匹配和跨模态对齐。

RAG 生成阶段如何通过 Prompt 边界约束,在没有检索到有效证据时避免模型编造答案?

这题考察 RAG 生成阶段的边界控制能力。好的回答要说明 Prompt 如何把模型限制在检索证据内回答,如何定义无证据、低置信和证据冲突时的行为,以及如何配合检索评分、引用、结构化输出和评估来降低幻觉。重点不是写一句“不要编造”,而是建立可执行的证据约束。

构建 AI Agent 时,Memory 机制通常如何分层设计,短期上下文、长期记忆和检索注入分别解决什么问题?

这题考察的是候选人是否理解 Agent Memory 不是一个简单向量库,而是一套分层状态管理和检索注入机制。回答要区分短期上下文、工作记忆、长期记忆、外部知识检索和写入更新策略,并说明每层解决的问题、成本权衡、失效模式和评估方法。

XGBoost 主要缓解偏差还是方差问题?它如何通过 Boosting、正则化、Shrinkage、采样和树结构约束影响泛化?

这题的标准回答不是简单选偏差或方差,而是说明 Boosting 主体上通过逐轮拟合残差或负梯度降低偏差,同时 XGBoost 又用正则化、Shrinkage、采样、树深限制和早停来控制方差。回答要能讲出二阶梯度、叶子权重、分裂增益、复杂度惩罚等机制,并结合验证集曲线判断模型是在欠拟合还是过拟合。