1. Design a URL Shortener
Create short links, resolve them quickly and handle expiry without sending users to the wrong destination.
Pick a system. Work through the problem. Compare your approach.
Company tags are community-reported. Counts on cards show how many people reported that design.
Create short links, resolve them quickly and handle expiry without sending users to the wrong destination.
Send durable messages, reconnect devices and explain ordering and delivery receipts.
Build a paginated feed that handles high-fan-out authors, fresh posts and visibility changes.
Upload and share large files with resumable transfer, versions and safe metadata changes.
Google Calendar-style events with recurrence, RSVPs and on-time reminders, using CDC for change notifications and a delay queue for reminders.
Watch prices on 500 million products with a polite crawler and a million browsers, verify what you are told, and notify subscribers within minutes of a drop.
Run strangers' code safely in single-use microVMs, return verdicts within 5 seconds, and rank 100,000 contestants live.
Price a trip, match a rider to a nearby driver who has ten seconds to accept, and never give one driver two rides.
Photos and videos for 500 million daily users: presigned multipart uploads, a processing pipeline, CloudFront and a hybrid fan-out feed.
Search 10 million businesses by place, words and category, keep every average rating exact, and keep fake reviews out.
Search a billion posts a day by keyword, newest or most liked first, with an inverted index you build yourself.
Stacks of nearby people in under 300 ms, 2 billion swipes a day, and a match never missed even when both like at once.
Record runs and rides on the phone without signal, upload each once, show them to friends and rank athletes by week, month and year.
Live comments for millions of viewers: SSE streams, a Redis channel per video with co-located viewers, sampling and CDN snapshots for hot videos.
A hundred people typing in one document, every copy converging, nothing acknowledged lost: one owner per document, an op log with snapshots, and fenced failover.
Sell 10,000 units to a million people at noon with a lottery waiting room, a Redis gate before an Aurora ledger and holds that expire.
Dish reviews only from customers who ordered them, votes counted from a change stream, reviews ranked by the Wilson bound, payouts made exactly once.
Ten charities, three days, $100 M: charge through a third-party processor exactly once, queue the broadcast spikes, keep live totals on sharded counters. One-hour boards for junior, senior and staff, with the theory behind them.
Buy the cheapest offer under a maximum price from 1,000 sellers: cached offers, coalesced quotes, a hold-order-capture saga, open requests.
Real-time rated chess with server-validated moves, lag-compensated clocks, pairing by rating and a million watchers on one game.
Rank 200 million players in real time with sharded Redis sorted sets, count every game exactly once, and close a season fairly.
Design a team chat app like Slack: channels and DMs in real time, threads, unread counts and search. One-hour boards for junior, senior and staff, with the theory behind them.
One set of tags across Jira issues, Confluence pages and Bitbucket pull requests: batch renders, tag pages that never leak, suggestions, popular tags.