Classic system design problems and free write-ups¶
For anyone preparing an HLD round. Inside: a practice method, 27 classic problems with free write-ups, and the prompts candidates reported at 34 companies in 2025 and 2026.
How to practice one problem (60 to 75 minutes)¶
- Read only the problem title. Do not open the write-up.
- Set a 45-minute timer. Talk out loud or record yourself. Fill the whiteboard skeleton in Excalidraw.
- Stop at 45 minutes even if unfinished. Note where the time went.
- Read the free write-up. Mark each requirement, entity, endpoint and component you missed.
- If the write-up is from Hello Interview, read its "what is expected at each level" section and grade yourself against mid-level.
- Write a 5-line summary: core requirement, key entity, the one hard problem, the fix you chose, the trade-off.
- Redo the problem from a blank page 7 days later, in 30 minutes.
Tip: Attempt before you read. Reading first trains you to recognize a design, not to produce one. The blank-page redo in step 7 is the step that builds recall.
Practice order¶
Difficulty labels come from Hello Interview's ranked list. Do the free ones in this order. Premium ones are marked.
- Easy: Bitly, Dropbox, Local Delivery (Gopuff). Yelp is premium.
- Medium: Rate Limiter, Ticketmaster, Facebook News Feed, WhatsApp, Tinder, LeetCode, YouTube, Facebook Live Comments. Premium: Instagram, Strava, Distributed Cache, Online Auction, Job Scheduler, News Aggregator, Price Tracking, Notification System.
- Hard: YouTube Top K, Uber, Web Crawler, Ad Click Aggregator, Facebook Post Search. Premium: Robinhood, Google Docs, Payment System, Metrics Monitoring, Online Chess, ChatGPT, Flash Sale.
New grads with a light design round: stop after Easy plus Rate Limiter, Ticketmaster and WhatsApp. 1 to 3 years: do all the free ones.
Hello Interview also lists four Guided Practice problems with no written guide (premium): Food Review App, Game Leaderboard, Donations Website and GitHub Actions. DoorDash, Lyft and OpenAI candidates reported close variants (table below), so practice them from the prompt alone.
The classic problems¶
HI = Hello Interview, BBG = ByteByteGo (free chapters), SDP = System Design Primer, KPS = Karan Pratap Singh's free course. "Reported at" lists companies where 2025 to 2026 candidates reported this prompt or a close variant; details are on each company page.
| # | Problem | What it teaches | Free write-ups | Reported at |
|---|---|---|---|---|
| 1 | URL shortener (Bitly, TinyURL, Pastebin). Easy | Short code generation (counter vs hash), read-heavy caching, 301 vs 302, a key-value data model | HI, BBG, SDP Pastebin, KPS, systemdesign.one | Adobe, eBay, Anduril |
| 2 | Dropbox or Google Drive. Easy | Chunked upload, presigned URLs to blob storage, a metadata database, sync and conflicts | HI, AWS presigned URLs | eBay, Pinterest (large-file upload), JPMorgan (file sharing) |
| 3 | Local delivery (Gopuff). Easy | Inventory and availability queries close to the user | HI | Instacart (inventory) |
| 4 | Scale a web app from one server to millions. Warm-up | Load balancer, cache, replicas, shards added one step at a time | SDP scaling on AWS, BBG | Every "how would this scale?" follow-up |
| 5 | Rate limiter. Medium | Token bucket vs sliding window, Redis counters, where the limiter sits, syncing across nodes | HI, BBG, Stripe | Visa, Cloudflare, Walmart, Flipkart (senior), Adobe (as LLD) |
| 6 | News feed (Facebook, Twitter timeline). Medium | Fan-out on write vs read, the celebrity problem, feed caches, pagination | HI, BBG, SDP Twitter, KPS | Goldman Sachs, Pinterest, Lyft, Meta (Instagram), Microsoft (Instagram feed) |
| 7 | Chat (WhatsApp, Messenger). Medium | WebSockets and connection servers, presence, delivery and read receipts, offline storage, ordering | HI, BBG, KPS, Discord storage, Slack | Airbnb, Agoda, Lyft, Nutanix |
| 8 | Ticket or hotel booking (Ticketmaster). Medium | Contention, seat holds with a TTL, locks vs database constraints, a waiting queue, strong consistency for booking but availability for browsing | HI, BBG hotel reservation, HI In the Wild: Shopify inventory | Meta, Airbnb, Flipkart, Walmart, ServiceNow, Expedia, Rippling |
| 9 | YouTube or Netflix. Medium | Upload pipeline, transcoding steps, CDN, adaptive bitrate streaming, view counts | HI, BBG, KPS Netflix | Uber (Prime Video, TikTok) |
| 10 | Web crawler. Hard | URL frontier, politeness and robots.txt, dedup with hashes and Bloom filters, DNS caching, distributed workers | HI, BBG, SDP | Atlassian, Uber, Lyft, Expedia |
| 11 | Typeahead or search autocomplete | Trie with top-k per prefix, precomputation, caching, sampling logs | Meta: The life of a typeahead query | Pinterest, Microsoft, Adobe (as LLD) |
| 12 | Uber or ride sharing. Hard | High-rate location updates, geospatial index, matching drivers with locks | HI, KPS, HI proximity search, Uber H3 | Morgan Stanley, Lyft, Flipkart (senior) |
| 13 | Top-K or leaderboard. Hard | Heaps, count-min sketch, windowed aggregation, stream processing, Redis sorted sets | HI, BBG gaming leaderboard, systemdesign.one | Meta, LinkedIn, Atlassian, Walmart, PhonePe (as machine coding) |
| 14 | Distributed cache. Medium | Partitioning with consistent hashing, replication, eviction, hot keys, cache stampede | HI Redis, Scaling Memcache at Facebook | Goldman Sachs, Cloudflare, Waymo |
| 15 | Key-value store | Partitioning, replication, quorum (N, W, R), vector clocks, gossip, Merkle trees, hinted handoff | BBG, Dynamo paper, SDP query cache | LinkedIn, Walmart |
| 16 | Payment system. Hard | Idempotency keys, exactly-once effects, a double-entry ledger, payment provider integration, reconciliation, retries | Stripe: Idempotency, ByteByteGo newsletter: Payment system, Stripe idempotent requests | Capital One, JPMorgan, PayPal, Stripe, Salesforce, OpenAI, Coinbase |
| 17 | Notification system. Medium | Push, SMS and email channels, a queue per channel, retries, dedup, user preferences, rate limits | No complete free write-up verified. Use HI patterns, KPS queues, KPS pub-sub | Airbnb, Coinbase, OpenAI, Roblox |
| 18 | Job scheduler. Medium | Job table, queue, workers, at-most-once vs at-least-once runs, retries, SLAs | No complete free write-up verified. Use HI In the Wild: Slack job queue, HI patterns | Robinhood (most repeated), Airbnb, DoorDash, Walmart, PhonePe |
| 19 | Ad click aggregator. Hard | Stream processing, exactly-once counting, Flink or Kafka, analytics storage, reconciliation | HI | Meta |
| 20 | Coding platform (LeetCode). Medium | Sandboxed code execution, queueing, contest leaderboard | HI | Meta, Flipkart, Nutanix |
| 21 | Google Docs or collaborative editing. Hard | Operational transform vs CRDTs, WebSockets, versions, cursors and presence | Figma: multiplayer, HI In the Wild: Figma, Neil Fraser: Differential sync | Roblox (shared to-do list) |
| 22 | Unique ID generator | Snowflake ID layout, clock skew, sortable IDs | Twitter: Announcing Snowflake | Inside URL shortener and chat designs |
| 23 | Post search. Hard | Inverted index, ingestion pipeline, ranking | HI, HI Elasticsearch | LinkedIn (inverted index over a stream of posts) |
| 24 | Metrics and monitoring. Hard | Time-series storage, aggregation, alerting | No complete free write-up verified. Use HI time-series databases, Google SRE monitoring | LinkedIn, TikTok, Snap, Palantir |
| 25 | Tinder. Medium | Swipe matching consistency, geo queries | HI | Practice for matching problems |
| 26 | Live comments (Facebook Live). Medium | Real-time fan-out with SSE, pub-sub between servers | HI | Practice for real-time feeds |
| 27 | LLM chat service or model gateway | Request queuing and batching, routing across model providers, fallbacks on failure, rate limits, evaluation | Chip Huyen: Building a generative AI platform, Eugene Yan: LLM patterns, Anthropic: Building effective agents | Anthropic, OpenAI, Uber (Design ChatGPT) |
More solved designs from the System Design Primer: Mint.com, social graph, Amazon sales rank.
Tip: For problem 27, Jugal describes routing at LiteLLM as "sending each request to the right model and handling it when a provider fails" (post). That sentence is a good first requirement for any model gateway design.
Reported prompts by company (2025 to 2026)¶
These are candidate reports collected for the company pages, not official question lists. The exceptions are Meta's lists (from Hello Interview's E4 guide), Uber's (from Aced), and Roblox's example, which Roblox publishes. Use them to pick your last 3 to 5 practice problems before a loop.
| Company | Level | Prompts reported |
|---|---|---|
| Meta | E4 Product Architecture | Instagram auction system, LeetCode, Top K songs widget for Spotify, price drop tracker (CamelCamelCamel), Instagram (HI E4) |
| Meta | E4 System Design | LeetCode, ticket booking, ad click aggregator, online game leaderboard, Instagram (HI E4) |
| Uber | Entry to mid | ChatGPT, Amazon Prime Video, TikTok, hotel booking, web crawler (Aced) |
| IC2 | Google Calendar, metrics collection with alerts, Top-K YouTube variant, inverted index over a stream of posts, scale a single-node key-value store to 1M QPS, posts and comments with analytics | |
| Airbnb | G8 | Booking platform that prevents double bookings plus search (hot-partition follow-up), group chat, job scheduler, notification system |
| DoorDash | E4 | Food review app, review and reward system, donations site for a 3-day charity event, real-time order tracking, job scheduler, Instagram-like stories in a food app |
| Robinhood | L1 to L2 | Distributed job scheduler with SLAs and at-most-once runs, limit order entry without double spending, order execution with cancellation, photo management service |
| Stripe | L2 | Idempotent payment APIs, ledgers with strong consistency, retries, rate limits, reconciliation jobs |
| Coinbase | IC4 | Crypto order placement with third-party matching engines, ledgers, idempotent payment flows, notifications |
| Capital One | New grad and up | A banking app or card portal: multiple account types, transfers, ACID transactions, idempotency |
| Atlassian | P40 | Tagging across Jira, Confluence and Bitbucket; top-K Confluence pages; web crawler; scorecard service |
| OpenAI | 1 to 3 years | Webhook delivery with 24-hour retries, Slack MVP in two weeks, CI/CD like GitHub Actions, payment system, online chess, ChatGPT, notifications |
| Anthropic | SWE | API for serving LLMs with request batching, queuing and GPU utilization; Claude chat service; distributing model files |
| Roblox | IC2 | Official example: let people pay other people using phone numbers as IDs. Reported: matchmaking into groups of 16, like counters at scale, shared to-do list, notification center |
| Spotify | Engineer I and up | Friends listening activity feed, playlist image upload, banner ad server, recommendation engine |
| Cloudflare | Mid | Edge-to-core encrypted log collection, rule-based rate limiting gateway, scheduled HTTP endpoint pinger, global caching |
| IC14 | Typeahead (top 10 by popularity), home feed, merchant catalog bulk updates, large-file upload | |
| Instacart | Full time | Inventory management with reservations and no overselling, product catalog, grocery ordering backend |
| Lyft | T3 to T4 | 1:1 chat, product voting, donations website, social feed, Wikipedia crawler, pagination API |
| Walmart Global Tech | SWE III | Rate limiter, ledger, ticket booking, online chess with Redis sorted-set leaderboards, key-value store, scheduler with dead-letter queues |
| Goldman Sachs | Analyst | Twitter home timeline, Datadog-style logging; LLD: parking lot with nearest spot from several entrances, distributed cache class |
| JPMorgan Chase | SEP to Associate | Reliable bank payment system (SEP, 2026), property listing app, global file sharing, monolith to microservices |
| Flipkart | SDE 2 | Uber, LeetCode-like platform, rate limiter; schema-heavy LLD: airline ticketing, meeting room booking, IRCTC search |
| PhonePe | SDE 2 | Shazam-style audio matching, digital wallet |
| eBay | SE 2 | Food ordering with menus and real-time updates, wishlist price-drop alerts, Dropbox, TinyURL, event booking |
| Bloomberg | London grads | A Terminal feature, top-N news articles, real-time stock price feed with history |
| Tesla | Intern and new grad | An API to store metrics, a user table design |
| Waymo | Non-senior | Vehicle fleet map-data collection, simulation on limited compute, matchmaking service, global cache for small images |
| Palantir | Experienced | Server metrics monitor, permissions for sensitive data, multi-tenant analytics with attribute-based access |
| TikTok | 2-1 | Monitoring and alerting, messaging app, recommendation flows |
| Agoda | Intern and up | Chat app with group chat and read receipts plus SQL schema, cinema database schema |
| Nutanix | MTS 1 to 2 | Chat application, inventory management, Design LeetCode |
| Adobe | MTS-2 | URL shortener, design your current project |
| Snowflake | IC2 | Infrastructure design: storage, versioning and time travel, high availability |
| Databricks | L4 | Architecture round on scalability, storage, replication, consistency and failure handling |
Where the free write-ups live¶
| Source | What is free (Oct 2026) | How to use it |
|---|---|---|
| Hello Interview problem breakdowns | 16 breakdowns: Bitly, Dropbox, Gopuff, Ticketmaster, FB News Feed, Tinder, LeetCode, WhatsApp, Rate Limiter, YouTube, FB Live Comments, Top-K, Uber, Web Crawler, Ad Click Aggregator, FB Post Search | Main practice set. Attempt first, then read, then grade yourself on its per-level section |
| ByteByteGo System Design Interview | 13 chapters without login: scale from zero, estimation, framework, rate limiter, consistent hashing, key-value store, URL shortener, web crawler, news feed, chat, YouTube, hotel reservation, gaming leaderboard | Second explanation after Hello Interview |
| System Design Primer solutions | 8 solved designs (Pastebin, Twitter, web crawler, Mint, social graph, query cache, sales rank, scaling on AWS) | Good for structure; many outside links in the repo are from 2010 to 2014 |
| Karan Pratap Singh's course | Free book with URL shortener, WhatsApp, Twitter, Netflix and Uber designs | Readable third opinion |
| interviewing.io guide, part 4 | 4 worked problems | Extra worked examples |
| Hello Interview: In the Wild | Short digests of real engineering posts (Discord, Figma, Shopify, Slack, Spotify, Meta) | One a week to learn real trade-offs |
Paid write-ups and free substitutes¶
| Paid or login-gated | Free substitute |
|---|---|
| HI Instagram | HI Facebook News Feed plus BBG news feed |
| HI Notification System, BBG notification chapter | HI patterns overview plus KPS message queues and pub-sub |
| HI Distributed Cache | HI Redis plus the Memcache at Facebook paper |
| HI Google Docs | Figma's multiplayer post plus HI In the Wild: Figma |
| HI Payment System, BBG payment chapter | Stripe's idempotency post plus ByteByteGo's free newsletter issue on payment systems |
| HI Job Scheduler | HI In the Wild: Slack job queue plus HI patterns overview |
| HI Yelp | HI proximity search |
| HI Metrics Monitoring | HI time-series databases plus Google SRE monitoring chapter |
| BBG unique ID chapter | Twitter's Snowflake post |
| BBG autocomplete chapter | Meta's typeahead post |
| BBG Google Drive chapter | HI Dropbox |
| Grokking courses (Educative, DesignGurus) | Everything above covers the same classic set |
Watch out: Some GitHub repos copy paid "Grokking" course text. Skip them; they appear to be unauthorized mirrors.
Reverse system design: your own project¶
Every loop asks about your projects, and some companies run a full round on one: LinkedIn's Technical Communication round, Robinhood's project round, Airbnb's Technical Experience round, DoorDash's project discussion and Cloudflare's project retrospective (see each company page). Google's 2026 pilot adds a design conversation about past work to the behavioral round (Jugal's post, Aced).
- Pick 2 projects: one you built most of yourself, and one with real users or real scale.
- Draw the architecture in Excalidraw in 5 to 8 boxes.
- Fill the template below. Use real numbers only.
- Prepare answers to the follow-up questions under it.
- Practice a 5-minute and a 15-minute version out loud, and record one.
Jugal's rule for describing a project: do not just say "I built a chatbot"; explain the user problem, the architecture, how you evaluated the output, the trade-offs, and what you would improve (post).
PROJECT: [Name] ([link])
User problem: [who has it, what hurts, how many users]
Architecture: [client] -> [service] -> [store]; why each piece
Scale today: [real numbers only: users, requests a day, data size]
How I measured it: [tests, evals, metrics, user feedback]
Trade-offs: 1. I chose [X] over [Y] because [Z]
2. I chose [X] over [Y] because [Z]
What broke: [incident or bug] -> [how I found it] -> [fix]
At 10x or 100x: [what breaks first] -> [what I would change]
What I would monitor:[metric] because [reason]
Next version: [the one improvement I would make first]
Follow-up questions to rehearse:
- Why this database and not another?
- What happens when [the main dependency] goes down?
- How would you scale this to 100 times the users?
- How do you know it works? What did you measure?
- What would you do differently if you started again?
- "Okay, how would you put it in front of users?" Jugal calls this follow-up the place "where offers are won" (post).
Track your practice¶
Paste this header into a sheet. One row per attempt. Redo anything scored 1 or 2 within 7 days.