岗位索引

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

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

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

算法相关面试题第 11 页

DNN 与传统机器学习方法有什么不同?为什么深度网络在表示学习、端到端训练和复杂数据建模上更有优势?

这题要比较 DNN 和传统机器学习在特征表达、训练方式、数据需求、泛化风险和工程落地上的差异。DNN 的优势主要来自表示学习、层次化非线性组合、端到端优化和对图像、语音、文本等复杂数据的适配,但它不是所有场景都优于传统方法。好的回答要同时讲清楚传统模型在小数据、结构化表格、可解释性、训练成本和稳定性上的优势。

为什么梯度下降在机器学习优化中有效?如何理解梯度方向、学习率、局部最优和非凸损失?

这题考的是对梯度下降有效性的本质理解:在可微损失函数附近,负梯度方向是一阶近似下让损失下降最快的方向,小步更新可以逐步降低目标函数。回答要进一步解释学习率、凸与非凸、随机梯度、鞍点、局部最优、归一化和收敛诊断,不能停在一句沿着梯度反方向走。

大模型反欺诈项目从开发、测试到部署应如何设计流程,Agent 框架选型需要关注哪些工程约束?

这题考大模型反欺诈项目的端到端工程化能力,不是只问“用了哪个 Agent 框架”。高质量回答要从业务边界、数据合规、Agent 工具链、离线评测、测试门禁、灰度部署、监控回流和框架选型约束讲清楚,体现反欺诈场景对准确性、可解释性、安全和稳定性的要求。

推荐系统中做采样后样本分布被改变,点击率预估值应该如何校准?

采样会改变训练样本中的先验点击率,模型在采样分布上学到的概率通常不是线上真实曝光分布的 CTR。回答时要先说明校准目标是把 sampled posterior 还原到 target posterior,再给出 odds/prior correction 公式,并补充用未采样验证集做 Platt、isotonic、温度缩放或分桶校准,最后用可靠性曲线、ECE、Brier/logloss 和线上 A/B 验证。

同一分类器和同一阈值下,测试集正负样本比例从 1:1 变为 1:1000 时,Precision 和 Recall 通常会如何变化,为什么?

在同一分类器、同一阈值、正负类条件分布不变的前提下,Recall 本质上是 TPR,通常基本不随类别先验变化;Precision 强依赖正样本先验,会随着正样本比例从 1:1 降到 1:1000 而大幅下降。回答关键是写出 Precision = π TPR / (π TPR + (1-π) FPR),并说明前提、例外和阈值重调策略。

DCN 和 DeepFM 的特征交叉机制有什么异同?

DCN 和 DeepFM 都用于稀疏特征推荐排序,都试图同时建模低阶和高阶交叉。DeepFM 用 FM 显式建模二阶 pairwise 交叉,再用 DNN 隐式学习高阶非线性交叉;DCN 用 cross network 递推地把原始特征 x0 与当前层 xl 做显式交叉,得到有界阶数的多项式交叉。回答重点是公式、显式/隐式、交叉阶数、参数效率、可解释性和工程选型。

推荐系统中多任务学习有哪些常见结构,PLE 主要优化了共享底座或 MMoE 的哪些问题?

推荐多任务常见结构包括 hard parameter sharing/shared-bottom、独立塔、ESMM、soft sharing、MMoE、PLE 等。核心矛盾是任务相关性不均、梯度冲突、负迁移、任务跷跷板和样本空间差异。PLE 在共享专家之外引入任务专属专家,并通过多层 CGC/门控逐层抽取 shared 与 task-specific 表征,主要缓解 shared-bottom 的过度共享和 MMoE 的专家混用、任务干扰问题。

推荐模型离线 AUC 与线上效果不一致时,可能有哪些原因,如何定位和修正?

离线 AUC 与线上效果不一致通常不是单点问题,而是数据分布、样本构造、标签口径、特征一致性、评估指标、候选集、系统链路和实验统计共同造成。回答要先说明 AUC 衡量 P(score_pos > score_neg),不等于线上业务收益;再按数据、模型、评估、服务、实验五层排查,并给出 replay、shadow scoring、切片、A/A、A/B 和监控修正路径。

LoRA 和 Adapter 在微调机制、参数插入位置和推理阶段开销上有什么区别?

