1Approximately how many seconds are in one day?
The essential numbers every system design candidate should know: powers of two, time unit conversions, storage estimates, throughput benchmarks, and the back-of-envelope estimation chain from DAU to QPS to storage to bandwidth.
Back-of-envelope estimation is a critical skill in system design interviews because it transforms vague requirements into concrete engineering decisions. When someone says '100 million daily active users,' you need to instantly translate that into queries per second, storage per year, and bandwidth requirements. The difference between a system that needs one database server and one that needs a hundred is entirely determined by these numbers. Interviewers are not looking for exact precision -- they are evaluating whether you can reason quantitatively about system scale.
The foundation is the power-of-two table. Every system design candidate should know: 2^10 is approximately 1 thousand (1 KB), 2^20 is approximately 1 million (1 MB), 2^30 is approximately 1 billion (1 GB), and 2^40 is approximately 1 trillion (1 TB). These approximations let you quickly convert between units and estimate orders of magnitude. When someone says '1 billion records at 1 KB each,' you instantly know that is 1 TB of storage. Time unit conversions are equally important: there are 86,400 seconds in a day (approximately 100,000 for estimation), 2.5 million seconds in a month, and 30 million seconds in a year.
Typical data sizes anchor your storage estimates. A tweet or text message is roughly 140 bytes. A typical JSON API response is 1-10 KB. A smartphone photo is 500 KB to 5 MB. A minute of standard video is about 50 MB. A minute of 4K video is about 350 MB. For throughput, a single modern server can handle 10,000 to 100,000 simple QPS depending on the workload (10K for database-backed requests, 100K for in-memory cache hits). A single MySQL instance handles roughly 10,000-30,000 simple queries per second. Redis handles 100,000+ operations per second. These benchmarks tell you when you need horizontal scaling.
The real power comes from chaining estimates. Consider this example: '100M DAU, 10% are daily active writers, each writes 2 tweets per day.' The chain goes: 100M * 10% = 10M writers/day, 10M * 2 = 20M writes/day, 20M / 100K seconds = 200 writes/sec. A single MySQL instance can handle 200 writes/sec easily -- no sharding needed for writes. For reads: if each user reads 50 tweets/day, that is 5B reads/day or 50,000 reads/sec -- one instance is tight, so add read replicas or a cache. Storage: 20M tweets/day * 140 bytes = 2.8 GB/day, about 1 TB/year -- one disk handles this. This chain from DAU to infrastructure requirements is the core skill interviewers test.
The Grocery Shopping Analogy
Estimation in system design is like estimating your grocery budget. You do not need to know the exact price of every item -- you need to know that produce is roughly $3/lb, meat is $8/lb, and cereal is $4/box. With those anchors, you can estimate a cart of 20 items within reasonable accuracy: 'About $80-100.' Similarly, in system design, you anchor on known data sizes (tweet is 140 bytes, photo is 500KB) and throughput benchmarks (MySQL handles 10K QPS) and chain them to estimate infrastructure needs. The interviewer does not expect $87.43 -- they expect you to know it is not $10 and not $1,000.
Twitter processes approximately 500 million tweets per day. Using estimation: 500M tweets/day divided by 100K seconds/day equals about 5,000 tweets/sec write throughput. At 140 bytes per tweet (text only), that is 70 GB/day or about 25 TB/year for text alone. Adding metadata (user ID, timestamp, geo) brings each tweet to roughly 1 KB, so storage is closer to 500 GB/day or 180 TB/year. These numbers explain why Twitter needs distributed storage (originally MySQL shards, later Manhattan) rather than a single database.
YouTube
YouTube reports that 500 hours of video are uploaded every minute. At approximately 50 MB per minute of standard video, that is 500 * 60 * 50 MB = 1.5 TB of new video per minute, or about 2.16 PB per day. This is why YouTube needs massive object storage infrastructure (Google Colossus) and a CDN that serves from edge locations. The bandwidth for uploading alone is 1.5 TB / 60 seconds = 25 GB/s sustained ingest -- numbers that immediately rule out a single-datacenter architecture.
WhatsApp delivers approximately 100 billion messages per day across 2 billion users. That is 100B / 100K seconds = 1 million messages per second. At roughly 200 bytes per message (text with metadata), the system processes about 200 MB/s of message data. A single server at 100K QPS would need 10,000 servers for messages alone. These numbers drove WhatsApp's architecture: Erlang-based servers optimized for concurrent connections, with each server handling 2 million connections simultaneously.
| Aspect | Description |
|---|---|
| Precision vs Speed | In interviews, fast approximate estimates are better than slow exact calculations. Saying '1 day is about 100K seconds' instead of calculating 86,400 saves time and is close enough. Interviewers care about order-of-magnitude reasoning, not calculator precision. |
| Memorization vs Derivation | Memorizing a few anchor numbers (powers of two, time conversions, data sizes) lets you derive everything else. You do not need to memorize that YouTube needs 2 PB/day -- you need to know video is ~50MB/min and can chain the math on the spot. |
| Optimistic vs Conservative Estimates | Underestimating leads to under-provisioned systems that fail at scale. Overestimating leads to over-engineered systems that waste money. In interviews, err slightly conservative (round up) and state your assumptions so the interviewer can calibrate. |
| Average vs Peak | Designing for average QPS means the system fails during traffic spikes. Designing for peak wastes resources during off-peak hours. Always calculate both, state the peak multiplier (typically 2-3x), and mention auto-scaling as the bridge between them. |
Estimating Infrastructure for a Social Photo-Sharing App
Scenario
In a mock interview, a candidate is asked to design an Instagram-like photo-sharing app with 200M DAU. They need to estimate the storage, QPS, and bandwidth requirements to make informed decisions about the database, CDN, and object storage architecture.
Solution
The candidate chains the estimates: 200M DAU, assume 20% upload at least one photo per day, average 1.5 photos per uploader. Uploads: 200M * 0.2 * 1.5 = 60M photos/day. At 500 KB average per photo: 60M * 500 KB = 30 TB/day of new photo storage, about 11 PB/year. Upload QPS: 60M / 100K = 600 uploads/sec (manageable by a small cluster). For reads: each user views about 100 photos/day via their feed, so 200M * 100 = 20B photo reads/day = 200K reads/sec. At 500 KB per photo, bandwidth is 200K * 500 KB = 100 GB/s -- this requires a CDN with edge caching. Cache hit ratio of 90% on popular photos reduces origin bandwidth to 10 GB/s.
Outcome
The estimates drove clear architecture decisions: object storage (S3-like) for the 11 PB/year of photos, a CDN for the 100 GB/s read bandwidth, a modest write cluster for 600 uploads/sec, and aggressive caching to reduce origin reads. The interviewer noted that the candidate's ability to chain numbers from DAU to infrastructure demonstrated the quantitative reasoning expected at the senior level. The estimates matched real-world Instagram numbers within an order of magnitude.
See Numbers to Memorize for System Design in action
Explore system design templates that use numbers to memorize for system design and run traffic simulations to see how these concepts perform under real load.
Browse Templates1Approximately how many seconds are in one day?
2If a system has 100M DAU and each user makes 5 requests per day, what is the approximate average QPS?
3A photo-sharing app stores 50M new photos per day at 500KB average each. What is the approximate annual storage requirement?