搜索算法算法应用工程师面试宝典 - 第4节
排序模型:LTR、GBDT+LR、Wide&Deep、Transformer-based
3 个问答卡片
Q1:LTR 中的 Pointwise、Pairwise、Listwise 区别是什么?实际场景如何选择?
A:Pointwise 预测单条 item 的分,忽略排序相对性;Pairwise 比较两两 pair 的相对顺序,如 RankNet;Listwise 直接优化整体排序指标,如 LambdaRank。搜索场景常用 Pairwise+Listwise 混合,因为用户更关心 top 结果顺序而非分数。
Q2:GBDT+LR 的核心优势是什么?GBDT 叶子节点做特征交叉为什么有效?
A:GBDT 自动学习非线性特征交互与高阶组合,将有效特征编码为稀疏向量再喂给 LR 做二分类。每个叶子节点对应一条路径,隐式完成特征交叉,比人工特征工程更高效。美团等场景常用于召回后粗排,提升效率。
Q3:Wide&Deep 的 Wide 侧为何保留手工特征?Deep 侧如何防止过拟合?
A:Wide 侧用线性模型记忆稀疏共现模式(如“安装应用→下载”),Deep 侧用 DNN 泛化未见组合。使用时宽深联合训练,Deep 侧加 Dropout 或 BatchNorm 防止过拟合。谷歌在 Google Play 中使用,相比纯 DNN 提升 3.9% 安装率。
公司侧重点
| 公司 | 排序模型偏好 | 典型场景 |
|---|---|---|
| 百度 | Transformer-based + 多任务学习 | 搜索排名、广告排序 |
| 阿里 | Wide&Deep + DIN/DIEN | 商品搜索、推荐流 |
| 字节跳动 | GBDT+LR → 升级为多目标排序 | 短视频搜索、广告投放 |
| 美团 | LTR(Pairwise) + GBDT | 商户排序、评价排序 |
面试官画像
- 多为搜索排序组资深工程师或技术经理,关注工程落地能力与原理深度;
- 容易追问:损失函数设计、采样策略、特征重要性、模型线上延迟 vs 效果;
- 会故意混淆“模型选型”和“离线指标”的关系,考察是否只背过。
回答框架
- 场景定义:搜索排序 vs 推荐排序,单目标 vs 多目标;
- 模型演进:LR → GBDT+LR → Wide&Deep → Transformer;
- 选型依据:数据量、特征稀疏性、实时性要求;
- 关键细节:损失函数(Pairwise Hinge / Cross‑Entropy)、负采样比例、特征交叉方式;
- 实际收益:A/B测试指标(CTR/NDCG/时长),举例说明提升数值。
简短示例(已嵌入问答卡片)
追问 & 避坑
常见追问:
- GBDT 做特征交叉时,如何避免过拟合?(答:限制树深度/叶子节点数/学习率)
- Wide&Deep 的 Wide 侧用 L1 正则还是 L2?(答:L1 产生稀疏解,更适合记忆少量强特征)
- Transformer-based 在排序中相比 CNN 优势在哪?(答:长距离序列依赖,可建模用户行为序列)
避坑指南:
- 不要只背公式,要讲清楚“为什么这个模型适合这个业务场景”;
- 不要忽略负采样细节——面试官常问负样本比例如何调节;
- 不要混淆“离线指标提升”与“线上收益”,需强调一致性校验。
项目案例:电商搜索排序模型迭代
项目名称:电商搜索排序模型从 LR 升级到 Wide&Deep
业务背景:搜索转化率长期停滞,LR 模型无法捕获高阶特征交互,top10点击率仅 8%。
规模指标:日活 5000 万,搜索 PV 1.2 亿,模型服务 QPS 3000,A/B 实验流量 5%。
技术栈:TensorFlow 1.x + Redis 特征缓存 + Kafka 实时流 + Spark 离线训练。
核心难点:
- 特征实时性要求高,Wide 侧稀疏特征需准实时更新;
- 模型参数量从 2M 增至 15M,线上延迟从 50ms 升至 120ms,需做模型剪枝与算子融合。
面试高频追问
| 追问 | 期望回答要点 |
|---|---|
| Wide&Deep 如何做特征交叉? | Wide 侧手动交叉,Deep 侧 DNN 自动高阶交叉,联合训练权重共享。 |
| 负样本如何选取? | 全局随机负采样 + session内未点击样本,比例 1:3 ~ 1:5。 |
| 模型上线效果不好怎么办? | 检查线上特征分布漂移,校验离线/在线一致性,使用降级方案。 |
| 为什么不直接上 Transformer? | 数据量不足以训练序列模型,且延迟要求 < 200ms。 |
可迁移回答话术
“在电商搜索排序项目中,我们面临 CTR 瓶颈。选择 Wide&Deep 是因为它兼顾记忆与泛化:Wide 侧交叉特征捕捉典型共现模式(如‘苹果+手机’),Deep 侧自动学习高阶非线性组合。离线 AUC 提升 0.8pp,线上 CTR 提升 2.1%。关键经验是负采样比例调优与模型压缩降延迟。” (80字)
避坑提醒:不要只讲模型结构图,要讲工程落地细节(特征工程、采样、延迟优化)。面试官更看重你能否在一个真实场景中做取舍。