Chai Prep

Round four

Design a system on a whiteboard, the way the round actually runs.

Six steps on one board: Goals, Data, API, Sketch, Hard parts, Wrap-up. Practise with feedback after every step, then sit it as a 45-minute interview with somebody pushing on your design and a debrief at the end.

25
systems to design
6
steps on the board
45
minutes as an interview
7
kinds of pressure
Start here, freeA link shortenerTurn a long address into a short one, send everybody who opens it to the right place, and count the opens. The problem fits in a sentence, so the whole round goes on learning the six steps.Open the starter

Showing 24 systems

Easy45 min

A paste service for sharing text

Paste text, get a link, share it; pastes that expire on time and stay fast when a link goes round a big group.

Storage and sync6 steps
Practice or interviewOpen
Easy45 min

Order numbers for a marketplace

Hand every order a unique ID, from fifty servers in three regions at once, without them ever asking each other.

Contention6 steps
Practice or interviewOpen
Easy45 min

Login OTPs by SMS

Send a six-digit code to a phone, check it when it comes back, and keep working when an SMS provider slows down on sale day.

Pipelines6 steps
Practice or interviewOpen
Easy45 min

A website uptime monitor

Check two million websites every minute from three continents, and wake their owners only when a site is really down.

Pipelines6 steps
Practice or interviewOpen
Easy45 min

Profile photos in three sizes

Take a photo from a phone on a slow network, keep it safe, and show it everywhere at three sizes without making anyone wait.

Storage and sync6 steps
Practice or interviewOpen
Medium45 min

Chat for teams at work

Channels and direct messages that arrive within a second, in the same order for everyone, from ten people or fifty thousand.

Real time6 steps
Practice or interviewOpen
Medium45 min

A rate limiter for a public API

Refuse requests over each customer limit across two hundred servers, in under two milliseconds, and keep serving when the limiter itself is sick.

Contention6 steps
Practice or interviewOpen
Medium45 min

Notifications for a shopping app

One service every team uses to reach shoppers by push, email or SMS, where an order update never waits behind a fifty-million-person sale.

Feeds and fan-out6 steps
Practice or interviewOpen
Medium45 min

Search suggestions as you type

Show the eight best completions for every keystroke in a shopping app, in under a tenth of a second, fresh within the hour.

Read-heavy6 steps
Practice or interviewOpen
Medium45 min

A web crawler for a search startup

Fetch a billion pages a month from five million websites, never hammering any one of them, and never fetching the same thing twice for nothing.

Pipelines6 steps
Practice or interviewOpen
Medium45 min

A live leaderboard for a mobile game

Rank fifty million players as scores pour in, show the top hundred to everyone, and tell each player exactly where they stand.

Read-heavy6 steps
Practice or interviewOpen
Medium45 min

Judging code for a coding contest

Run fifty thousand people untrusted code against hidden tests, fairly and safely, through a last-ten-minutes rush.

Pipelines6 steps
Practice or interviewOpen
Medium45 min

Live tracking for a food delivery app

Show hungry customers their rider moving on a map at dinner time, from three hundred thousand phones on patchy mobile data.

Real time6 steps
Practice or interviewOpen
Medium45 min

Live cricket scores for a final

Get every ball of an India final onto sixty million phones within three seconds, and tell thirty million of them the moment a wicket falls.

Feeds and fan-out6 steps
Practice or interviewOpen
Medium45 min

Board exam results day

Three million students, their parents and every refresh button in the state, all at exactly 10 a.m., on a site that crashed last year.

Read-heavy6 steps
Practice or interviewOpen
Medium45 min

Ten-minute grocery: stock across dark stores

Show what the nearest dark store really has, hold it while the customer pays, and never sell the last packet of milk twice.

Contention6 steps
Practice or interviewOpen
Hard45 min

The home feed of a photo sharing app

Build every user a feed of the people they follow, fast to open, where one post can have two hundred followers or fifty million.

Feeds and fan-out6 steps
Practice or interviewOpen
Hard45 min

A folder that stays the same on every device

Keep one folder identical on a laptop, a phone and a work machine, with twenty-gigabyte files, flaky connections and edits made offline.

Storage and sync6 steps
Practice or interviewOpen
Hard45 min

Matching riders with nearby drivers

Find a nearby free driver in seconds, among a million moving cars, without ever handing one driver two rides.

Real time6 steps
Practice or interviewOpen
Hard45 min

Uploading and watching video

Take long uploads from creators, turn them into every quality a phone or TV needs, and stream them to millions without the bandwidth bill ending the company.

Storage and sync6 steps
Practice or interviewOpen
Hard45 min

A job scheduler for every team

Start two million scheduled jobs on time, including three hundred thousand at the top of every hour, once each, even when machines die.

Pipelines6 steps
Practice or interviewOpen
Hard45 min

A document many people edit at once

Let fifty people type into one document at the same time and all end up with exactly the same text, including the one who was offline on a train.

Real time6 steps
Practice or interviewOpen
Hard45 min

Tatkal hour: train tickets at 10 a.m.

Half a million people, and some bots, reach for a few thousand seats at the same second, in front of a booking system that cannot go any faster.

Contention6 steps
Practice or interviewOpen
Hard45 min

Paying friends and shops from a wallet

Move money between fifty million wallets in seconds, through a Diwali rush and crashing servers, without ever creating, losing or doubling a rupee.

Money and ledgers6 steps
Practice or interviewOpen