- System Design Interview Questions
The questions you need to be able to answer, with answers that are short enough to say out loud. Fundamentals, scaling, data, distributed systems and the case-study openers — each answered in a few sentences, each linked to the post that works it through properly, and each followed by the follow-up an interviewer actually asks next.
- Designing an Airline Booking System
Flight booking, which is the seat-hold problem from the concurrency post at a much harder scale. Searching a graph of routes rather than a list of rows, fare classes and the inventory buckets that make pricing possible, holding a seat while payment completes, deliberate overbooking as a business rule, PNRs and ticketing, integration with systems older than the web, and what happens when a storm cancels four hundred flights at once.
- Designing Amazon
An e-commerce system at the scale where every easy answer stops working. Catalog modelling for wildly different product types, search and faceting, the cart that must survive a logout, inventory reservation and oversell, the order state machine and why payment is a saga rather than a transaction, fulfilment across warehouses, and recommendations that are computed offline rather than at request time.
- Designing Airbnb
The full walkthrough, and the one case study where every claim is backed by a running application. Requirements and estimates, the API and the schema, search over a denormalised index, availability and the booking race, pricing as a security boundary, payments and the webhook that is the real source of truth, cancellation policy, then how each piece changes when the traffic multiplies.
- Designing a Notification System
One system, three channels, and every hard part in the delivery guarantees. Provider abstraction so a failing vendor is a config change, fan-out that survives a burst, retries and deduplication when delivery is at-least-once, the preference and opt-out rules that are a legal requirement rather than a feature, rate control so a bug cannot send ten thousand emails, and the templating that keeps copy out of code.