Design a URL shortener
Build a service that turns long links into short, shareable URLs.
These are the classic system design interview questions for backend, full-stack and generalist software engineers: the URL shortener, chat system, news feed, rate limiter, ticketing and payment systems that show up in interviews at product companies and big tech alike.
Each round gives you a realistic brief and scale to design for. You build the architecture on a canvas, explain why each component is there, and get a rubric-based review of your requirements, data model, scalability, reliability and trade-offs.
Build a service that turns long links into short, shareable URLs.
Create a real-time messaging experience for millions of people.
Deliver a relevant, fresh feed as people and publishers post.
Sync large files reliably across devices and collaborators.
Protect a public API without slowing down well-behaved clients.
Stream adaptive-quality video to a global audience.
Match riders with nearby drivers and track trips in real time.
Sell limited-inventory tickets fairly when a popular event goes on sale.
Deliver timely, preference-aware messages across email, push, and SMS.
Discover and fetch public pages continuously while respecting site policies.
Suggest useful completions quickly as users type into a search box.
Let multiple people edit and comment on the same document in real time.