岗位题目
算法相关面试题第 3 页
Attention如何计算?
Attention 的核心是用 query 和 key 计算相关性权重,再用这些权重对 value 做加权求和。Transformer 中常见的是 scaled dot-product attention:softmax(QK^T / sqrt(dk))V,多头注意力则并行学习多组关系。
怎么加速模型训练?
加速模型训练要从数据、模型、计算、分布式和实验流程五层回答。核心不是简单说“加 GPU”,而是减少无效计算、提高硬件利用率、降低通信成本,并保证加速后模型效果和可复现性不被破坏。
同题还出现在 1 个公司岗位
Reward model如何训练?
Reward model 训练的核心是把人类偏好转成可学习的评分函数。常见做法是对同一 prompt 的多个回答做偏好标注,构造 chosen/rejected pair,用 pairwise ranking loss 训练模型给更优回答更高分。
同题还出现在 1 个公司岗位
深度点击率预估模型如何选型?
深度点击率预估模型选型要看特征规模、样本量、实时性、可解释性和业务阶段。回答时可以从 LR/GBDT 到 Wide&Deep、DeepFM、DIN、DCN、MMoE 等模型演进讲起,再说明如何用离线指标和线上 A/B 验证。
如何判断模型是否过拟合?
判断过拟合要看训练集表现和验证/测试集表现是否明显分离。典型现象是训练 loss 持续下降、训练指标很好,但验证指标停滞或变差。还要结合学习曲线、分桶表现、交叉验证和线上泛化来排除数据泄漏或分布漂移。
OpenCV里边缘检测怎么做的?
OpenCV 边缘检测常见流程是灰度化、去噪、计算梯度、非极大值抑制和阈值连接。面试中可以重点讲 Canny,也可以补充 Sobel、Scharr、Laplacian 等算子分别适合检测一阶或二阶变化。
你对大模型分布式训练的底层了解多少?
大模型分布式训练的底层要围绕并行策略、通信开销、显存拆分和容错监控来讲。面试回答不能只说“多卡训练”,要能解释数据并行、张量并行、流水线并行、ZeRO/FSDP 以及 AllReduce 等通信模式各自解决什么问题。
在一个文档中,如何筛选出对一个综合场景大模型的微调数据?
从单个文档筛选综合场景大模型微调数据,关键是把原始内容变成高质量、多任务、可验证、去噪去重的指令样本。回答要覆盖场景定义、片段切分、样本构造、质量过滤、分布配比和评测闭环。
特征工程中,如何处理高维稀疏特征?
高维稀疏特征常见于推荐、广告和搜索场景,处理思路是降维、哈希、Embedding、正则化和特征筛选。回答要说明稀疏性带来的计算、存储、过拟合和泛化问题,再按模型类型给出处理方法。
特征工程中,为什么要对连续特征离散化?
连续特征离散化的价值在于增强非线性表达、降低异常值影响、提升可解释性,并让线性模型更容易学习分段关系。回答要同时说明适用场景、分箱方法、信息损失和线上一致性。
Uplift模型评估指标有哪些?
Uplift 模型评估的核心不是预测转化概率,而是衡量干预带来的增量效果。回答应覆盖 uplift curve、Qini curve、AUUC、Qini 系数、分组 uplift、Top-K 增益和 A/B 验证。
Uplift模型与传统分类模型的核心区别是什么?
Uplift 模型和传统分类模型的核心区别在目标变量:分类预测用户会不会转化,Uplift 预测干预会让转化概率提升多少。面试要讲清训练数据、标签构造、模型输出、评估指标和业务使用方式的差异。
多模态特征怎么融合?
多模态特征融合要解决不同模态的表示、对齐、尺度、缺失和交互问题。面试回答可按早期融合、中期融合、晚期融合和注意力/跨模态交互展开,再补充训练目标、缺失模态和线上成本。
ESMM模型里,CVR和CTR任务共享Embedding层,这个在代码层面具体是怎么实现的?
ESMM 中 CTR 和 CVR 任务共享 Embedding 的代码实现,本质是同一批稀疏特征经过同一组 Embedding layer 查表,得到共享底层表示,再分别进入 CTR tower 和 CVR tower。回答要讲清共享参数、前向路径、loss 设计和训练样本空间。
同题还出现在 1 个公司岗位
GBDT 的实现流程是什么?
GBDT 的实现流程是不断训练回归树去拟合当前模型的负梯度或残差,并把新树按学习率累加到集成模型中。回答时要讲清初始化、计算伪残差、建树、叶子权重、模型更新和停止条件。
XGBoost 为什么比传统 GBDT 快?
XGBoost 比传统 GBDT 快,主要来自工程和算法两方面优化:二阶近似、预排序或直方图、稀疏感知、列块并行、缓存友好访问、正则化剪枝和分布式训练。回答要避免只说“并行”,因为 boosting 的树轮次本身仍然有依赖。
如何用 XGBoost 处理不平衡分类问题?
用 XGBoost 处理不平衡分类,要同时调整训练目标、样本权重、采样策略、评估指标和阈值。面试回答不能只说调 `scale_pos_weight`,还要说明为什么 accuracy 不可靠,以及如何用 PR-AUC、Recall、F1 和业务成本验证。
因果推断中,混淆变量和中介变量有什么区别?
混淆变量和中介变量的区别在于因果位置不同:混淆变量同时影响处理和结果,需要控制;中介变量位于处理到结果的路径上,解释作用机制,是否控制取决于要估计总效应还是直接效应。
因果推断中,无法获取随机对照数据时如何估计因果效应?
没有随机对照数据时估计因果效应,需要用观察数据方法尽量构造可比组。常见思路包括倾向评分、匹配、分层、回归控制、DID、工具变量、断点回归、DML 和敏感性分析,但结论可信度依赖假设。
同题还出现在 1 个公司岗位
如何生成词向量?
生成词向量可以从共现统计、预测式训练和上下文化表示三条线回答。经典方法包括 one-hot、共现矩阵加 SVD、Word2Vec、GloVe、FastText,以及 BERT 这类上下文相关 embedding。
神经网络初始参数能不能全设成 0,为什么?
神经网络参数不能全部初始化为 0,因为同一层神经元会得到完全相同的梯度更新,无法打破对称性,多个神经元会学成同一个函数。偏置可以为 0,但权重需要随机或按 Xavier/He 等方法初始化。
L1 和 L2 正则化的区别是什么?
L1 和 L2 正则化都是限制模型复杂度、缓解过拟合的方法。L1 加的是参数绝对值和,容易产生稀疏权重;L2 加的是参数平方和,会平滑地压小权重,也常被称为权重衰减。
DragonNet如何保证输出的单调性和一致性?
DragonNet 这类因果效应模型要保证输出单调性和一致性,核心是把业务约束写进模型结构、输出变换、损失函数和训练校验中。回答时要区分预测值的数学约束、处理效应的一致性,以及线上分桶后的业务单调。
特征工程中,如何量化特征与目标变量的因果关系?
量化特征与目标变量的因果关系,不能只看相关系数或特征重要性,而要定义干预、构造对照、控制混淆并估计处理效应。常见方法包括 RCT、倾向评分、DID、IV、DML 和因果图分析。
编码解码模型具体怎么实现的?
编码解码模型的实现核心是编码器把输入序列压成上下文表示,解码器基于上下文和已生成 token 逐步输出目标序列。不同实现可以是 RNN seq2seq、attention seq2seq 或 Transformer encoder-decoder。
离散、连续特征如何拼接?
离散和连续特征拼接的关键是先把两类特征变成尺度合适、语义明确的向量。离散特征常用 one-hot、hash 或 embedding,连续特征要归一化、分桶或变换,再在模型输入层拼接。
如果需要为特定领域的文本训练一套 Embedding,你会怎么做?
为特定领域文本训练 Embedding,要从语料构建、分词策略、训练目标、负样本、评估和部署更新全链路设计。关键不是只训练一个向量表,而是让向量能服务领域检索、分类、聚类或推荐任务。
在样本不平衡问题中,除了修正数据集,还能有哪些方法?
样本不平衡除了修正数据集,还可以从损失函数、样本权重、阈值移动、指标选择、模型集成、概率校准和业务决策成本入手。回答要说明不同方法解决的是训练偏差、预测阈值还是评估偏差。
同题还出现在 1 个公司岗位
PLCC 相关系数是怎么实现的?
PLCC 通常指 Pearson Linear Correlation Coefficient,实现时就是计算预测值和真实值的协方差,再除以两者标准差乘积。它衡量线性相关程度,范围在 -1 到 1。
激活函数有哪些?
激活函数的作用是给神经网络引入非线性,常见包括 Sigmoid、Tanh、ReLU、Leaky ReLU、ELU、GELU、Softmax 和 Swish。回答要讲清各自范围、梯度特点、适用层和常见问题。
你觉得要如何提高目前支付宝中搜索功能的效果和用户体验?
这个问题可以按支付宝这类任务型搜索场景回答:同时提升搜索效果和用户体验,不能只改排序或入口样式。高质量回答应围绕意图理解、多路召回、排序目标、结果组织、交互反馈和实验评估展开。
Reward model你觉得训练到什么程度可以?
Reward model 训练到什么程度可以,核心不是训练集 loss 越低越好,而是偏好排序能力、校准性、泛化能力和下游策略优化效果达到稳定可用,并且没有明显 reward hacking 风险。
你了解推荐线上比较核心的环节吗?
推荐线上核心环节通常包括请求接入、特征获取、多路召回、粗排、精排、重排混排、策略约束、日志回流和监控实验。回答要讲清每一层的目标、输入输出和效率取舍。
在B站视频业务的场景下,有哪些可能的挑选特征的方法?
B站视频业务挑选特征,要从业务目标、候选特征池、统计筛选、模型重要性、消融实验、多模态表征和线上验证共同判断,不能只凭相关性或单次离线指标决定。
给定一个未排序数组,如何输出第K大的数字?
未排序数组找第 K 大,常见解法有排序、大小为 K 的小顶堆和 Quickselect。面试中最推荐先给出复杂度对比,再重点讲 Quickselect 的 partition 思路和边界处理。
数据预处理一般用 OpenCV 做什么?
OpenCV 在数据预处理中常用于图像读取、格式转换、尺寸调整、归一化、去噪、增强、几何变换、颜色空间处理和基础标注清洗。回答要把训练数据处理和上线推理一致性一起讲清楚。
Python 的生成器是如何实现的?
Python 生成器的本质是带有可暂停执行状态的迭代器。回答要讲清 yield 如何保存栈帧、next/send 如何恢复执行,以及它和普通函数、迭代器的关系。
为什么需要 Reward model?
Reward model 的价值在于把人类偏好或业务偏好转成可优化的奖励信号,用来指导模型从会生成变成更符合偏好的生成。回答要说明它解决的是监督微调之后的偏好对齐问题。
Reward model 不准确时怎么办?
Reward model 不准确时不能直接继续强化学习,否则会放大错误偏好。稳妥回答要从数据、标注、模型、校准、对抗评测和下游闭环逐层修复。
ReLU 是为了解决什么问题设计的?
ReLU 的设计目标是给神经网络引入简单高效的非线性,同时缓解 Sigmoid/Tanh 在深层网络中的梯度消失和计算饱和问题。回答要同时讲优点和死亡 ReLU 等代价。
从算法工程师的角度,如何预测苏州的房价?
房价预测题考察的是从业务问题到机器学习建模的完整流程。回答要覆盖目标定义、数据来源、特征工程、模型选择、验证方式、误差分析和上线监控。
分布式的 slave 和 master 之间如何通信?
master/slave 通信本质上是分布式节点之间的控制面和数据面协作。回答要覆盖心跳、注册发现、任务下发、状态上报、数据同步、故障检测和一致性取舍。
数据集是如何构建和评测的?
数据集构建和评测题考察的是训练数据闭环。高质量回答要覆盖目标定义、数据采集、清洗标注、划分、质量评估、偏差检查、基线验证和持续迭代。
同题还出现在 1 个公司岗位
如果让你设计一个推荐系统,会设计什么样的架构?
推荐系统架构题要从离线训练、在线服务、召回排序、策略重排、实验监控和反馈闭环回答,不能只列协同过滤或深度模型。
Self-Attention 中为什么需要 Softmax?
Self-Attention 中 Softmax 的作用是把相似度分数转换成归一化注意力权重,让模型用概率分布对 value 做加权聚合。
Self-Attention 中为什么要做 QKV 线性变换?
QKV 线性变换让同一个输入表示分别投影到查询、键和值三个语义空间,使 Attention 能学习匹配关系和被聚合内容,而不是用原始 embedding 直接相乘。
XGBoost 的特征重要性是如何得到的?
XGBoost 特征重要性通常来自树分裂统计,例如 split 次数、带来的增益和覆盖样本量。回答要说明这些指标的含义和偏差。
基于值函数和基于策略梯度的 RL 算法有什么区别,分别适合什么场景?
基于值函数和基于策略梯度的 RL 方法区别在于前者学习状态或动作价值再间接选动作,后者直接优化参数化策略。