System design interview questionHardProximity / Marketplace
Design a Food Delivery Service like DoorDash or Uber Eats
Design DoorDash/Uber Eats-style food delivery: browse restaurants, place orders, and track courier status in near real time.
Interview scope
Client → Gateway/LB → App; Cache for menus; DB for orders; Realtime Gateway for tracking; Message Queue for dispatch/notifications. No Client → DB.
Functional requirements
- Browse nearby restaurants / menus.
- Place an order and assign a courier.
- Push live order/courier updates to the customer.
Scale and quality goals
- Menu/restaurant reads should be cache-friendly.
- Order state must be durable in DB.
- Live tracking needs Realtime Gateway; side jobs via Queue.
Capacity assumption
Design for this scale
Assume ~5M orders/day (~58 RPS average) plus heavy browse traffic and live tracking connections at dinner peak.
Practice more than a diagram
Place components on the Froquiz canvas, connect the data flow, and see which decisions the scenario-specific review finds missing. The full exercise and review unlock with Premium.
Explore Premium →