DoorDash·Machine Learning Engineer·Onsite - System Design / Architecture
May 2026
System design round at DoorDash for an MLE role, focused entirely on infra for a large-scale recommendation system. No model architecture stuff, just the serving layer, which I wasn't fully expecting going in.
- Walk me through the high-level architecture for serving real-time recommendations at scale, including both the online request path and any offline or batch components.
- How would you design the caching layer for this recommendation system? What do you cache, what are your cache keys, how do you set TTLs, and how do you handle staleness?
- How do you scale the candidate generation and ranking services to handle spiky, high-QPS traffic across multiple regions?
- What are your storage choices for the feature store, embedding store, and item catalog, and what consistency guarantees do you need from each?
- How do you make the system resilient to downstream failures, like the feature store or embedding service being unavailable?
- What observability would you build into this system? What metrics, logs, and alerts matter most?
“I started with the online path and worked backwards to the batch side, which felt natural but I think I spent too long on the request flow before even mentioning the batch jobs.” The rest of the author's notes on Machine Learning Engineer interview at DoorDash, Onsite - System Design / Architecture round, covers how they worked through the question, what the panel pushed back on, and what they would do differently.
View Post