面灵AI→

小红书算法岗面经合集:Uplift 建模、Transformer 细节与推荐召回

轮次
多轮面试合集
时间
2026-10
来源
牛客网

《面试题目》

面经 01 · 小红书 算法岗(2025-11-16)

  1. 关注的指标是什么?指标的计算口径是什么?
  2. 找到和大于等于目标值 target 的最短连续子数组长度 L,以及满足该长度的子数组个数 C。
  3. 升级:你觉得能用滑动窗口的关键是什么?如果数组有负数呢?
  4. 一个深度学习模型,怎么去判断不同特征的重要度?
  5. 一些传统的机器学习方法呢?比如 GBDT 的决策树,我怎么看特征的重要性?多棵树该怎么办?
  6. 介绍一下 uplift。
  7. 混淆偏差和选择偏差的区别是什么?
  8. 如何在业务场景中区分二者并解决二者?
  9. 比如你们的业务环境,我们今天要预测每一个用户,给他发不同的券。假设我们两种券,5 块、10 块,当然也可以不发。这三种情况下他的下单概率的差异,这个任务怎么做?
  10. 如何评估你刚设计的这个模型的质量?
  11. 还有什么指标能够对比如有序性的准确性来做一些检测?

面经 02 · 小红书 算法岗(2025-11-12)

  1. 详细讲清楚硕士科研项目的问题定义、链路、架构和输入输出。
  2. 为什么要把两个东西放一起做?它们结合的难点到底是什么,为什么不能直接放一起?
  3. 数据是流式的,每个时间段都会有流失和新增,怎么处理?
  4. 手撕:给一棵二叉搜索树和 k,求二叉搜索树中第 k 小的元素。
  5. 杂项:能实习多久,科研进展如何?

面经 03 · 小红书 算法岗(2025-11-12)

  1. 科研项目(知识图谱)具体是怎么实现的?前沿模型现在都在用什么网络?你的网络具体怎么做的?
  2. KL 散度和 CE 的区别是什么?不考虑 loss,只看结果评价指标用哪个有影响吗?
  3. 解释一下 MRR、Hit@k、nDCG 指标是什么。
  4. 跟 RNN 的区别在哪里?理论上的区别,在实际计算上的区别?
  5. 位置 embedding 用什么方法实现的?除了基础方法你还听过哪些方法?
  6. 多头和单头的区别在哪里?
  7. 为什么 softmax 前要除以根号 d?为什么是根号 d 不是别的数?在这个问题上我们的基础假设是每个值服从标准正态分布,还是只要均值 0 方差 1 即可?为什么?
  8. 如果我现在不除以根号 d,想一想换一种方法怎么处理 QK^T 的结果来避免上一问中提到的问题?
  9. 对 Layer Norm 和 Batch Norm 的理解。
  10. Encoder 和 Decoder 部分的区别是什么?

面经 04 · 小红书 算法岗(2025-11-01)

  1. 是否接受上海 base?
  2. 多头自注意力,和 MQA 还有 GQA 的区别是什么?
  3. PPO、DPO、GRPO 的区别是什么?
  4. DPO 的输入形式和 SFT 输入形式区别是什么?
  5. 做算法研究,是不是看论文比较多,工程上的工作会少一点?
  6. 给大量的用户数据(表格数据),提出一种算法改进大模型去评估用户账号的健康程度。
  7. 具体做什么工作?

面经 05 · 小红书 算法岗(2025-10-31)

  1. softmax 和 bce loss 怎么计算?
  2. CVR 怎么做的?样本构建是基于曝光空间还是点击空间?
  3. 具体的 CTR 和 CVR 是多少?

面经 06 · 小红书 算法岗(2025-10-26)

  1. 面对用户的申诉,你认为应该如何妥善处理?
  2. 你如何看待使用人工智能辅助内容审核的利弊?
  3. 在处理敏感信息时,你是如何确保自己遵守相关法律法规的?
  4. 你怎样看待持续学习和技能提升在用户安全审核领域的重要性?
  5. 请谈谈你对当前网络环境下,用户信息安全面临的主要挑战有哪些?
  6. 你有哪些方法可以有效识别和过滤垃圾信息或网络诈骗?
  7. 你如何评估自己的工作效率和审核质量?
  8. 面对高强度的工作压力,你通常如何调节自己的情绪和状态?
  9. 针对小红书这样的社交平台,你认为应该怎样建立有效的用户教育机制?
  10. 面对不断变化的网络环境和违规手段,你是如何保持审核标准适应性的?
  11. 你认为在用户安全审核岗位上,最重要的职业素养是什么?
  12. 在与国际团队合作的过程中,你是如何克服文化差异和沟通障碍的?

面经 07 · 小红书 算法岗(2025-10-26)

  1. 召回在整个推荐链路中的作用和必要性是什么?
  2. 多路召回融合的动态权重设计,手动还是自适应调整?
  3. 规则召回是怎么做的,用到哪些规则?
  4. CF 的召回过程是怎样的?

《参考解析》

特征重要性:深度模型和 GBDT 是两套不同的证据