这道题考察参数高效微调的结构理解,而不是只背 LoRA 和 Adapter 都是 PEFT。好的回答要先说明二者都冻结大部分基座模型、只训练少量新增参数;再区分 LoRA 是给已有线性层增加低秩权重增量,Adapter 是在 Transformer block 中插入小型瓶颈模块;最后落到推理开销:LoRA 可合并进原权重,单任务部署几乎无额外算子,Adapter 通常保留额外前向路径,会增加延迟、显存和 serving 复杂度。

DeepSpeed ZeRO 中哪些训练状态会占用 GPU 显存,为什么 activation 通常用 checkpoint/recompute 而不是像参数或优化器状态一样分页?

这道题考察大模型训练显存构成和 ZeRO 的边界。回答要先把 GPU 显存里的主要训练状态拆清楚:参数、梯度、优化器状态、激活、通信/临时 buffer 和碎片;再说明 ZeRO 主要分片的是模型状态,Stage 1/2/3 分别处理优化器状态、梯度和参数;最后解释 activation 为什么通常用 checkpoint/recompute:它是 batch/sequence 相关的短生命周期中间结果,反向依赖层级顺序,分页到 CPU/NVMe 会引入高带宽低延迟瓶颈,而重计算能用额外 FLOPs 换显存,通常更可控。

LLaMA 2 中的 GQA 是什么,它如何减少 KV heads、降低 KV Cache 和带宽开销,并影响训练与推理效率?

这道题考察 GQA 的注意力结构和 KV Cache 推理瓶颈。回答要先把 MHA、MQA、GQA 放在一条线上:MHA 每个 query head 有自己的 K/V head,MQA 所有 query head 共用一组 K/V,GQA 则让一组 query heads 共用一个 K/V head。它减少的是 KV heads 数量,从而降低 K/V projection 输出、KV Cache 存储、decode 阶段缓存读取带宽和跨卡通信压力。关键是不要把 GQA 只说成训练加速;它对长上下文自回归推理的内存带宽收益更直接,同时在质量和效率之间比 MQA 更折中。

如何将已有 MHA 大模型改造成 GQA?KV Head 权重合并初始化和继续训练分别解决什么问题?

这题考察的不是“GQA 是什么”这一层概念,而是如何把一个已经训练好的 MHA checkpoint 工程化迁移成 GQA,并解释初始化和继续训练各自承担的职责。核心答案应先说明结构变化:MHA 中每个 Query Head 通常有独立的 K/V Head,而 GQA 把多个 Query Head 分成一组,共享同一组 K/V 投影,从而减少 KV Cache、显存带宽和解码阶段访存。迁移时不能随机初始化 K/V,否则模型等于突然丢失大量注意力记忆能力;因此通常用 KV Head 合并做 warm start,例如按组平均、加权平均、选择代表头或用聚类合并 K/V 权重。这个初始化解决“结构对齐和功能尽量连续”的问题;继续训练或 uptraining 解决“合并带来的表达能力损失、注意力分布偏移和层间统计不匹配”的问题。高质量回答还要补充训练数据配比、学习率、冻结策略、评估指标和推理收益验证。

推荐或广告系统新增一路召回后,如何评估这一路召回的效果、效率和 ROI?

新增一路召回不能只看“这路召回了多少 item”或“命中了多少点击”,因为多路召回存在去重、排序、预算竞争和归因稀释。高质量回答要把评估拆成效果、效率、增量价值和 ROI 四层:效果看覆盖率、命中率、后链路采纳、排序后曝光/点击/转化贡献;效率看召回耗时、QPS、CPU/GPU/内存、索引成本、去重后有效候选率;增量价值看相对 baseline 的新增好样本、新增人群、新增广告主/商品覆盖,以及 A/B 中核心业务指标提升;ROI 则用增量收益减增量成本,或增量 GMV/广告收入/利润除以系统和维护成本。回答时要强调离线只能做候选筛查,最终要靠在线实验和归因方法判断是否值得长期保留。

主场景数据充足但抢购等小样本场景 CTR/CVR 分布不同,推荐模型如何用增量学习或 PPNet 做适配?

