Microsoft·Software Engineer·Onsite - System Design / Architecture
- Design a ticket booking system for something like a movie theater, concert, or train. Walk through the core user flow from browsing events to confirming a booking.
- How do you prevent two users from booking the exact same seat simultaneously?
- How would you handle a surge of users trying to book seats for a very popular event all at once?
- How would you integrate a payment provider, and how do you ensure idempotency if a payment request is retried?
- How do you handle refunds, cancellations, and partial cancellations when a group books together?
- How do you scale the read-heavy parts of the system, like event search and seat map fetching, without compromising consistency on writes like seat reservation?
“I started with the happy path which felt right, browse events, pick seats, pay, done.”