Backend SWE · Hiring Manager Case

DoorDash 错菜与漏菜发生后:用户补救、责任证据与防复发

处理已发生的wrong/missing item事件,区分即时补救、技术调查和长期减少复发。

题目重点:处理已发生的wrong/missing item事件,区分即时补救、技术调查和长期减少复发。

题意与假设

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

  • 题目问SDE如何处理wrong/missing item/order,没有退款权限、补送规则或时限。以下给出决策框架,金额与产品政策由授权规则决定,不编造固定赔付标准。
  • 已发生的投诉处理与事前取货核验是不同阶段;不要仅建议扫码而忽略本次用户没收到所购内容。食品安全风险需要按既定客服升级政策处置。

解题路线

  1. 先确认orderId、具体缺/错品项、订单状态及用户诉求,通过客服或产品入口给明确处理状态。同步提供政策允许的退款/补送选项、预计时限;不要让用户等到技术根因完全查清才知道下一步。
  2. 把订单原始明细、商家确认、替换品批准、打包标签/袋数、骑手取货和交付事件连成时间线。事实可能是下单同步错、商家漏装、同店拿错袋、骑手交错或记录不一致,不能直接把所有投诉归骑手。
  3. 补偿动作以(orderId,itemId,claimVersion)等业务键幂等入账,记录状态pending/approved/settled;重复客服点击和支付回调不应重复退款。按品项部分退款必须避免超过原可退额度,异常交人工审核。
  4. 调查同时保护用户隐私;只查看授权订单证据,不要求骑手打开密封袋。怀疑是系统同步问题时按影响范围分组,必要时暂停错误功能、修订单映射或回滚,而非仅更新话术。
  5. 根因确定后选择最靠近出错点的控制:商家封袋前逐项核对、外部短订单码、袋数匹配或替换品二次确认。用每千单错漏率、处理时间、退款重复率和取货延迟验证;对减少投诉但增加取消/等待的方案设置护栏。

手动走一遍

用户购买A+B却只收到A:先按政策处理B的补送或部分退款,并显示状态;确认商家清单有B、封袋事件却只有1袋,是打包漏品线索,不能仅凭一张截图判责。退款重复请求使用同一claim键,不再增加金额;之后试点封袋前品项核对并测等待时间。

规模与取舍

单投诉证据量为K事件,可按orderId索引读取O(log E+K),账务写入受事务与唯一索引约束。大量事件异步分析按日/商家/品项聚合,但个体补偿依赖权威交易状态,不能仅看延迟报表。

易错点与追问

容易失分的边界

  • 只讲长期预防,没有解决已发生的用户损失。
  • 投诉就自动判责或无限退款,缺证据与授权政策。
  • 重复回调再次补偿,或客服看到成功页面就当账务已结算。

继续深挖

  • 若用户声称整单丢失而交付证据矛盾,怎样升级且保留沟通体验?
  • 如何识别某商家某品项的集中漏装,而不把少量样本噪声当根因?
  • 怎样区分品项补偿与平台优惠券,避免账务混记?
✓已复制微信号!