题目
推荐/搜索系统上线新模型需 A/B 测试验证。请说明流程与常见陷阱。
参考答案
A/B 测试流程:
- 确定指标:核心指标(CTR、CVR、留存、人均时长)+ 护栏指标(延迟、崩溃率、投诉率)。
- 计算样本量:按预期提升幅度与显著性水平(α=0.05、power=0.8)算所需流量与天数。
- 分流:随机哈希把用户分 A(对照)与 B(实验)组,保证两组特征分布均衡。
- 运行:跑足够时间(至少一个完整周期,覆盖工作日/周末)。
- 分析:做假设检验(t 检验/卡方),看核心指标是否显著提升、护栏未恶化。
- 决策:显著正向 → 全量;不显著 → 保留并优化;负向 → 回滚。
常见陷阱:
- 样本量不足:过早下结论,把噪声当信号。需事前算 power。
- 辛普森悖论:整体看 B 好,分层看 A 好(或反之)——因两组用户构成不同。需做分层分析。
- 新奇效应:新策略短期被点击多因”新鲜”而非真优,几天后衰减。需观察长尾。
- 流量互染:实验组与对照组互相影响(如社交场景)——需用用户聚簇分流。
- 指标错配:优化 CTR 却伤留存(短视)——需同时看长期指标。
- 提前停止:多次偷看显著性会夸大效果(p-hacking)——需用序贯检验或固定天数。
- 分流不均:哈希有偏导致两组特征分布不同——需做 AA 测试验证。
进阶:
- CUPED:用实验前协变量修正指标方差,提升 power。
- 多层实验:正交分流支持多个实验同时跑(如 Google overlapping experiments)。
- Switchback:区域/时间分桶,适合网络效应强的场景。
面试加分点:
- 强调”A/B 测试是因果推断”,离线指标(AUC/NDCG)只作参考,最终以在线 A/B 为准。
- 辛普森悖论是高频考点,能举例说明加分。
- 护栏指标常被忽视——延迟涨 50ms 可能让留存跌,“效果”可能被延迟抵消。
出处:算法工程师面试题集、A/B 测试实战经验。
内容来源
整理自算法工程师面试题集
本站内容整理自公开面经与开源仓库,仅供学习交流,严禁杜撰。