PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Coinbase

Design a food delivery system

Last updated: Mar 29, 2026

Quick Overview

This question evaluates system design competencies including distributed architecture, scalability, real-time event propagation, API and data modeling, transactional integrity (idempotency/payments), and matching/optimization for courier dispatch and batching.

  • medium
  • Coinbase
  • System Design
  • Software Engineer

Design a food delivery system

Company: Coinbase

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Technical Screen

Design a **food delivery platform** (similar to common restaurant delivery apps). ## Core user stories 1. Customers can browse restaurants/menus, place an order, pay, and track delivery. 2. Restaurants receive orders, confirm/prepare them, and update status. 3. Delivery partners (couriers) receive assignments, navigate to pickup/dropoff, and update status. ## Functional requirements - Restaurant discovery (basic search/filter by location/cuisine). - Menu retrieval. - Order placement and payment. - Order lifecycle: `CREATED -> CONFIRMED -> PREPARING -> READY_FOR_PICKUP -> PICKED_UP -> DELIVERED` (include cancellation/refund paths). - Real-time-ish tracking/status updates for customers. ## Non-functional requirements - High availability for placing orders. - Idempotency for order creation/payment. - Low latency for dispatch. - Support peak traffic (e.g., lunch/dinner spikes). ## Follow-ups (mentioned by interviewer) 1. How would you design the dispatch/matching between orders and couriers? 2. How would you model and deliver real-time order status updates? 3. How would you scale search and read-heavy restaurant/menu traffic? 4. Optimization follow-up: Couriers have limited capacity/time; choose a subset of candidate orders to batch/assign to maximize value under constraints (this can resemble a **knapsack**-style optimization). Explain your approach at a high level.

Quick Answer: This question evaluates system design competencies including distributed architecture, scalability, real-time event propagation, API and data modeling, transactional integrity (idempotency/payments), and matching/optimization for courier dispatch and batching.

Related Interview Questions

  • Design Crypto Order Routing - Coinbase (hard)
  • Design a crypto trading web frontend - Coinbase (hard)
  • Design query pagination for large datasets - Coinbase (medium)
  • Design real-time crypto prices homepage - Coinbase (hard)
  • Design Frontend Architecture for Trading UI - Coinbase (hard)
Coinbase logo
Coinbase
Jan 22, 2026, 12:00 AM
Software Engineer
Technical Screen
System Design
18
0
Loading...

Design a food delivery platform (similar to common restaurant delivery apps).

Core user stories

  1. Customers can browse restaurants/menus, place an order, pay, and track delivery.
  2. Restaurants receive orders, confirm/prepare them, and update status.
  3. Delivery partners (couriers) receive assignments, navigate to pickup/dropoff, and update status.

Functional requirements

  • Restaurant discovery (basic search/filter by location/cuisine).
  • Menu retrieval.
  • Order placement and payment.
  • Order lifecycle: CREATED -> CONFIRMED -> PREPARING -> READY_FOR_PICKUP -> PICKED_UP -> DELIVERED (include cancellation/refund paths).
  • Real-time-ish tracking/status updates for customers.

Non-functional requirements

  • High availability for placing orders.
  • Idempotency for order creation/payment.
  • Low latency for dispatch.
  • Support peak traffic (e.g., lunch/dinner spikes).

Follow-ups (mentioned by interviewer)

  1. How would you design the dispatch/matching between orders and couriers?
  2. How would you model and deliver real-time order status updates?
  3. How would you scale search and read-heavy restaurant/menu traffic?
  4. Optimization follow-up: Couriers have limited capacity/time; choose a subset of candidate orders to batch/assign to maximize value under constraints (this can resemble a knapsack -style optimization). Explain your approach at a high level.

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Coinbase•More Software Engineer•Coinbase Software Engineer•Coinbase System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,000+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.