深度模型上判断特征重要度,实用手段按可信度排序:置换重要性(打乱某一列看指标掉多少)最直观、模型无关,但特征相关时会被低估;消融重训最可信也最贵;梯度类方法(对输入的梯度、Integrated Gradients)能给逐样本解释但噪声大;注意力权重与 SHAP 是折中,SHAP 有一致性保证、代价是计算量随特征数增长。真正要强调的是「重要性的定义依赖于评测指标」——对 CTR 重要的特征对转化率未必重要,所以报告要写清指标、数据集与方差。GBDT 侧有两套内建口径:基于分裂增益的 importance 偏向高基数特征,基于分裂次数的 importance 偏向取值多的特征,两者都会把相关性强的特征的重要性摊薄;更稳的做法是用覆盖度(该特征影响的样本数)加置换重要性交叉验证,多棵树就把每棵树的贡献求平均并给出分布而不是单点。要记得在验证集上复核,因为训练集上的分裂增益天然偏向过拟合特征。

Uplift 建模与发券决策:预测的是「增量的差」

发券场景的正确答案是把问题建构成因果推断而不是普通分类:对每个用户要估计三种处置(5 元券、10 元券、不发)各自带来的下单概率,真正的决策依据是与「不处置」之间的增量,也就是 uplift。建模有两条路线:元学习器把处置当成特征训练一个模型、再用「该用户在有处置与无处置下的预测差」得到 uplift(S、T、X-learner 的差别在于是否共享模型、样本不均衡时怎么借力);直接建模增量则用双模型交叉训练或因果森林输出条件平均处置效应。发券还多一层约束:多值处置要用多臂 uplift,并叠加成本与预算——10 元券 uplift 更高不代表划算,决策目标是「增量收益减券成本」最大化,实务上用受限优化或按 ROI 排序分配。评估不能用 AUC 那套,要看 Qini 曲线与 Qini 系数、AUUC、uplift@k(预算受限时最相关),且务必用随机对照实验数据验证;指标口径要特别当心,「下单率」的分母是曝光、点击还是发券人群直接决定结论。想补充「有序性准确性」的检测,可以提排序指标(NDCG、Spearman 秩相关)与校准指标(可靠性曲线、ECE),因为发券决策既用到排序也用到概率绝对值。

混淆偏差与选择偏差:一个在变量之间,一个在样本之间

混淆偏差来自「处理组与对照组在某个同时影响处置和结果的变量上分布不同」——给高活跃用户发券,券的效果就被活跃度混淆了,X 同时影响 T 与 Y。选择偏差来自「进入分析的样本不是总体的随机样本」——只统计点击后的用户、只看留存下来的用户、问卷只回收了愿意回答的人,样本分布被筛选过程改变。区分方法很实用:先画因果图看偏差点在哪条路径(共同原因导致混淆、入样机制依赖结果导致选择),再在数据上检验——对比处理组与对照组协变量的分布(标准化均值差、倾向得分重叠度),选择偏差则对比入样样本与全量样本的分布、做幸存者检验。解决办法不同:混淆用随机化最干净,观测数据用倾向得分匹配、逆概率加权或双重稳健估计;选择偏差要靠修正采样机制(Heckman 两阶段、逆概率加权)或直接换成全量曝光数据重跑。业务里两者常常同时存在,所以稳的表达是「先随机化把混淆消掉,再检查入样机制是不是中性的」。

滑动窗口的适用条件与 BST 第 k 小

滑动窗口能用,靠的是「区间扩张时指标单调不减、收缩时单调不增」加上边界只单向移动,这样每个元素最多进出各一次,复杂度降到 O(n)。「和 ≥ target 的最短连续子数组」是典型单调场景:全正数时右边界右移和一定变大、左边界右移和一定变小,双指针成立;还要统计满足最短长度的子数组个数,做法是找到当前最短长度后对每个右端点统计左端点可取的区间范围,注意长度为 1 时左端点唯一。一旦数组含负数,前缀和不再单调,「缩小窗口一定使和减小」的前提失效,双指针会漏解,此时改用前缀和加单调队列(找最小合法前缀索引)或树状数组,复杂度回到 O(n log n)。所以这问的其实是你知不知道自己在依赖什么假设——能一口说出「依赖前缀和的单调性」比写出代码更能拿分。BST 第 k 小是中序遍历的直接应用,递归或显式栈按序访问、走到第 k 个就返回;补一句可以维护子树大小把复杂度从 O(k) 降到 O(log n)。

Transformer 细节:缩放点积、位置编码与结构差异

