Deep-dive a project architecture
DoorDashSoftware Engineer · Technical ScreenLast updated
An open-ended DoorDash software-engineer system-design screen: pick a real project and deep-dive its architecture end to end. Candidates draw the diagram, state invariants, walk read/write paths, justify storage and trade-offs, capacity-plan, cover reliability/security/observability with SLOs, recount a real incident, and propose a quantified 10x-traffic plan. Includes a full worked example built around a real-time delivery dispatch and live order-tracking service.
Question
Pick one of your recent, non-trivial projects and conduct a deep, end-to-end technical review. The interviewer will probe each layer, so be ready to whiteboard the system and defend your decisions. Address all of the following:
- Architecture diagram. Draw the end-to-end architecture: components, data stores, and the interfaces (REST/gRPC/streaming/WebSocket) between them.
- Data flow and invariants. Explain the major data flows and state the key correctness invariants the system must preserve (e.g. "exactly one active assignment per order").
- Read and write paths. Walk through the concrete read path and write path step by step, including caching, idempotency, and the latency budget for each.
- Data and storage. Describe the schema design and justify your storage choices (relational vs. NoSQL vs. cache vs. time-series/cold store), including partition/shard keys and indexes.
- Design decisions and trade-offs. Justify your major technology choices and call out the trade-offs you accepted (consistency vs. availability, push vs. poll, write-through vs. write-behind, etc.).
- Scalability, bottlenecks, and capacity planning. Give back-of-the-envelope numbers (QPS, message rates, storage), identify the bottlenecks, and explain how you'd capacity-plan for them.
- Consistency and reliability. Explain your consistency model, delivery guarantees, and reliability strategies (retries, idempotency, sagas, circuit breakers, DR/RPO/RTO).
- Security and access controls. Cover authN/authZ, service-to-service security, encryption in transit/at rest, PII handling, and compliance.
- Observability and SLAs/SLOs. Describe your logs, metrics, and traces, and define concrete SLIs/SLOs and the alerts/runbooks that back them.
- A significant incident or trade-off you handled. Describe a real production incident or hard trade-off decision, the root cause, and how you mitigated it.
- Two concrete improvements for a 10× traffic increase. Propose two specific changes that would let the system absorb 10× traffic, and quantify why they work.
- What you would redesign today and why. With hindsight, what would you change about the original design?
Use concrete numbers and real examples from your project; avoid hand-waving.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.