System design interview questionHardE-Commerce / Inventory
Design a Ticket Booking System like Ticketmaster
Design Ticketmaster-style booking: browse events, hold seats, and confirm purchases without overselling.
Interview scope
Client → Gateway/LB → App → Cache (hot inventory) + DB (bookings). Optional Queue for receipt/email. No Client → DB.
Functional requirements
- List events and available inventory.
- Hold/reserve seats for a short time.
- Confirm payment and finalize the booking.
Scale and quality goals
- Hot events create huge read + reserve spikes.
- Inventory must be consistent — no double-sell of the same seat.
- Confirmation side effects (email/receipt) can be async.
Capacity assumption
Design for this scale
Assume ~10M users browsing a drop; ~100k tickets sell in a short window — cache inventory views, queue confirmations.
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 →