除以根号 d 的推导要讲全:设 Q、K 的每个分量独立同分布、均值 0 方差 1,点积的方差就是 d、标准差是根号 d;d 大时点积绝对值变大,softmax 进入饱和区、输出接近 one-hot、梯度趋近零,训练不动,除以根号 d 把方差拉回 1。追问「基础假设是标准正态还是只要均值 0 方差 1」——只需零均值单位方差,推导只用到方差可加性,不需要正态性。追问「不除根号 d 还能怎么办」,可选做法有可学习温度、对 Q/K 做归一化的余弦注意力、加软化函数、更稳的初始化或能自动调节尺度的注意力变体,核心都是别让 softmax 饱和。位置编码除正弦余弦(可外推、参数少)、可学习绝对位置(简单但长度固定),还要能说出 RoPE(对 Q、K 施加旋转,点积只依赖相对距离)和 ALiBi(按距离给分数加线性偏置,外推好)。多头的价值是把表示空间切成子空间各做注意力再拼接,让不同头关注不同类型的关系,参数与显存基本不变但实现更复杂。LayerNorm 与 BatchNorm 的差别在归一化维度:BN 在 batch 维统计、依赖同批样本、训练与推理行为不一致、对小 batch 与变长序列敏感;LN 在单样本的特征维统计、与 batch 无关,序列模型天然合适。RNN 与 Transformer 分两层:理论上 RNN 是顺序递归、隐状态承载全部历史、路径长度 O(n) 且无法并行;Transformer 任意两位置路径长度 O(1)、训练可并行,代价是平方复杂度与对位置编码的依赖。Encoder 与 Decoder 的差别在掩码与结构:Encoder 双向注意力看整句,Decoder 用因果掩码只能看左侧、多一层对 Encoder 输出的交叉注意力,自回归生成时还要带 KV 缓存。

知识图谱问答链路与检索指标

知识图谱项目的追问会落在「问题怎么变成可执行查询」这条链上:先做实体识别与链接(把问题里的 mention 对到图谱实体,要处理同名与嵌套),再做关系与意图识别,然后构建并执行查询(模板、SPARQL 生成,或把子图检索出来交给模型读),最后生成答案并校验。前沿做法已经从「规则模板加图嵌入」转向「子图检索加大模型推理」——用向量检索定位相关实体与关系子图,序列化进上下文让模型推理,好处是抗语言多样性,代价是可解释性与时延。MRR、Hit@k、nDCG 要一并说清:Hit@k 只问前 k 里有没有正确答案,是 0/1 指标、对位置不敏感;MRR 取第一个正确答案排名的倒数求平均,只奖励「第一个」命中的靠前程度;nDCG 引入分级相关性与对数折损,能反映多答案的排序质量并按理想排序归一化。KL 散度与交叉熵的关系是 CE = H(p) + KL(p‖q),当真实分布的熵固定时最小化 CE 等价于最小化 KL,所以训练上可以互换;但作为只看结果的评价指标,KL 有方向性且不对称、对 q 在 p 支撑之外的位置趋于无穷,不适合有零概率的场景,需要无界对称又不要求归一化时通常换 JS 散度、MMD 或排序类指标。

CTR 与 CVR、召回链路与对齐训练

CVR 的样本空间是电商算法的必答点:CTR 的样本在曝光空间(分母是曝光),CVR 严格来说是点击后转化的条件概率,样本应该在点击空间构建;线上则在曝光空间预估整体转化率(pCTR 乘 pCVR)。点击空间建模有三个坑:样本稀疏、样本选择偏差(在点击样本上训练的模型用到曝光空间时分布不一致,ESMM 用全空间建模 pCTR 与 pCTCVR、再让 pCVR 间接学习来缓解)、以及延迟反馈(转化可能几天后才发生,需要回流等待、时间窗截断或延迟反馈建模)。softmax 与 BCE 的区别也要清楚:BCE 对每个 logit 独立做 sigmoid 再取交叉熵,适用于多标签;softmax 把一组 logit 归一化成互斥分布再取交叉熵,一个样本只对一个类别负责。召回侧,多路召回融合的权重有手动与自适应两类:手动简单但容易过时,自适应是把各路产出当特征交给轻量模型学融合打分,或用在线反馈做 bandit 调权。规则召回的真实例子有热门、地域、时间窗、关注关系、话题标签、库存与合规过滤、业务强插,价值是可控可解释、能兜住冷启动。CF 的召回过程是「算相似度 → 取邻居 → 聚合成候选」:ItemCF 用共现或余弦算物品相似度并按用户历史加权,UserCF 反之,大规模下要靠倒排索引与剪枝(热门降权、相似度截断)控成本。Swing 与 CF 的差别在相似度定义:CF 只看两个物品被多少人共同交互,容易被小圈子互刷抬高;Swing 引入二部图的三角形结构,用两个用户共同交互过的其他物品数量衡量这条共现的可信度,因此更抗流行度偏差与噪声。对齐训练方面,PPO 需要奖励模型与优势函数、用裁剪目标小步更新并用 KL 惩罚拴住策略,效果好但工程复杂;DPO 把 RLHF 目标改写成对偏好对的分类损失,用策略与参考模型的对数概率差构造隐含奖励,不需要奖励模型与采样、训练简单稳定,代价是对偏好数据质量更敏感;GRPO 去掉价值网络,用同一 prompt 下多条采样结果的组内相对得分当优势,适合奖励可自动验证的任务。内容审核那条线虽然问得软,但要答出工程视角:AI 辅助审核的利是吞吐、一致性与不间断覆盖,弊是误伤与语境理解盲区,所以要高置信自动处理、低置信转人工、并按品类设不同阈值且保证可申诉;质量与效率的评估落到准确率、召回率、误伤率、平均处理时长与申诉改判率上。