System design interview questionHard

Design a Ticket Booking System

Design a high-concurrency ticket booking system (e.g., Ticketmaster) that can sell out a 100,000-seat event in minutes to millions of fans without overselling.

1. Problem Statement

We need to design a backend for a massive concert ticket sale. We expect millions of users to try booking 100,000 tickets the moment the sale opens. How do we ensure we do not oversell?

2. Architecture Discussion Map

Use this as one discussion aid, not a single correct answer. Your design should follow from the requirements, scale, and trade-offs you establish.

Rendering architecture diagram...
Mermaid Source (For AI Bots)
graph LR
    A["Design a Ticket Booking System"]
    A --> F1["Handling massive traffic spikes 1M+ concurrent users"]
    A --> F2["Preventing overselling Inventory Management"]
    A --> F3["Database Locking strategies Optimistic vs Pessimistic"]
    A --> F4["Virtual Queue / Waiting Room implementation"]
    A --> F5["Data Consistency ACID"]

3. Key Focus Areas

  • 1
    Handling massive traffic spikes (1M+ concurrent users)
  • 2
    Preventing overselling (Inventory Management)
  • 3
    Database Locking strategies (Optimistic vs Pessimistic)
  • 4
    Virtual Queue / Waiting Room implementation
  • 5
    Data Consistency (ACID)

4. What the Interviewer Looks For

The interviewer probes these areas, and the report grades the interview against them.

  • Requirements and capacity
  • Inventory correctness and holds
  • Admission control and traffic shaping
  • Checkout and payment integration
  • Resilience and read-path availability

Want interactive feedback?

Practice drawing this system component-by-component on a live whiteboard while the interviewer probes at your target level.

Continue to Dashboard

Core Concepts

Concurrency ControlDatabase LockingDistributed SystemsConsistency

Continue preparing

Build a complete software engineer mock interview plan

Related System Design

Design a Key-Value Store

Design a distributed key-value store like Dynamo or Cassandra with high availability.

Related System Design

Design Job Scheduler

Design a distributed job scheduler capable of handling recurring and one-time tasks at scale.

Related System Design

Design a Distributed Message Queue

Design a high-throughput distributed message queue similar to Apache Kafka, with durable replay from stored offsets.