先分岗位
DoorDash 的不同岗位和团队可能考不同内容。先核对 JD 与面试邀请,再选对应题型。
Question Study
本地面经库有 80 条来源 URL 去重后的记录,其中 80 条有正文;目前整理出 30 道代表练习题,其中 30 道已完成独立深文。题目清单仍在逐帖核对和补充。
Reading Guide
题目根据面经方向重新表述,其中可能包含站内攻略建议的训练题;它们不是公司的官方题库,也不保证下一场面试重复出现。
DoorDash 的不同岗位和团队可能考不同内容。先核对 JD 与面试邀请,再选对应题型。
相同核心考点只保留一条,后续的附加约束放在原题里练,避免把同一道题当成多道题刷。
先口述输入、输出和边界,再写核心方案;最后解释复杂度、失败路径和面试官可能追加的约束。
Featured Deep Dive
先把这道题的核心思路讲完整,再根据自己的目标岗位挑下面的题继续练。
给定配送订单的接单、完成或取消事件,按每段时间内同时进行的订单数计算 Dasher Pay;follow-up 加入 peak 时间窗双倍费率,说明事件边界和金额精度。
Deduplicated Question Map
同一题的追加条件合并在一条里。题目清单用于确定训练范围;具体流程和准备优先级见公司攻略。
给定配送订单的接单、完成或取消事件,按每段时间内同时进行的订单数计算 Dasher Pay;follow-up 加入 peak 时间窗双倍费率,说明事件边界和金额精度。
阅读这道题的独立深文 →Bootstrap API:先由 UserService(userId) 得到 customerId,再聚合 PaymentService 和 AddressService;如何处理 500、超时与部分失败?
解题切入:Bootstrap API 先串行取得 customerId,再并发读取支付卡和地址;身份失败直接报错,下游失败的 null 与错误标志属于需先约定的部分成功策略。
阅读这道题的独立深文 →给 City/Restaurant 封装 API,返回指定城市范围内且正在营业的餐厅;如何处理两个判断、错误与批量延迟?
解题切入:营业餐厅 Interactive Coding 只输出同时满足 open 与 city-range 的对象;先读封装 API 的真实契约,规模大时用地理候选缩小集合并批量/限流核验。
阅读这道题的独立深文 →User ID 与定位输入下设计首页餐厅推荐:营业/配送硬过滤、Geo 热榜、15ms 单路召回、特征版本与 V2 A/B 如何协同?
解题切入:首页推荐以 Geo 热榜/偏好路并发召回,最终核验营业和配送范围;模型与特征 config 版本绑定实验桶,实时特征缺失要有训练一致的默认值与延迟监控。
阅读这道题的独立深文 →设计三天慈善捐赠服务:支付 redirect/iframe 如何选择,超时未知与重复回调怎样通过幂等、ledger 和对账收敛?
解题切入:三天捐赠先确认支付托管边界;超时进入 UNKNOWN,同一请求/支付尝试用稳定幂等键,webhook 验签去重后写 ledger,活动结束仍对账清算。
阅读这道题的独立深文 →实现 food rating / review vote,要求同一用户只能 vote 一次,支持撤销、热门餐厅和 reward 规则。
解题切入:投票用 user+review 唯一约束,撤销与重新投票必须明确;热门餐厅聚合可异步更新并定期校准。
阅读这道题的独立深文 →每轮从当前数组中选数值最小的 local peak 订单处理并删除,如何用邻居索引与小根堆避免每轮全表扫描?
解题切入:删除 local peak 后只有左右邻居资格可能改变;双向邻居索引 O(1) 修复序列,小根堆选全局最小合法峰值,总体 O(n log n)。
阅读这道题的独立深文 →给城市坐标,查询与目标城市共用 x 或 y 的最近城市;等距按名字最小,如何预处理为 O(log n) 查询?
解题切入:最近城市分别按 x/y 分组并按另一轴排序;二分找同坐标与左右相邻坐标组,按 (距离,名字) 比较才能正确处理等距和重合城市。
阅读这道题的独立深文 →给 Cron 任务设计 Job Scheduler:如何只在到期后入队、避免重复生成,并用 lease、重试和幂等处理 worker 故障?
解题切入:Cron Scheduler 用 next_run_at 索引抢到期任务,以唯一 occurrence 键和 outbox 防重复生成;普通队列只接已到期实例,worker lease + 幂等重试处理宕机。
阅读这道题的独立深文 →时间点分批:每批容量 B、全部时间点须落在以首项为起点的 W 窗口内,如何贪心求最少批次数并证明?
解题切入:时间点分批先排序,每批从最早未处理点开始尽量装满 B 且不超过首项+W;交换论证保证最少批次,窗口不能滚动按相邻差判断。
阅读这道题的独立深文 →旧/新菜单树每节点有 key/value;value 改算 1、新增或删除 key 的整分支按节点数计,如何按 key 对齐求总变化数?
解题切入:菜单树 diff 先按同父节点 child key 对齐;同 key 只比 value,缺失/新增 key 计整棵子树节点数,兄弟排序变化不应制造差异。
阅读这道题的独立深文 →购物车商品小计加运费,从百分比和固定额优惠中选应付最少的一张券;百分比不折运费,固定额范围与舍入先确认。
解题切入:购物车优惠以应付额逐券比较;百分比只折商品小计,运费排除。固定额适用范围、券叠加和舍入原帖未给,示例必须声明训练契约。
阅读这道题的独立深文 →两名司机各有餐厅 pickup 列表,只能共用一辆车依双方原顺序访问共同餐厅;如何求最长可行餐厅序列?
解题切入:两名司机共同餐厅路线要求同时保持两个列表的相对顺序,应求 LCS 并重建一条路径;集合交集和最长公共子串都不满足原约束。
阅读这道题的独立深文 →维护可增删的骑手池并等概率随机选骑手,如何用紧凑数组与索引表实现 O(1) 操作并修复删除末尾的边界错误?
解题切入:随机骑手池用紧凑数组加 ID→下标映射;删除时用末尾元素填洞并更新索引,空池/最后一人/删除末尾是关键调试点。
阅读这道题的独立深文 →Broken Round Robin 给订单分配 backend/worker:如何修持久游标、全不可用死循环及测试错误,并解释 consistent hashing 追问?
解题切入:Round Robin 的游标要跨调用持久并在选中后推进,最多扫描 n 个 worker 防止全不可用死循环;一致性哈希是按 key 稳定路由,不是轮询。
阅读这道题的独立深文 →商家价格标错使骑手公司卡额度不足、无法现场结账且客服量暴涨;如何调查范围、止损、恢复和完成账务核对?
解题切入:错价导致骑手卡拒付的 incident 先按商家/地区/通道定位拒付与金额差,再限范围暂停新单、核价救在途单、对账和分批恢复;不能无证据全局提额。
阅读这道题的独立深文 →订单超时退款 DAG Workflow 如何执行与恢复?部分退款、重复 API 调用、外部超时未知和用户等待过久怎样处理?
解题切入:退款 DAG 持久化节点状态与依赖,外部退款使用稳定幂等键;部分退款须原子预留累计可退余额,慢节点异步执行并返回可查询的处理中状态。
阅读这道题的独立深文 →讲一个大系统项目,画出数据流并标明你本人到底 own 哪些组件、技术决策和结果;哪些是团队共同贡献?
解题切入:项目深挖先圈出本人实现/设计/共决边界,再用架构图、决策替代方案和同口径指标证明 impact;不能把团队成果直接当个人成果。
阅读这道题的独立深文 →讲最大失败或本人犯错:当时目标、本人判断、止损和学到的事;若项目重做,从技术与产品角度各改什么?
解题切入:失败 BQ 用目标与实际差距起头,承认本人决定和止损动作,再拿后续验证证明学习;项目重做需回应客户/运营结果,不只换技术。
阅读这道题的独立深文 →与同事或跨组在技术方案上有分歧时,怎样建立共同决策标准、验证取舍、支持最终决定并说明结果?
解题切入:技术分歧 BQ 用共同目标和可比较的指标/风险讨论双方方案,说明决策权、证据、上线回滚与最终结果,避免把同事写成反派。
阅读这道题的独立深文 →收到 constructive feedback 后,怎样核实具体问题、改变可观察行为,并证明同类问题确实减少?
解题切入:建设性反馈 BQ 要复述具体影响、核实例子、说明自己改变的工作动作与后续证据;泛称“更主动沟通”不够。
阅读这道题的独立深文 →为什么离开现职、为什么选 DoorDash?如何用所申请岗位的具体工作主题和本人真实项目证据回答?
解题切入:Why DoorDash/Why Leave 用具体岗位主题连接本人做过的项目与下一步责任,离职动机保持真实专业,并通过反问确认团队实际工作。
阅读这道题的独立深文 →项目偏离计划时,怎样量化偏差、提出范围/日期/资源选项、升级风险并让关键里程碑重新可控?
解题切入:项目 off track 时先量化关键路径与偏差,给权责人带代价的范围/日期/资源选项,重设里程碑并持续公开风险,而不是只要求加班。
阅读这道题的独立深文 →怎样确保团队每个人的声音被听见,同时把不同意见转成有 owner、有理由、能执行的决定?
解题切入:让每个人发声要有异步准备、会上防垄断、会后反馈与决策记录;被听见不等于所有建议都采纳,决策权与截止时间仍须明确。
阅读这道题的独立深文 →把 Mon 10:00 AM 至 Tue 11:00 PM 等周内时间段按每 5 分钟编码为 11000、11005…;如何处理 AM/PM、跨日和端点?
解题切入:周内时间 slot 先把星期与 12 小时制转成绝对分钟,再按 5 分钟迭代并格式化为 day+HHMM;端点、未对齐和跨周规则需先确认。
阅读这道题的独立深文 →如何尽量避免商家装错菜、骑手拿错袋或送错顾客?在出餐、取货和交付环节怎样设低摩擦核验?
解题切入:防送错菜要把商家封袋前内容、骑手取袋、顾客交付分成独立核验点;扫码/短码与异常恢复并行设计,衡量每千单错单率和取货延迟。
阅读这道题的独立深文 →用户输入自然语言 query 要推荐餐厅,如何结合词法/语义召回、地理营业硬过滤与排序?LLM 放在哪一层才有可验证收益?
解题切入:Query 餐厅推荐要保留显式搜索意图,词法/语义并行召回后用权威营业和送达规则硬过滤;LLM 可解析/扩写,但输出须校验并与无 LLM 基线比较。
阅读这道题的独立深文 →怎样向消费者发 promotion offers 促进增长?如何区分增量订单与本来就会买的用户、控制补贴预算并设实验护栏?
解题切入:促销投放要按生命周期目标估算增量转化/利润而非只看领券后的购买率;资格、预算与频控由服务端核验,实验留对照组并看补贴成本。
阅读这道题的独立深文 →设计 Ads Recommendation:广告活动如何存储/上线,在线候选、预算与排序如何协作,A/B 实验如何避免只看 CTR?
解题切入:Ads Recommendation 先过活动/营业/送达与预算硬规则,再用低延迟索引和特征服务排序;配置、在线缓存、事件账务分层,A/B 同看收益与自然结果挤出。
阅读这道题的独立深文 →DoorDash 错菜与漏菜发生后:用户补救、责任证据与防复发:处理已发生的wrong/missing item事件,区分即时补救、技术调查和长期减少复发。
解题切入:先确认orderId、具体缺/错品项、订单状态及用户诉求,通过客服或产品入口给明确处理状态。同步提供政策允许的退款/补送选项、预计时限;不要让用户等到技术根因完全查清才知道下一步。
阅读这道题的独立深文 →Next Step
题目只是准备的一部分;按公司攻略核对轮次、岗位差异和常见失分点。