Low Level Design: TCP vs UDP — Network Protocol Internals
TCP and UDP are the two dominant transport-layer protocols underpinning all internet communication. TCP provides reliable, ordered, connection-oriented delivery with […]
TCP and UDP are the two dominant transport-layer protocols underpinning all internet communication. TCP provides reliable, ordered, connection-oriented delivery with […]
A distributed lock manager (DLM) coordinates exclusive access to shared resources across multiple processes or services running on different machines.
A columnar database stores table data organized by column rather than by row, making it dramatically more efficient for analytical
Forward proxies, reverse proxies, and load balancers are often confused because they all sit between clients and servers in a
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
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
Garbage collection (GC) automatically reclaims memory occupied by objects no longer reachable from the application. The JVM provides multiple GC
A materialized view is a pre-computed query result stored as a physical table, refreshed periodically or incrementally as source data
The Kubernetes scheduler is responsible for assigning Pods to Nodes, considering resource requirements, affinity rules, taints/tolerations, and cluster capacity. Understanding
Event sourcing stores the state of an application as a sequence of immutable events rather than the current state snapshot.
Storage tiering assigns data to different storage media based on access frequency: hot data (accessed frequently) lives on fast, expensive
Lambda and Kappa architectures are data processing patterns for building systems that must handle both real-time (streaming) and historical (batch)
Choosing between gRPC and REST is a fundamental API design decision with significant implications for performance, developer experience, and interoperability.
Multiversion Concurrency Control (MVCC) is a database concurrency mechanism that allows readers and writers to operate simultaneously without blocking each
Zero-downtime deployments allow updating a running service without any period of unavailability to users. As services move to continuous delivery