PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Uber

Design Food Delivery Cart

Last updated: Apr 22, 2026

Quick Overview

This question evaluates a candidate's expertise in backend system design for transactional applications, covering competencies such as API design, data modeling, concurrency and idempotency, pricing and promotion logic, validation, caching, storage choices, and scalability.

  • hard
  • Uber
  • System Design
  • Software Engineer

Design Food Delivery Cart

Company: Uber

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

Design the backend for a shopping cart in a large food-delivery application. Users should be able to: - create or resume a cart for a restaurant, - add items and option selections, - update quantities or remove items, - view subtotal, taxes, fees, tips, promotions, and estimated total, - sync the cart across devices, - handle menu or price changes, - and convert the cart into an order at checkout. Discuss: - core APIs, - the data model, - how items and modifiers are validated, - how prices and promotions are calculated, - how concurrency and idempotency are handled, - storage choices, caching, and expiration, - and how the design scales under high read and write traffic.

Quick Answer: This question evaluates a candidate's expertise in backend system design for transactional applications, covering competencies such as API design, data modeling, concurrency and idempotency, pricing and promotion logic, validation, caching, storage choices, and scalability.

Related Interview Questions

  • Design a Stock Trading Platform - Uber (medium)
  • Design an Uber Eats Cart Service - Uber (medium)
  • Design a Scalable Calendar Service - Uber (medium)
  • Design A URL Shortener - Uber (medium)
  • Design Restaurant Search and Monitoring - Uber (hard)
Uber logo
Uber
Jan 26, 2026, 12:00 AM
Software Engineer
Onsite
System Design
8
0
Loading...

Design the backend for a shopping cart in a large food-delivery application.

Users should be able to:

  • create or resume a cart for a restaurant,
  • add items and option selections,
  • update quantities or remove items,
  • view subtotal, taxes, fees, tips, promotions, and estimated total,
  • sync the cart across devices,
  • handle menu or price changes,
  • and convert the cart into an order at checkout.

Discuss:

  • core APIs,
  • the data model,
  • how items and modifiers are validated,
  • how prices and promotions are calculated,
  • how concurrency and idempotency are handled,
  • storage choices, caching, and expiration,
  • and how the design scales under high read and write traffic.

Solution

Show

Submit Your Answer

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Uber•More Software Engineer•Uber Software Engineer•Uber System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,500+ 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.