DoorDash 的面试流程标准化程度高、题库稳定,但节奏快、信息密度高。整体结构通常包括 CodeCraft、System Design、Debugging、Behavioral,再加上一轮偏 AI 或 workflow 的 coding。
CodeCraft 是 DoorDash 特有的一类 coding round,更像是快速实现一个业务模块,而不是传统算法题。高频题包括 Dasher payment、Aggregated Bootstrapper API 等。比如 dasher pay 本质是根据规则计算配送员收入,但难点在于规则多、数据复杂,而且 follow-up 非常多,比如 peak hour 处理、异常数据处理等。这一轮的关键不是算法难度,而是你能否快速把需求转成清晰的逻辑,并且写出结构合理的代码。更好的策略是先把主逻辑写出来,确保可以跑通,再补边界和测试。
Debugging 轮是 DoorDash 的特色之一,非常工程化。常见题包括 Round Robin、Dasher map、pick dasher 等。这一轮不会让你写很多代码,而是给你一段有 bug 的系统,让你快速定位问题并修复。典型 bug 包括 hashmap 初始化错误、null pointer、key 使用错误等。修完 bug 之后还有 follow-up,比如让你写 test case,或者讨论如果是 production code 应该怎么改。这一轮其实在考察你真实的工程经验。
System Design 基本都是高频题,比如 review + reward 系统,或者 3-day donation 这样的支付系统设计。面试官会挖得很深,尤其是在支付相关场景。需要考虑 idempotency key 的设计、对账和审计系统、webhook 的处理,以及异步系统如何保证 exactly-once。不同设计选择会导向完全不同的系统架构——支付流程是 redirect 还是 iframe,会直接影响你是否需要引入异步消息系统来解耦服务。
有些面经中出现了 AI coding round,比较新颖。典型题是让你实现一个 workflow engine,用来处理延迟配送场景。用户可以用文本描述 workflow,每个 step 是一个 node,系统需要解析这些描述并执行。这一轮结合了 parsing、系统设计和代码实现,还需要你设计 AI-generated test cases 来验证代码。
Behavioral 部分整体比较常规,但问题会尽量贴近业务场景,比如如何处理丢失订单、错误订单等。这类问题更看重你是否有实际经验,而不是泛泛而谈。