System design interview questions

Classic problems such as a URL shortener, Netflix, Uber, WhatsApp and YouTube. Work through the requirements, design it, and submit your solution.

How to answer a system design interview question

  1. Clarify the requirements. Ask what it must do, for how many users, and what matters most.
  2. Estimate the scale. Rough numbers for traffic and storage show which parts will be under strain.
  3. Sketch the high-level design. Draw the main parts and follow one request through them.
  4. Go deep on the hard part. Pick the piece most likely to break and explain how you would make it hold.
  5. Name the trade-offs. Say what you chose, what you gave up and when you would choose differently.

The Interview Preparation course teaches this method with practice problems.