InterviewKata
System design · Optional depth

Under the hood: how the technologies really work

The modules teach what to choose and why. These deep dives go one level lower: how each technology works inside, and how the major products differ, such as why a MySQL secondary lookup walks two trees, how Redis grows its hash table without pausing, or what "repeatable read" means in PostgreSQL versus MySQL. Each one sits, collapsed, at the end of its module. 19 of 20 are ready.

The deep dives

#AreaWhereStatus
1Indexes and storage engines
B-tree vs B+tree vs B-link tree, clustered tables vs heaps, hash growth, LSM trees and compaction, special indexes, 15 products compared.
Module 12 · Indexes and storage enginesReady
2Transactions and isolation
What each isolation level really means per product, 2PL vs MVCC vs SSI vs OCC, where old versions live, WAL and recovery, 2PC and Percolator.
Module 17 · Transactions and contentionReady
3Replication and failover
Physical vs logical replication, sync vs async acknowledgement, quorums, chain replication, failover and fencing, leaderless repair.
Module 14 · ReplicationReady
4Partitioning and sharding
Range vs hash partitioning, consistent hashing variants, splitting and rebalancing, routing, scatter-gather, global secondary indexes.
Module 15 · Sharding and consistent hashingReady
5Caching internals
Eviction algorithms from LRU to TinyLFU, stampedes and single-flight, the stale-fill race, two-tier caches, HTTP caching semantics.
Module 09 · CachingReady
6Object, file and block storage
The object API, multipart uploads, signed URLs, overwrites and versioning, erasure coding, content-defined chunking, SSD internals.
Module 10 · Blob storage and CDNsReady
7Messaging internals
Queues vs logs, consumer groups and rebalancing, visibility timeouts, exactly-once, log segments and compaction, Kafka vs SQS vs RabbitMQ vs Pulsar.
Module 18 · Queues and event streamsReady
8Processing, analytics and time series
Row vs column storage, vectorized execution, the shuffle, lineage vs checkpoints, watermarks, time-series compression.
Module 23 · Batch, stream and background jobsReady
9Search, vectors and geospatial
Analyzers, posting lists and BM25, segment merges, HNSW and IVF, filtered vector search, geohash, quadtrees, S2 and H3.
Module 13 · Choosing a databaseReady
10Consensus, time and CRDTs
Raft in detail, Paxos and ZAB, leases and fencing tokens, gossip and failure detection, clocks, CRDTs vs operational transformation.
Module 21 · Consensus and coordinationComing
11Networking, proxies and rate limiting
TCP congestion control, TLS 1.3 details, HTTP/2 and HTTP/3 framing, DNS end to end, load-balancing and rate-limiting algorithms.
Module 06 · Networking and protocolsReady
12Runtimes, the OS and containers
Threads vs event loops, the page cache and fsync, epoll and io_uring, garbage collectors, cgroups and CPU throttling, the Kubernetes control loop.
B2 · Inside one machineReady
13Security internals
Hashes vs MACs vs password hashing, AEAD and nonce reuse, post-quantum TLS, certificate transparency, cookies and passkeys, policy engines.
Module 26 · SecurityReady
13Observability internals
Metric types and percentiles, cardinality, trace context propagation, head vs tail sampling, log indexing, SLO burn-rate alerts.
Module 25 · ObservabilityReady
14Data formats and compression
JSON vs Protobuf vs Avro, schema evolution, gzip, Brotli, zstd and LZ4, with a live size lab.
Module 07 · API designReady
14Workflow engines and timers
Durable execution and replay, Temporal vs Step Functions vs Airflow, hierarchical timing wheels, cron in a cluster.
Module 22 · Workflows, sagas and the outboxReady
14Money and ledgers
Double-entry ledgers with a live lab, idempotency keys, reconciliation, PCI scope.
Module 17 · Transactions and contentionReady
14Video delivery
Encoding ladders and codecs, HLS, DASH and CMAF, DRM, an adaptive-bitrate lab, live latency.
Module 10 · Blob storage and CDNsReady
14Model serving internals
Prefill and decode, a KV-cache memory lab, batching, quantization, speculative decoding, parallelism.
Module 29 · Designing AI systemsReady
14Everything else
Dijkstra vs A* with a grid lab, contraction hierarchies, push and email delivery, recommendation pipelines, edge and offline, file sync.
Module 28 · Architecture stylesReady

How to use them