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.
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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 →