这题的关键是小样本场景不是简单“数据少”,而是抢购等场景的用户意图、价格敏感度、库存稀缺、时间压力和 CTR/CVR 分布都与主场景不同。只用主场景大数据训练一个统一模型,容易在小场景上校准偏、排序目标错或过度拟合主场景。可行方案包括增量学习、样本重加权、多任务/多场景建模、场景特征注入和 PPNet。PPNet 的核心是用场景/人群/上下文作为 gating 或 personalized parameter generator,对底层网络的 hidden units 或专家输出做个性化缩放,让主模型共享大样本知识,小场景通过参数调制适配分布差异。回答还要覆盖数据构造、冷启动、负迁移、校准、在线 A/B 和防遗忘。

推荐系统中用召回模型蒸馏粗排模型时,如何评价蒸馏后的召回效果?

这题考察召回模型蒸馏粗排模型后的评价方法。核心在于区分“学生模型是否拟合了粗排老师”和“蒸馏后的召回是否真的更好”。召回蒸馏粗排通常是把粗排模型对候选的打分、排序关系或 top item 偏好迁移到召回侧,使召回阶段更早拿到高质量候选。但评价不能只看蒸馏 loss 或 teacher-student 分数相关性,因为召回的职责是从海量 item 中找回后链路需要的候选。高质量答案应覆盖:离线召回指标、与 teacher 排序一致性、下游粗排/精排漏斗贡献、系统性能成本、在线 A/B 以及失败模式,如过度模仿粗排导致多样性下降、覆盖变窄、训练候选偏差和 teacher 错误被放大。

给定用户 session 曝光或点击序列,如何设计公式衡量推荐内容多样性并用于优化?

这题要求给定用户 session 的曝光或点击序列,设计可计算的推荐内容多样性公式,并说明如何用于优化。高质量答案不应只说“类别越多越好”,而要根据业务内容表示定义多样性:可以从类目覆盖、分布熵、两两相似度、去重率、新颖性、序列相邻差异和用户兴趣覆盖几个角度构造指标。对于 session 序列,常用公式包括 intra-list diversity:`ILD = 1 - average(sim(i,j))`;类别熵:`H = -Σ p_c log p_c`;有效类别数:`exp(H)`;相邻多样性:`1 - average(sim(i_t, i_{t+1}))`。用于优化时不能盲目提高多样性,需要和相关性、CTR/CVR、时长、留存做 trade-off,可在重排阶段加入多样性正则或约束,并用 A/B 验证用户体验和业务指标。

同公司岗位有 2 条面经记录

ASR 语音识别流程中,WFST、HMM、GMM-HMM、DNN-HMM 和 CTC 分别解决什么问题?

这道题考察候选人是否理解传统 ASR 到深度学习 ASR 的主线:语音识别不是一个单一模型,而是从声学信号到文字序列的建模与搜索问题。HMM 负责把连续语音拆成带隐状态的时间序列;GMM-HMM 用高斯混合建模每个声学状态的观测概率;DNN-HMM 用神经网络替代 GMM 做更强的声学判别;WFST 把发音词典、语言模型、上下文相关音素和解码约束组合成可搜索图;CTC 则用 blank 和条件独立假设直接学习帧到标签序列的对齐,弱化了 HMM 依赖的人工状态对齐。高质量答案要能讲清“各模块解决的问题、它们在链路中的位置、为什么从 GMM-HMM 演进到 DNN-HMM/CTC、以及评估时如何看 WER、RTF、延迟和 OOV”等指标。

在 OCPX 广告系统中,bid 出价如何参与广告混排,混排逻辑应放在排序侧还是出价侧?

这题的核心是广告系统里“出价”和“排序/混排”的职责边界。OCPX 中 bid 不只是广告主手填的静态价格,而是围绕优化目标、转化率预估、预算消耗、约束和平台机制形成的有效出价信号;它最终要进入广告候选的价值计算,例如 eCPM、pCTR、pCVR、bid、质量分、用户体验和业务约束的组合。混排不是由出价侧单独决定,也不应该完全脱离出价信号放在推荐排序里随意处理。更合理的边界是:出价侧负责把广告主目标、预算、CPA/ROI 约束和竞价机制转换成可解释、可控、可校准的 bid 或 value 信号;排序/混排侧负责在用户请求上下文中融合广告和自然内容,综合收益、相关性、体验、多样性、频控和商业约束做最终排序。广告混排逻辑通常更靠近排序/混排侧,但需要消费出价侧产出的价值信号,并把曝光、点击、转化和消耗反馈回出价系统形成闭环。

推荐排序中,LGB 点击率预估与 LambdaMART 这类 pairwise 排序模型应如何选型?

