Low Level Design: Operating System Process Scheduling
4 min read An operating system scheduler decides which process or thread runs on each CPU core at any given moment. The scheduler […] Read article
4 min read An operating system scheduler decides which process or thread runs on each CPU core at any given moment. The scheduler […] Read article
4 min read Sharding (horizontal partitioning) splits a large dataset across multiple database nodes to scale beyond what a single machine can handle. Read article
3 min read Database replication copies data from a primary database to one or more replica databases to achieve high availability, read scalability, Read article
5 min read TCP and UDP are the two dominant transport-layer protocols underpinning all internet communication. TCP provides reliable, ordered, connection-oriented delivery with Read article
3 min read A memory allocator manages heap memory — fulfilling malloc/new requests and returning freed memory for reuse. The C standard library Read article
5 min read Forward proxies, reverse proxies, and load balancers are often confused because they all sit between clients and servers in a Read article
3 min read A columnar database stores table data organized by column rather than by row, making it dramatically more efficient for analytical Read article
3 min read A distributed lock manager (DLM) coordinates exclusive access to shared resources across multiple processes or services running on different machines. Read article
5 min read Garbage collection (GC) automatically reclaims memory occupied by objects no longer reachable from the application. The JVM provides multiple GC Read article
3 min read The Log-Structured Merge-tree (LSM-tree) is a data structure optimized for write-heavy workloads. Unlike B-trees that update pages in place (causing Read article
3 min read DNS (Domain Name System) is the distributed hierarchical database that translates human-readable domain names (techinterview.org) into IP addresses (67.207.83.166). Every Read article
5 min read Event sourcing stores the state of an application as a sequence of immutable events rather than the current state snapshot. Read article
3 min read The Kubernetes scheduler is responsible for assigning Pods to Nodes, considering resource requirements, affinity rules, taints/tolerations, and cluster capacity. Understanding Read article
3 min read A materialized view is a pre-computed query result stored as a physical table, refreshed periodically or incrementally as source data Read article
5 min read Storage tiering assigns data to different storage media based on access frequency: hot data (accessed frequently) lives on fast, expensive Read article