电商推荐里,曝光 → 点击 → 下单是一条链路。你现在有 1000 万条曝光样本,其中 100 万次点击、10 万次下单。要预测『下单概率』,有两种做法:(A) 只用 100 万条点击样本训练,预测 P(下单|点击);(B) 用全部 1000 万条曝光样本训练,预测 P(下单|曝光)。请说明两种做法的差别、各自的问题,以及线上排序时你会怎么用。
面试官在考什么
判断候选人是否理解样本选择偏差、条件概率的定义,以及『训练时的样本分布要接近打分时的候选集分布』这条原则。
回答框架 · 前两步
- 做法 A 建模的是 P(下单|点击),只在点击样本上有定义,训练分布不等于线上曝光分布,存在样本选择偏差;
- 做法 B 建模的是 P(下单|曝光),样本无偏但正样本只有 10万/1000万 = 1%,极度稀疏,直接学很难收敛;
还有 3 条答案要点、 3 层追问、 4 个常见坑, 以及针对你简历的追问路径,在定制报告里。
延伸阅读
想看这个方向的整体准备路线? 进入「推荐与搜索」方向页
同一能力域的其他题
- 冷启动问题你会怎么处理?新用户和新物品的策略一样吗?请分别说。
- 离线 AUC 涨了但线上 CTR 没涨,你会按什么顺序排查?请给出具体清单。
- CTR 模型里为什么要用 GAUC 而不只看 AUC?GAUC 是怎么算的、它解决了什么问题?
- 特征工程里你会怎么做特征穿越(label leakage)的检查?请举一个推荐场景里常见的穿越例子。
- 你做过线上 A/B 实验,请说明分流、样本量、显著性判断的要点。如果一个实验 p 值不显著,你怎么处理?
- 你在做一个首页信息流的 CTR 模型,要加一维特征「用户过去 7 天在该一级类目下的点击率」。训练样本取自 8 月 1 日–8 月 7 日的曝光日志(每天约 2 亿条),你打算 1–6 日做训练、7 日做验证。请说明:这个特征的统计窗口在离线训练和线上 serving 分别应该怎么算?为什么不能直接对整份日志算一个「过去 7 天」的统计再 join 回每条样本?