这题考察的是推荐排序模型目标与业务阶段的匹配。LGB 做点击率预估通常是 pointwise 思路:把每个曝光样本建成点击/不点击标签,预测 pCTR 或相关概率,优点是训练样本构造简单、可解释、工程成熟、延迟低、支持非线性特征组合,对稀疏表格特征和中小规模排序链路很实用;缺点是优化目标和最终排序指标 NDCG/MAP 不完全一致,也可能受曝光位置偏差和样本校准影响。LambdaMART 属于 learning-to-rank,常用 pairwise/listwise 的梯度思想直接优化排序相关指标,适合有 query/session/list 结构、强相对排序标签和 TopK 质量目标的场景;但它对样本分组、标签质量、训练成本、在线 serving、增量更新和校准都有更高要求。选型不能说谁绝对更好,而要看目标是概率预估、广告/推荐价值计算、可校准 CTR,还是列表相对顺序和 NDCG 提升。

推荐召回中,为什么可能不用 UserCF,ItemCF 又该如何结合热度信号?

这题考察推荐召回中的协同过滤取舍和热门度信号使用方式。UserCF 不用不代表不懂协同过滤,而可能是业务和工程上的理性选择:用户行为稀疏、用户兴趣变化快、用户相似度计算成本高、相似用户可解释但稳定性差、冷启动和噪声影响大,在大规模内容平台中维护 user-user 相似矩阵往往不如 item-item 稳定。ItemCF 利用“看过同一内容的人还看了什么”建 item-item 相似,物品侧关系相对稳定、可离线预计算、召回延迟低,适合视频/内容推荐召回。但 ItemCF 容易被热门内容支配,所以热度信号不能简单相加放大热门,而要做平滑、去偏、分桶、时间衰减和个性化权重控制。高质量回答要讲清为什么不用 UserCF、ItemCF 相似度如何计算、热度如何作为补充召回或重排序特征、如何避免马太效应,以及如何用离线和在线指标验证。

多模态/RAG 项目上线前如何设计评价指标,如何拆分整体效果与 RAG 子模块指标?

这题考察的不是“能不能背几个指标名”,而是能否把多模态/RAG 项目上线前的评价体系拆成可决策、可归因、可监控的指标框架。来源只支持“项目上线前评价指标”和“RAG 子模块评价指标”这两个面试追问,因此回答应聚焦通用方法论,不编造任何阿里内部指标。高质量答案要先定义上线目标和风险边界,再把评价拆成三层:端到端业务效果、模型回答质量、RAG 链路子模块效果。最终要能回答三个问题:整体效果好不好、如果不好是哪一段坏了、达到什么阈值才能灰度上线。

ItemCF 召回中如何引入时间间隔和位置间隔信息来改进相似度计算?

这道题考察的是候选人能否把 ItemCF 从“共同被同一用户交互过就相似”的朴素共现,升级成考虑用户行为序列和时间上下文的召回方法。时间间隔表达两个物品是否在接近的兴趣周期内被消费,位置间隔表达它们在用户序列中是否相邻或有方向性。好的回答要从 ItemCF 基础相似度公式出发,说明在共现贡献项里乘上时间衰减和位置衰减,再配合用户活跃度归一化、物品热度惩罚、会话切分、方向性建模、离线召回评估和线上指标护栏。重点不是背一个固定公式,而是说明为什么这些权重能降低偶然共现和长周期兴趣漂移带来的噪声。

基于商品属性 Embedding 的推荐召回如何设计,如何处理属性特征、向量索引和冷启动?

这道题考察的是候选人能否把“商品属性 Embedding”从一个模糊向量概念,拆成一条完整召回链路。商品属性包括类目、品牌、价格带、标签、文本描述、图片特征、商家、地域、质量分等结构化和非结构化信息。设计时要先定义属性 schema 和清洗规则,再把稀疏属性编码成 item embedding,构建 ANN 向量索引,在线用用户画像、最近行为或 query embedding 召回相似商品,并处理过滤、去重、冷启动、实时更新和效果评估。好的回答要强调它适合新商品、长尾商品和行为稀疏场景,但不能完全替代协同过滤;属性相似不等于用户会转化,仍需要后续排序和实验验证。

推荐系统新增一路召回后,排序阶段需要做哪些特征接入、分数校准和模型训练改造?

