A blog series

Practical Design Problems: From Whiteboard to Working Code

Small, practical design problems with the details interviewers listen for: IDs, collisions, caching, headers and what happens when things fail. A URL shortener, a rate limiter, pagination, file upload, notifications, autocomplete and classic mini-designs.

Started 
2026
Lessons 
8
Reading 
~3 h

Contents

Every lesson has the same steps: what it is, how it works, a real example, common mistakes, then interview questions with answers you can say out loud.

  1. Lesson 00How to Run a Practical Design InterviewRequirements, API, data model, main algorithm, scale and failure, trade-offs. A frame you can repeat for every design question that follows.10 min
  2. Lesson 01Design a URL Shortener (Long URL to Short URL)Making IDs, Base62, collisions, caching for read-heavy traffic, 301 vs 302 and analytics, custom aliases, expiry and stopping abuse.25 min
  3. Lesson 02Design a Rate LimiterToken bucket, leaky bucket, fixed and sliding windows, where to apply limits, 429 with Retry-After, and the new RateLimit headers.22 min
  4. Lesson 03Design Pagination: Offset vs Cursor (Keyset)Why a large OFFSET is slow, how keyset paging works with a stable sort and a tiebreaker, opaque cursors and GraphQL connections.18 min
  5. Lesson 04Design File Upload (Including Large Files)Multipart uploads vs presigned URLs, chunked and resumable uploads, a progress bar, checking files, and why the API server should not pass gigabytes through itself.20 min
  6. Lesson 05Design a Notification System (In-App, Push, Email)Polling, long polling, server-sent events and WebSockets, fan-out with queues, read state, user settings, retries and removing duplicates.20 min
  7. Lesson 06Design Autocomplete / Typeahead (Frontend System Design)Debouncing, caching results for each query, cancelling old requests, keyboard accessibility and a trie on the backend.18 min
  8. Lesson 07Design an LRU Cache, Idempotent Payments and Other Classic Mini-ProblemsShort worked designs: an LRU cache, idempotency keys, a job queue with retries and backoff, and feature flags.20 min

Glossary

39 terms used in this series. Inside any lesson, hover or tap a dotted term to see its meaning without leaving the page. Browse all terms →