InterviewPrepKit

Home / Cheat Sheet / System Design

System Design β€” cheat sheet

Classic distributed-systems design. Each card is the short version of its full lesson.

Scaling a service from one user to millions

Back-of-the-envelope estimation

How consistent hashing works

How to design a URL shortener

How to design a rate limiter

How to design a notification system

How to design a news feed

How to design a chat system

How to design search autocomplete

How to design a web crawler

How to design a distributed key-value store

How to design a distributed unique-ID generator

How to design a distributed message queue

How to design a video-streaming service

How to design a cloud file-storage service

How to design an object-storage service

How to design a proximity service

How to design a maps and navigation service

How to design a nearby-friends feature

How to design a hotel-reservation system

How to design an email service

How to design a real-time leaderboard

How to design a metrics and alerting system

How to design an ad-click aggregation pipeline

How to design a payment system

How to design a digital wallet

How to design a stock exchange

How to design a REST API

How to design idempotent APIs and webhooks

Report a bug