Questions

System design interview questions. Build each design, run real traffic, fix what breaks.

Easy 3 questions

URL shortener

Make long web links short, and send every click to the right page.

5 rounds · Caching, Hot key, Id generation +2

Rate limiter

Stop one greedy client from taking your API down.

6 rounds · Rate limits, Shared counters, Token bucket +2

Notifications

Send pushes, emails and texts, and never send a code twice.

6 rounds · Queues, Failover, Retries +3

Medium 6 questions

News feed

Show each user the newest posts of the people they follow.

9 rounds · Fan-out, Caching, Hot key +2

Video streaming

Stream lesson videos to every student from a place near them.

5 rounds · CDN, Big uploads, Transcoding +2

File sync

Keep one folder the same on every laptop, and never lose an edit.

5 rounds · File Storage, Delta sync, Deduplication +2

Ticketing

Sell seats for a show, and never sell one seat twice.

7 rounds · Contention, Locking, Holds +2

Web crawler

Copy the public web for a search engine, and be polite to small sites.

6 rounds · Queues, Politeness, Deduplication +2

Typeahead

Suggest searches while people type.

6 rounds · Precomputed answers, Debounce, Client cache +3

Hard 5 questions

Chat

Deliver messages between friends in real time.

7 rounds · Connections, Pub/Sub, Push +3

Ride hailing

Show riders the free cars near them, and give every ride a driver.

6 rounds · Geo index, Quadtree, Locations in memory +3

Top-K charts

Show the top songs of this hour, this week and all time.

5 rounds · Sorted sets, Time windows, Count-Min Sketch +2

Monitoring

Watch 1,000 servers, and tell the person on call once.

6 rounds · Time series, Cardinality, Rollups +3

Payments

Take card payments, and never charge anyone twice.

6 rounds · Async charges, Unknown outcomes, Payment states +3

Real systems 1 question

Problems from public engineering posts. Each one follows a real team’s design, step by step.

Chat message store

Keep every chat message forever, and open any channel’s newest page fast.

From: Discord engineering blog, 2023

Hard · 4 rounds · Wide rows, Row keys, Joined reads +1