MLE · ML System Design / Knowledge

DoorDash Ads Recommendation:投放服务、存储与 A/B 评估

DoorDash MLE 面经题:广告推荐系统的候选资格、预算频控、排序服务、数据库/缓存和实验指标。

题目重点:DoorDash MLE 面经题:广告推荐系统的候选资格、预算频控、排序服务、数据库/缓存和实验指标。

题意与假设

这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。

  • 题目只给 Ads Recommendation 方向与后端/实验追问。训练契约假设在餐厅/商品列表页插入可标识的赞助候选,按广告主预算与用户相关性选择;不把此当作面试原题的完整产品规范。
  • 广告资格至少由活动状态、时间/地区、商家可履约、预算余额和频控决定;商业目标不能覆盖硬性的营业/配送与广告披露要求。

解题路线

  1. 离线把 campaign、创意、定向、预算和商家状态建成可检索索引;在线请求按用户/位置/页面取候选,先过硬资格和粗预算检查,再取实时/离线特征打分。
  2. 拆存储职责:campaign 配置与审核用事务数据库,在线候选/特征用低延迟 KV/索引,曝光/点击/下单事件写可重放日志,报表异步聚合。缓存带版本与失效机制,不能让暂停活动继续投放。
  3. 排序将预期用户价值、相关性、出价/商业收益和履约风险放进明确目标;广告主预算/频控在投放点做原子预留或安全超额策略,点击/转化账务按归因规则结算与对账。
  4. A/B 测试先固定随机化单位与实验桶,记录候选集、模型版本、曝光与归因窗口;同时看广告收益、用户转化/留存、自然结果挤出、商家公平、延迟和预算超支。

手动走一遍

用户在晚餐时段浏览某地区,候选餐厅 A 出价高却已关店、B 可送达且预算充足、C 预算刚耗尽。硬过滤排除 A/C,再对 B 与其他合格广告排序;服务端原子预留 B 的预算份额,写曝光事件。若用户下单,按事先约定的归因窗口关联,而不是所有后续订单都算 B 的贡献。示例字段为训练假设。

规模与取舍

设候选数 K、特征数 F,在线过滤 O(K)、批量特征与排序约 O(KF);延迟风险在候选索引、特征 fan-out、预算原子更新和日志投递。广告主预算高并发更新需分片或配额下发,同时周期性与权威账务对齐。

易错点与追问

容易失分的边界

  • 只讲模型架构而不讲投放状态、数据库与服务端错误处理,不能回应可见题目的 backend 追问。
  • 缓存暂停状态太久会展示已停止广告,缓存预算过多会超支;版本化配置与预算预留需要独立保证。
  • 只看广告 CTR/收入而不看自然结果挤出、取消率与用户长期体验,会误判实验效果。
  • 曝光日志可能重复或丢失,账务与实验要有事件 ID、去重和重放口径。

继续深挖

  • 若广告排序和自然排序在同一页竞争位置,如何随机化实验以估计广告净增量而不是位置偏差?
  • 若多地区商家供需强耦合,可按地区/时间桶做 switchback 或分层实验,检查干扰与季节性。
✓已复制微信号!