Design BookMyShow
Movie ticket booking system
Overview
Design a movie ticket booking system like BookMyShow where users can view movies, select seats, and make payments.
Key Concepts
Concurrency control: Handling two users trying to book the same seat
Locks: Optimistic vs Pessimistic locking for seats
State Pattern: Seat Status (Available, Selected, Booked)
💡 Interview Tips
The booking conflict is the core issue here. Focus heavily on how to lock seats for X minutes while payment is processed.
Create ER Models: City, Cinema, screen, show, movie, seat, reservation.