Skip to content
Katabench
Try free

Topic

System Design

Distributed systems building blocks: load balancing, replication, queues, edge caching, sharding, and capacity math, plus the failure mode each one trades away.

9 min read

Back-of-the-envelope capacity estimation for system design

Back of the envelope estimation for system design: turn daily active users into QPS, bandwidth, storage, and pool sizes, then find what saturates first.

Read article →
9 min read

CDN and edge caching: what belongs at the edge

CDN edge caching is HTTP caching at scale. Which Cache-Control directives matter, what never belongs at the edge, and how a 95% hit rate changes the origin.

Read article →
9 min read

Change data capture: keep a search index in sync without dual writes

Updating the database and the search index in one request is a dual write that drifts. Use change data capture or an outbox to derive the index instead.

Read article →
9 min read

Database replication and failover: what a standby promises

A replica is not a backup and a failover is not free. Database replication and failover explained: sync vs async commit, replication lag, safe promotion.

Read article →
9 min read

Database sharding vs partitioning: when one database is not enough

Database sharding vs partitioning: one splits a table inside a database, the other splits data across them. What each gives up and how to pick a shard key.

Read article →
8 min read

Design a notification system: fan-out, retries, and consent

Design a notification system that fans one event out to email, push, and SMS without double-sending, blocking on a dead provider, or messaging opted-out users.

Read article →
8 min read

Design a URL shortener: from one API to a billion redirects

Design a URL shortener with real numbers: 40 writes and 4,000 redirects a second, base62 keys, a cache-aside redirect path, and the 301 vs 302 analytics trade.

Read article →
8 min read

Fan-out on write vs fan-out on read: designing a social feed

Fan-out on write vs fan-out on read, with the arithmetic: why push wins for ordinary accounts, where a 10M-follower post explodes, and how a hybrid merges both.

Read article →
9 min read

Load balancing algorithms: round robin to consistent hashing

Load balancing algorithms are bets about your fleet. Round robin assumes equal servers, least connections dodges slow ones, consistent hashing keeps keys put.

Read article →
9 min read

Queue-based load leveling: absorb write spikes without losing work

Queue-based load leveling puts a durable queue between a write spike and the workers that drain it. Do the backlog arithmetic and watch the metric that matters.

Read article →
9 min read

System design fundamentals: nine building blocks

System design fundamentals as nine building blocks: name the pressure, apply the pattern, count what it costs, and learn the failure mode each block introduces.

Read article →

Get new puzzles and .NET tips in your inbox

A short note when fresh kata land, plus the C# and performance tricks behind the grading. No spam, unsubscribe anytime.