System Design Practice

Practise system design interview questions — URL shortener, rate limiter, chat app, news feed and more: write your design, draw it and get it scored on a rubric.

How does CodeKairo's system design practice work?

System design practice is a set of classic system design interview questions — design a URL shortener, a rate limiter, a chat app, a news feed, a notification system, file storage, a ride-hailing app, a web crawler and search autocomplete — each with the scale an interviewer would state. You write your design in sections, the way the interview runs it: requirements, scale estimates, the API, the data model, the request flow and a deep dive on bottlenecks, and pick the components to draw your architecture. A review scores it out of 100 on five areas — requirements, estimates, API and data model, architecture, and trade-offs — in under a minute, says what the design missed, and points you to the reference walkthrough. Every problem can be read without an account; a review needs a free one.

The problems

  • Design a URL Shortener Beginner · Users paste a long URL and get a short one; opening the short link redirects to the original.
  • Design a Rate Limiter Beginner · Limit how many requests each client may make to an API, across a fleet of API servers.
  • Design a Chat App Intermediate · One-to-one and small group chat with delivery and read receipts, online presence and message history.
  • Design a News Feed Intermediate · Users follow others and see a feed of recent posts from the people they follow, newest or ranked first.
  • Design a Notification System Intermediate · Send push, SMS and email notifications for many product events, honouring each user's preferences.
  • Design a File Storage Service Advanced · Users upload files from any device; files sync across their devices and can be shared.
  • Design a Ride-Hailing App Advanced · Riders request a ride; the system finds a nearby available driver, tracks the trip and charges the rider.
  • Design a Web Crawler Advanced · Crawl the web from a set of seed URLs, store the pages, and keep crawling newly found links.
  • Design Search Autocomplete Intermediate · As a user types into a search box, suggest the top completions for what they have typed so far.

How it works

  1. Pick a problem. Nine problems from beginner to advanced, each with the brief and the scale you design for.
  2. Write and draw it. Fill in the sections, from requirements to the deep dive, and pick components from the palette — the architecture draws itself as you go.
  3. Get it reviewed. A score out of 100 on the five rubric areas, with what was strong and what was missed.
  4. Defend it. Read the reference design in the System Design notes, then run an AI mock interview on the same problem.

Who it is for

Anyone with a system design round ahead: a fresher meeting one for the first time, or an engineer preparing for a senior loop who wants a design checked before saying it out loud.

Frequently asked questions

What is a system design interview?
A round where you design a large system — a URL shortener, a chat app, a feed — out loud: the requirements, the scale, the API and data, the components and how a request moves through them, and the trade-offs. There is no single right answer; you are judged on how you reason.
How is my design scored?
Out of 100 on a fixed rubric: requirements (20), scale estimates (15), API and data model (20), architecture (25) and bottlenecks and trade-offs (20). The review names what the design covered and what it missed.
Do I need an account?
Not to read the problems. Getting a design reviewed needs a free account.
Where do I learn the designs first?
The System Design notes walk through each problem's reference design with animated figures, starting from the building blocks: load balancing, caching, sharding and queues.