System Design AI
← Question bank

Official · Product & backend · intermediate

Sell a limited drop without overselling

Separate reservation, payment and confirmed purchase during a 50,000-person launch.

Practice this questionDiscuss with @Coach

The question

Design checkout for a drop of 2,000 individually sellable items. A product manager wants a countdown reservation, a trustworthy order confirmation and a waitlist when inventory is exhausted.

What to cover

Customer and API contract

Specify reserve, pay, confirm and status behavior, including idempotency keys and honest pending states.

Data and state machine

Show reservation/order/payment states, inventory ownership and the atomic transition that prevents oversell.

Race walkthrough

Trace expiry racing with a delayed successful payment and two-device retries.

Load and admission

Estimate burst load, protect the invariant under overload and explain fair-enough admission or its limitations.

Product tradeoff

Compare holding inventory before payment with allocating after payment, including the customer experience.

How your practice is reviewed
  • Inventory and purchase invariants (35 points): Identifies enforceable atomic ownership and one-per-customer rules, including race conditions.
  • Payment lifecycle and compensation (25 points): Handles duplicate/out-of-order callbacks and late successful payments with explicit states and reconciliation.
  • Customer contract (20 points): APIs, pending outcomes, retries and admission behavior give customers accurate feedback.
  • Sizing and justified tradeoffs (20 points): Burst estimates and backpressure preserve correctness and explain a credible alternative.

Discuss & learn

Ask the community, or tag @Coach for a contextual AI answer.