Cheat sheet · Specialise
System design cheat sheet
Opens with creditsA quick-revision companion to the system design roadmap, for engineers who want the core building blocks and trade-offs on a few pages. Read a chapter before a design discussion, or use the glossary to refresh a term you half remember.
Chapters
10 chapters · 79 concepts
1Core concepts: scale, latency and availabilityThe vocabulary every design conversation uses. Each idea here is a trade-off you will weigh again in every later chapter.7 concepts
- 1Vertical vs horizontal scalingVertical scaling gives one machine more CPU, memory or disk.
- 2Stateless servicesA stateless service keeps no per-user data between requests in its own memory.
- 3Latency vs throughputLatency is how long one request takes.
- 4Percentile latency (p50, p95, p99)The p99 is the latency that 99% of requests beat.
- 5Availability and the ninesAvailability is the share of time a system serves requests successfully, usually written as nines. 99.9% allows about 43 minutes of downtime a month, 99.99%…
- 6Redundancy and single points of failureA single point of failure is any component whose failure takes the whole system down.
- 7SLI, SLO and SLAAn SLI is a measured indicator, such as the share of requests under 300 ms.
7 in this chapterOpen this chapter2Load balancing, proxies, CDNs and cachingThe components that sit in front of every system and keep repeated work off the servers and databases behind them.8 concepts
- 1Load balancer (L4 vs L7)A load balancer spreads incoming requests across healthy servers.
- 2Load balancing algorithmsRound robin sends requests to servers in turn.
- 3Reverse proxy and API gatewayA reverse proxy receives client requests and forwards them to backend servers, handling TLS, compression and caching.
- 4CDNA content delivery network is a set of servers around the world that cache content close to users.
- 5Cache-asideThe application checks the cache first.
- 6Cache invalidation and TTLInvalidation removes or refreshes cached data when the source changes.
- 7Cache eviction policiesWhen a cache is full, an eviction policy decides what to remove.
- 8Cache stampedeA cache stampede happens when a popular key expires and many requests miss at once, all hitting the database to rebuild the same value.
8 in this chapterOpen this chapter- Databases: models, indexes and transactionsHow data is modelled, found quickly and changed safely on one machine. Most scaling problems end up in the data layer, so these basics come first.8 conceptsOpens with credits
- Replication, partitioning and shardingCopying data for availability and read scale, and splitting it when one machine can no longer hold or serve it.7 conceptsOpens with credits
- Networking and APIsHow a request travels from a client to your servers, and the styles services use to talk to clients and to each other.8 conceptsOpens with credits
- Messaging, queues and streamsMoving work out of the request path so services stay fast, decoupled and resilient to spikes and failures.8 conceptsOpens with credits
- Distributed systems fundamentalsWhat changes when data lives on many machines that fail independently: consistency models, quorums, consensus and the hashing that lets a cluster grow.9 conceptsOpens with credits
- Architecture and resilience patternsHow to split a system into services and keep it standing when parts of it are slow or failing.8 conceptsOpens with credits
- Observability and safe releasesKnowing what a running system is doing, spotting trouble before users do, and shipping changes without taking it down.8 conceptsOpens with credits
- Estimation, building blocks and a design approachThe numbers worth knowing, the common components most designs reuse, and a repeatable way to work through a design problem end to end.8 conceptsOpens with credits
- 11Glossary, A to ZEvery concept in the sheet and the smaller terms it uses, in one list.223 terms
About this sheet
Systems that scale.
Related on Sefism
Picked from the other libraries by shared topics.
Career questions
See all- How do I learn system design as a student or junior developer?Start with the building blocks you already touch: HTTP, databases, indexes, caching and queues. Then study how real systems are built through engineering blogs, and practise by redesigning your own projects for more users. Classic design problems come last, once the fundamentals make sense.
- How do I learn system design for AI applications?Learn classic system design first, because AI applications are still web systems with queues, caches and databases. Then add what is new: slow and costly model calls, retrieval pipelines, vector search, evaluation, guardrails and cost control. Practise by designing and building one AI feature end to end.
- How do I switch from a service-based company to a product-based company?Product companies hire for problem solving, clean code, system design and ownership. Audit what your experience already gives you, close the specific gaps with a plan you design yourself, reposition your CV around impact, and start talking to people at target companies early rather than after you feel ready.
Work with me
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
- 1:1 Mentorship
- Fresh Graduate Mentorship
- Career Guidance
Brand deals, promos and partnerships: tauseeffayyaz@gmail.com