01What exactly is being sold — units with identity, or just a count?
N identical units against one capacity counter — no seat map, no per-unit identity. Sold out means the counter reached zero, nothing else.
Premium preview
Design a flash sale system where a limited quantity of a hot item goes on sale at a fixed instant and receives a 1000x traffic spike in seconds — inventory must never oversell, and most users should...
The requirements are open as a taste. From the numbers onward, the full guide opens in the app.
Do not only state requirements. Ask for them. Each card pairs the design constraint with a clarification question you can say out loud before drawing the architecture.
01What exactly is being sold — units with identity, or just a count?
N identical units against one capacity counter — no seat map, no per-unit identity. Sold out means the counter reached zero, nothing else.
02A million people are staring at the product page — what do they see?
A fully static page (image, price, countdown, stock badge) served from the CDN edge — browsing generates zero reads on application servers.
03What happens the moment someone taps Buy?
An admitted buyer either reserves exactly one unit and gets a short payment window, or gets an instant, unambiguous sold-out answer — never a spinner or a 500.
04And the people we cannot serve yet?
Everyone over capacity waits in a virtual waiting room with a live position or wait estimate — admission is controlled, so nobody’s request dies in a timeout.
05Can one person buy five?
One unit per account (and per payment method), enforced in the same atomic step as the decrement so a racing bot cannot slip past the cap.
06A buyer reserves a unit and their card declines — is that unit gone?
A reservation holds the unit for a few minutes; if payment does not complete, the hold expires and the unit returns to the pool for the next buyer.
Out of scopeReserved seating or per-unit identity (that is the seat-map problem — a different design) · Catalog, search, and recommendations beyond the single sale item · Post-purchase logistics: shipping, returns, refunds after capture
01What is the hard line on inventory?
Zero oversell, ever: check-and-decrement is one atomic operation and the counter can never go below zero — this is the invariant everything else serves.
02What do the 990,000 losers experience?
A fast, honest answer for the 99% who lose: sold-out responses return in well under a second, because a clear no beats a hopeful timeout.
031000x in seconds — can autoscaling absorb that?
The sale instant is announced, so capacity is pre-scaled and caches pre-warmed before it — reactive autoscaling measures the spike after it has already fallen over.
04Bots will script this — what is the fairness bar?
A scripted client gains no edge: buying requires an admission token from the waiting room, and admission order is randomized within a window rather than raw first-click.
05How do we know we sold exactly the stock we had?
Post-sale reconciliation proves counter decrements equal confirmed orders plus expired holds — drift under retries is found and repaired, not assumed away.
Real interviews probe far more than a tidy list. These are the scope questions that separate candidates who interrogate the problem from those who recite it.
Numbers, architecture diagram, API and data model, deep dives, expected topics, self-check, whiteboard starter, and common mistakes unlock inside the app.
Locked in the app
Locked in the app
Locked in the app
Locked in the app