这道题考察的是候选人是否理解推荐系统是召回、排序、重排和实验闭环的整体系统。新增一路召回不是把候选直接塞给排序模型就结束,因为新召回源会带来候选分布变化、分数口径不一致、样本覆盖不足、特征缺失、去重归因复杂、线上配额和延迟变化。排序阶段至少要接入召回源特征、补齐候选侧特征、处理新旧渠道分数校准、更新训练样本和负采样、监控不同来源的排序表现,并通过 A/B 验证用户指标、业务指标和系统成本。回答的关键是把新增召回后的排序改造讲成“分布变化治理”,而不是只说模型重新训练。

用户增长算法与传统搜索、广告、推荐算法在目标、数据、模型和评估指标上有什么区别?

这道题考察的是候选人能否跳出搜广推常见的 CTR、CVR 预估框架,理解用户增长算法的目标更偏用户生命周期和增量价值。搜索、广告、推荐通常围绕当前请求或当前流量做匹配、排序和转化优化;用户增长更关注拉新、激活、召回、留存、复购、会员转化、LTV、补贴效率和渠道 ROI。它的数据有更强的跨周期、跨渠道、延迟反馈和因果干预特征,模型也常涉及人群分层、uplift、因果推断、LTV 预估、流失预测、触达频控和预算分配。好的回答要比较目标、样本、标签、模型、实验和指标,并说明增长算法不能只追短期转化,否则可能造成补贴浪费、用户打扰和长期留存受损。

MODNet 这类弱监督图像分割/抠图方法的主要流程是什么,如何利用类别相关背景信息?

这道题考察的是候选人对弱监督视觉分割或抠图流程的理解,而不是要求复述某家公司内部论文实现。可以把 MODNet 这类方法理解为:在缺少像素级精标注时,利用图像级标签、类别激活、伪掩码、背景先验和一致性约束,逐步训练出能区分前景对象、相关背景和无关背景的分割模型。类别相关背景信息的价值在于,弱监督方法容易把与目标共现的背景误当成前景,例如车和道路、船和水面、人物和舞台;如果能显式挖掘类别相关背景并在训练中建模,就能减少前景扩张和背景误分。回答要覆盖弱标签来源、伪标签生成、背景类挖掘、模型训练、噪声控制、迭代优化和评估指标,同时避免声称任何未公开的公司细节。

LLM 解码中的 top-k 和 top-p 采样分别如何实现,如何影响多样性、复读和生成稳定性?

这题考的是候选人是否真正理解生成式解码,而不是只会背 top-k、top-p 名词。来源只支持“美团 Agent 算法面试中问到 topk/topp 实现原理”,因此回答应聚焦通用 LLM 推理机制,不扩展成任何美团内部解码策略。高质量回答要讲清 logits 处理、候选集合截断、概率重归一化、随机采样,以及这些参数如何改变尾部 token 风险、多样性、复读和事实稳定性。

多轮对话 Agent 做强化学习时,reward 应如何设计,如何避免 reward hacking、轮次变长和任务成功率虚高?

这题考的是 Agent 强化学习的目标建模和反作弊评估能力。来源只支持“字节/懂车帝 Agent 算法实习面试中问到多轮对话强化学习”,不支持任何内部 reward 细节,因此回答应给出通用、可验证的 reward 设计框架。核心是把 reward 从单句好坏扩展到完整轨迹:任务是否真的完成、工具和信息是否可靠、轮次成本是否受控、安全边界是否遵守,并用 verifier、人评和切片指标防止 reward hacking 与虚高成功率。

大模型训练或微调时,batch size 过大或过小分别会带来哪些收敛、泛化、吞吐和显存问题?当有效 batch size 改变时,学习率是否需要结合 scaling rule、warmup 和梯度累积一起调整?

这道题考察大模型训练/微调中 batch size 与学习率、显存、吞吐、泛化和稳定性的联动。好的回答要区分 micro batch、global batch、梯度累积,并说明 scaling rule 只能作为起点,必须配合 warmup 和验证集监控。

在检索增强或语义搜索链路中,Qwen3 Embedding 模型和 Qwen3 Reranker 模型分别解决什么问题?二者在输入输出、训练目标、召回/精排位置和延迟成本上有什么区别?

这道题考察语义检索/RAG 链路中双编码召回和交叉编码精排的差异。回答要讲清 Embedding 负责低成本召回,Reranker 负责高精度相关性重排,二者输入输出、训练目标和延迟成本不同。