Skip to content
SysRound

System design cheat sheet

The numbers, shortcuts and building blocks that come up in almost every system design interview, on one page. Each building block links to a full explanation.

The round in one line each

  1. 1.Requirements: core features, what's out, and the numbers
  2. 2.Estimation: peak requests a second, storage, read to write ratio
  3. 3.API and data model: endpoints, tables, the lookup key
  4. 4.High-level design: simple and complete; walk a read and a write
  5. 5.Deep dives: the hard part, two options, a choice and its cost
  6. 6.Wrap-up: what breaks at 10x and how you would know

The full version, with a time budget for each step: how to prepare for a system design interview.

Latency numbers

Orders of magnitude, not exact values. What matters is which column a number falls in.

OperationRough time
Read from CPU cacheabout 1 ns
Read from main memoryabout 100 ns
Random read from an SSDabout 100 µs
Round trip inside one data centerabout 0.5 ms
Read 1 MB sequentially from an SSDunder 1 ms
Disk seek on a spinning driveabout 10 ms
Round trip across a continentabout 50 ms
Round trip across the worldabout 150 ms

Rough capacity of one machine

Starting assumptions to say out loud and adjust. Real numbers depend on hardware, payload size and how much work each request does.

ComponentPlanning number
One stateless API serverhundreds to a few thousand requests a second, depending on the work per request
One relational database primarya few thousand to about ten thousand simple writes a second; more reads, and more again from replicas
One Redis instanceon the order of 100,000 simple operations a second
One Kafka partitiontens of MB a second; a topic scales by adding partitions
One server holding WebSocket connectionstens of thousands of mostly idle connections, more with tuning

Estimation shortcuts

QuantityShortcut
Seconds in a day86,400, call it 100,000
1 million requests a dayabout 12 a second
1 billion requests a dayabout 12,000 a second
Peak trafficoften 2 to 3 times the average for consumer apps; say your assumption
Storagewrites a day × size of each × days kept × copies (often 3)
Bandwidthrequests a second × size of each response
Powers of tenthousand = KB, million = MB, billion = GB, trillion = TB
ThingRough size
An ID or timestamp8 bytes; a UUID is 16 bytes, 36 as text
A short text post with metadataabout 1 KB
A compressed photoa few hundred KB to a few MB
One minute of 1080p videotens of MB

Worked examples and the common traps: back-of-the-envelope estimation.

Which building block for which problem

Every block solves one problem and brings a new one. Say both.

Consistency in three lines

  • During a network partition you choose: refuse some requests (consistent) or answer with possibly stale data (available).
  • Without a partition you still trade latency for consistency: waiting for more replicas is slower but safer.
  • Pick per feature, not per system. Payments and bookings want strong consistency; likes and view counts can be eventual.

More: CAP theorem, eventual consistency, SQL vs NoSQL.

The wrap-up checklist

  • What breaks first at 10x traffic, and what you would change.
  • Single points of failure, and what happens when each one dies.
  • What happens on a retry, a duplicate message, or a timeout.
  • The metrics and alerts that tell you something is wrong.
  • The decision you would revisit with more time.

Questions people ask

What numbers should I memorize for a system design interview?

A handful: seconds in a day (about 100,000), the memory, SSD, data center and cross-world latencies by order of magnitude, and rough per-server capacities. Interviewers care that your numbers are in the right range and that you use them to make decisions, not about exact values.

Is it OK to use a cheat sheet in a system design interview?

Not during the interview itself. Use it while you practice, until the numbers and building blocks come to mind on their own. In the round, say your assumptions out loud; interviewers expect rough figures.

How precise do estimates need to be?

Within a factor of a few. Round aggressively, like 100,000 seconds in a day, and say what each number means for the design: whether it fits on one machine, needs a cache, or needs sharding.