• Home
  • Learn
  • Feed
  • Ladder
  • Saved
← Paths
🗄️

Backend Fundamentals

Databases, concurrency, and networking — the bedrock of backend engineering.

Curriculum · 1141 lessons

01The One To Many Relationshipintro3m02The Client Server Modelintro3m03HTTP Methods and Their Semanticsintro4m04The ICMP Protocol and Pingintro3m05URL and URI Structureintro3m06The Read Phenomenaintro4m07The Atomic Counterintro4m08How the Internet Routes Packetsintro4m09Data Parallelism vs Task Parallelismintro4m10The Anatomy of an HTTP Requestintro4m11The Query Parser and Plannerintro4m12The Print In Order Problemintro3m13The Critical Section Problemintro4m14The Concurrent Hash Mapintro4m15The Document Model Deepintro4m16Index Selectivityintro4m17B-Tree Indexesintro4m18Threads vs Processesintro4m19OLTP vs OLAPintro4m20The OSI Model Layersintro4m21The Actor Modelintro4m22Immutability for Thread Safetyintro4m23HTTP Cache Control Directivesintro4m24The Thread Per Request Modelintro4m25The Real SELECT Execution Orderintro4m26Optimistic vs Pessimistic Concurrency Revisitedintro4m27The C10k Problemintro4m28The Document Data Modelintro4m29The Single Threaded Event Loop Revisitedintro4m30Leader Follower Coordinationintro4m31How Email Is Delivered with SMTPintro4m32Backup Strategies Full and Incrementalintro4m33Inside a Mutexintro4m34How a B Tree Index Worksintro4m35Race Condition Detectionintro4m36Time Series Database Designintro4m37Parallel Sum Reductionintro4m38The ACID Properties Revisitedintro4m39The DNS Resolution Walkthroughintro4m40The B Tree Storage Engineintro4m41Idempotency in Distributed Systemsintro4m42The Select Query Execution Orderintro4m43The Future and Promise Abstractionintro4m44The Bandwidth vs Latencyintro4m45Vertical vs Horizontal Scalingintro4m46Redis Data Structures Overviewintro4m47The Process vs Threadintro4m48The Virtual Private Cloudintro4m49Entity Relationship Modelingintro4m50Deadlock: The Four Conditionsintro4m51Storage Layout and Pagesintro4m52The Ping and ICMPintro4m53Blocking vs Non Blocking IOintro4m54The Scaling Threads vs Eventsintro4m55The RPC Conceptintro4m56The InnoDB Storage Engineintro4m57Immutability and Concurrencyintro4m58Columnar Storage Benefitsintro4m59DynamoDB Partition and Sort Keysintro4m60The Parallel Reduce Treeintro4m61The OS Thread Schedulingintro4m62Lock Free Programming Introductionintro4m63LSM Tree Levels and Tiersintro4m64Round Robin and Weighted Balancingintro4m65Distributed Locks with ZooKeeperintro5m66The Buffer Pool and Page Cacheintro4m67Read Replicas and Read Scalingintro4m68Identifying Slow Queriesintro4m69Proxy and Reverse Proxy Revisitedintro4m70The CDN Cache Hierarchyintro4m71Schema Migration Toolingintro4m72Reading HTTP Status Codesintro4m73The Default Gatewayintro3m74The CAP Theorem Revisitedintro4m75Database Normalizationintro4m76Eventual Consistencyintro4m77Load Balancing Algorithmsintro4m78B plus Tree vs LSM Treeintro4m79Common Table Expressionsintro3m80Redis Core Data Structuresintro4m81The Request Response Cycleintro4m82GROUP BY and Aggregatesintro4m83The Compare And Set In Databasesintro4m84Content Type and MIME Negotiationintro4m85Parallel Map Filter Reduceintro4m86Callbacks And The Callback Hellintro4m87The DNS MX Recordintro4m88The Recursive Mutexintro4m89Downsampling and Retentionintro4m90The Cache Coherence Protocol MESIintro4m91Inner vs Outer Joinsintro4m92Redis Strings and Countersintro4m93The Mutual Exclusion Requirementsintro4m94Buffer Pool Managementintro4m95Synchronous vs Asynchronous IOintro4m96Postgres MVCC And Tuplesintro5m97Pure Functions and Parallelismintro4m98At Most Once Semanticsintro4m99Stateful And Stateless Firewallsintro4m100Spanner TrueTimeintro4m101The Cooperative Coroutinesintro4m102Raft Leader Election Deep Diveintro5m103HTTP2 Multiplexing In Depthintro4m104The Window Functions Deep Diveintro5m105The Bloom Filter in LSMintro4m106L4 vs L7 Load Balancing, Deepintro5m107Leases and TTL Locksintro4m108Ports Sockets And The Five Tupleintro4m109Sequences and Auto Incrementintro4m110The Spinlockintro4m111The Thread Per Connection Limitintro4m112Key Value Store Access Patternsintro4m113The Slow Query Logintro4m114Request and Response Headersintro4m115Deterministic Replay Debuggingintro4m116Logical vs Physical Plansintro4m117The Lock Striping Patternintro4m118The BSON and Field Typesintro4m119Composite Index Leftmost Prefixintro4m120The Happens Before Relation Deep Diveintro5m121Ethernet Frames And MAC Addressesintro4m122TCP vs UDPintro4m123Mutex vs Semaphoreintro4m124Network Address Translationintro4m125Communicating Sequential Processesintro4m126Foreign Keys and Referential Integrityintro4m127Generated and Computed Columnsintro3m128Busy Waiting versus Blockingintro4m129ETags and Conditional Requestsintro4m130The Storage Engine and Pagesintro4m131Event Driven Concurrencyintro4m132The Lost Update Problemintro4m133Time to Live and Expiryintro4m134The PACELC Extensionintro4m135The Distributed Barrierintro4m136Wake on LANintro4m137Point in Time Recoveryintro4m138The Timed Lockintro4m139The Clustered vs Nonclustered Indexintro4m140The Embedded Database SQLiteintro4m141Amdahl Law Revisitedintro4m142The Parallel For Loopintro4m143The Memory Hierarchy Latencyintro4m144The Isolation Levels Explainedintro4m145Recursive vs Iterative Resolversintro4m146The LSM Tree Storage Engineintro4m147The Heap File Organizationintro4m148The Exactly Once Delivery Mythintro4m149The Self Join Patternintro4m150Async Await Desugaringintro4m151The Round Trip Time Impactintro4m152Read Replicas for Scaleintro4m153Redis Hashes and Objectsintro4m154The Green Threads and Fibersintro4m155The Subnets and Route Tablesintro4m156Primary And Foreign Keysintro4m157Livelock and Starvationintro4m158The Traceroute Path Discoveryintro4m159Vacuum And Autovacuumintro5m160The gRPC Fundamentalsintro4m161The Query Cache Deprecationintro4m162Lazy Evaluation and Concurrencyintro4m163DynamoDB Capacity Modesintro4m164Scaling the Producer Consumer Patternintro4m165YugabyteDB Designintro4m166ETL Versus ELTintro4m167Progress Guarantees Comparedintro5m168Quorum Intersectionintro4m169How DNS Resolution Worksintro5m170Surrogate vs Natural Keysintro3m171HAVING Versus WHEREintro3m172Soft Deletes vs Hard Deletesintro4m173The HTTP Status Code Familiesintro4m174Edge POP Selection With Anycastintro4m175The Running Totals and Moving Averagesintro5m176Volatile versus Atomicintro5m177Denormalizationintro4m178The Async Await Event Loopintro5m179Covering Indexesintro4m180Keepalive and Connection Reuseintro3m181IPv6 Basicsintro4m182Index Selectivity and Cardinalityintro4m183Query Result Cachingintro4m184Amdahl Lawintro4m185DNS Based Load Balancingintro4m186Cache Aside vs Write Through vs Write Backintro5m187The Thread Pool Sizing Formulaintro4m188HTTP Versus HTTPSintro4m189Distributed Locks With Leasesintro4m190HTTP Request Methods Semanticsintro4m191Advisory Locksintro4m192The Ticket Lockintro4m193Subnetting and CIDRintro5m194The Event Loop Scalabilityintro4m195The Pipeline Patternintro4m196Prepared Statement Reuseintro4m197Promises And Chainingintro5m198Linearizability vs Serializabilityintro5m199The Distributed Semaphoreintro4m200The Write Ahead Log Replayintro4m201The Thread Sanitizer Revisitedintro5m202False Sharing Revisitedintro4m203At Least Once With Deduplicationintro4m204The Event Loop Revisited Deeplyintro5m205The TCP Slow Startintro4m206Sharding Strategies Range and Hashintro5m207The Goroutines Modelintro5m208The Petersons Algorithmintro5m209Enums And Lookup Tablesintro4m210Write Ahead Log Internalsintro5m211The Embedded Documents vs Referencesintro5m212IO Multiplexing with select poll epollintro5m213TOAST For Large Valuesintro4m214The Queue Depth and Latencyintro4m215The Protobuf Serializationintro4m216The Clustered Index In InnoDBintro5m217Deduplication Windowsintro4m218VPN Tunneling With IPsecintro5m219DynamoDB GSI and LSIintro5m220The MapReduce Model in Depthintro6m221CockroachDB Architectureintro5m222The Stackful Versus Stackless Coroutinesintro5m223Index Merge Optimizationintro4m224HTTP2 Server Push In Depthintro4m225The RANK DENSE RANK and ROW NUMBERintro4m226The SSTable Format Deepintro5m227Least Connections Balancingintro4m228Switches Versus Routersintro4m229Heap Files vs Clustered Indexesintro4m230Audit Tables and Historyintro5m231The Service Mesh Data Planeintro4m232Index Prefix Matchingintro4m233The Cost Based Optimizerintro5m234The Read Phenomena Dirty Nonrepeatable Phantomintro5m235DNS Record Types Deepintro5m236The Internet Gatewayintro4m237The Copy On Write Collectionsintro4m238The Dig and Nslookupintro4m239Cache Key And The Vary Headerintro4m240Reverse ETLintro4m241How DHCP Assigns Addressesintro4m242The WireGuard Protocolintro4m243HPACK Header Compression In Depthintro5m244Unicast Multicast And Broadcastintro4m245Idempotent and Safe HTTP Methodscore4m246The JSON RPCcore4m247IPv6 Address Notationcore5m248Read Write Lockscore4m249Content Negotiationcore4m250Batch Writes and Bulk Loadingcore4m251The Retry After Headercore3m252FTP and SFTP Basicscore4m253The Bank Account Transfer Deadlockcore4m254The Cooperative Schedulingcore4m255Soft Deletes And Audit Columnscore5m256The gRPC Reflection and Healthcore4m257How Traceroute Maps A Pathcore4m258Stored Procedurescore4m259The Run Loopcore4m260Cache Line Paddingcore4m261The Traffic Light Controllercore4m262The Case Expression Logiccore4m263The Schema Validation Rulescore5m264The LAG and LEAD Functionscore4m265Thread Poolscore4m266Server Sent Eventscore4m267DHCP Address Assignmentcore4m268Upsert and On Conflictcore4m269Database Triggerscore4m270Rate Limiting With A Semaphorecore4m271Jumbo Framescore4m272Gzip and Brotli Compressioncore4m273Savepoints And Nested Transactionscore4m274The Future And Promise Revisitedcore5m275Private versus Public IP Addressescore4m276Connection Pooling Concurrencycore5m277The Scatter Gather Patterncore4m278Sidecar Proxiescore4m279The Last Write Wins Registercore4m280The Try Lock Patterncore4m281The Immutable Data Benefitcore4m282The In Memory Databasecore4m283The Volatile Keyword Semanticscore5m284The Bounded Buffercore5m285The Page and Buffer Poolcore5m286Group By and Havingcore4m287The Connection Pooling Reusecore5m288Cache Layer for Readscore5m289The Preemptive Schedulingcore4m290The Concurrent Linked Queuecore5m291The MongoDB Indexescore5m292The Thrift Overviewcore4m293DNS Over TLScore4m294Cassandra Ring and Tokenscore5m295Range Based Sharding In SQLcore4m296Descending Indexescore4m297Server Sent Events In Depthcore4m298The NTILE Bucketing Functioncore4m299Sticky Sessions, Deepcore5m300VLANs And Network Segmentationcore5m301Coroutines and Cooperative Schedulingcore5m302Views vs Materialized Viewscore4m303Partial and Expression Indexescore5m304DNS Caching and TTLcore4m305Async Await Error Handlingcore5m306The Hash Indexcore4m307Cookies, Attributes, and Scopecore5m308Stress Testing Concurrent Codecore4m309Gustafson Lawcore4m310Predicate Pushdowncore4m311The Multithreaded FizzBuzzcore4m312The Memtable and Flushcore4m313Redis Lists and Queuescore5m314The NAT Gatewaycore5m315The Network Address Translation in Cloudcore5m316The Many To Many Junction Tablecore4m317The Netstat and SScore5m318The Curl for Debuggingcore5m319The Change Streamscore5m320The gRPC Streaming Modescore5m321Producer Consumer Patterncore4m322The TCP Three Way Handshakecore4m323The ARP Protocolcore4m324Secondary vs Composite Indexescore4m325Window Functionscore4m326Server Name Indicationcore4m327The Fill Factor and Page Splitscore5m328INNER Versus OUTER Joinscore5m329Cookies and Sessionscore5m330Lock Granularitycore5m331The Cooperative Schedulercore4m332Port Numbers and Socketscore4m333The IO Multiplexing With Epollcore5m334The Graph Database Modelcore5m335Health Checks Active and Passivecore4m336Hinted Handoffcore4m337Connection Draining on Deploycore4m338The Countdown Latchcore4m339Content Negotiation Deep Divecore5m340The Lock Ordering Disciplinecore4m341Sort and Aggregation Operatorscore5m342Compiler Reorderingcore5m343The Producer Consumer Problemcore5m344Common Table Expressions Revisitedcore5m345The Keep Alive Tuningcore5m346Connection Pooling at Scalecore5m347The CPU Bound vs IO Boundcore4m348The Test And Set Lockcore4m349Query Plan Cachingcore4m350The Blocking Queuecore5m351The Rate Limiter Token Refillcore5m352The Buffer Pool In InnoDBcore5m353Materialized Views for Analyticscore5m354DNS Over HTTPScore5m355Cassandra Replication Factorcore5m356Hash Based Sharding In SQLcore4m357Stale While Revalidate At The CDNcore5m358Backfill Strategiescore5m359MQTT For IoTcore5m360The Pivot with Conditional Aggregationcore5m361The B Tree Page Split Deepcore5m362DNS Load Balancing, Deepcore5m363Quality Of Service And DiffServcore5m364Database Normalization Formscore5m365The HTTP Keep Alive Timeoutcore4m366The Master Worker Patterncore4m367Connection Drainingcore4m368The Message Passing Safetycore4m369Workload Managementcore5m370Connection Draining, Deepcore5m371Transactions and ACIDcore5m372Deadlockcore5m373Change Data Capturecore5m374Reverse Proxy vs Forward Proxycore4m375Async IO and Non Blockingcore5m376MTU and Packet Fragmentationcore4m377Compaction and Tombstonescore4m378Double Checked Lockingcore5m379HTTP Strict Transport Securitycore4m380The Hash Slot Modelcore4m381Index Only Scanscore5m382The Fork Join Frameworkcore5m383Public Key Infrastructure Basicscore5m384Self Joinscore4m385The Fencing Tokencore5m386The Same Origin Policycore4m387Two Phase Lockingcore5m388The Seqlockcore5m389The Bounded Queue For Backpressurecore5m390Embedding versus Referencing in Documentscore5m391Batching Writes for Throughputcore4m392The Timer And Io Callbackscore5m393Quorum Read Write Mathcore5m394The Distributed Queuecore5m395SPF, DKIM, and DMARCcore5m396Replication Topologiescore5m397Condition Variable Usagecore5m398The Composite Index Column Ordercore5m399Deadlock Detection at Runtimecore4m400Hypertable Partitioningcore5m401Join Algorithms Nested Loop Hash Mergecore5m402The Store Buffer and Forwardingcore5m403The SSTable and Compactioncore5m404The Saga Compensation Patterncore5m405Subqueries vs Joinscore5m406The Thread Pool Executorcore5m407The Congestion Window Dynamicscore5m408Shard Key Selectioncore5m409Redis Pub Subcore4m410The Fetch And Addcore4m411Composite Keyscore4m412The Checkpoint Processcore5m413The Aggregation Pipelinecore6m414Edge vs Level Triggered Notificationscore5m415Index Types Btree Gin Gist Brincore6m416The Little Law Applied to Threadscore5m417The gRPC Interceptorscore4m418Message Passing Semanticscore5m419The Redshift MPP Enginecore5m420The TLS Inspection Proxycore5m421DynamoDB Streamscore5m422Distributed Transactions Two Phase Commitcore5m423The Green Thread Schedulingcore5m424Zero Downtime Migrationcore5m425The Treiber Stackcore5m426Covering Index Deep Divecore5m427HTTP3 Over QUIC In Depthcore5m428The FIRST VALUE and LAST VALUEcore5m429Fencing Tokenscore5m430TCP Connection Teardown And Time Waitcore5m431WebSockets for Real Time Communicationcore4m432Network Firewalls and Packet Filteringcore4m433Full Text Searchcore4m434Near Cache and Client Side Cachingcore4m435Set Operations UNION INTERSECT EXCEPTcore5m436Last Write Wins Conflictscore5m437The Three Way Handshake Revisitedcore4m438SIMD Vectorization Basicscore4m439Mutual TLS in a Meshcore5m440The Rolling Restartcore4m441The Unique Index and Constraintscore5m442The Cache Control Directives Revisitedcore5m443The Long Running Transaction Problemcore4m444The Space Amplificationcore4m445Pg Stat Statementscore5m446Data Compression Encodingscore5m447Edge Function Cold Startscore5m448Index Maintenance Costcore5m449CoAP For Constrained Devicescore5m450The Compiler Reordering Deep Divecore6m451The Page Compressioncore4m452Power of Two Choicescore5m453Leader Election the Ring Algorithmcore5m454Join Typescore5m455Futures and Promisescore4m456Columnar Storagecore5m457The Reactor Patterncore5m458TCP Flow Control and the Sliding Windowcore5m459Thread Safe Singletoncore5m460Graceful Connection Drainingcore4m461Range Based Shardingcore5m462Redis Persistence RDB and AOFcore5m463Undo and Redo Logscore5m464Parallel Map Reducecore5m465TCP Versus UDP Tradeoffs Revisitedcore5m466Subqueries Versus Joinscore5m467Idempotency Keys For Retriescore5m468HTTP Redirects and Status Familiescore5m469The Proactor Vs Reactor Patterncore5m470Eventual Consistency in NoSQL Readscore5m471The Phaser and Countdown Latchcore5m472Reading EXPLAIN ANALYZE Outputcore5m473Load Balancing Algorithms Comparedcore5m474The Task Queue And Microtask Queuecore5m475Consensus With Raft Revisitedcore5m476The Ephemeral Node And Watchcore5m477The Gossip Disseminationcore5m478The WebSocket Upgrade Handshakecore5m479Capacity Planning for Storagecore5m480The Monitor Pattern Revisitedcore5m481The Partial Indexcore5m482The Happens Before in Toolscore5m483The Search Engine Inverted Indexcore5m484Parallel Merge Sortcore5m485Parallel Quicksortcore5m486Load Balancing Of Taskscore5m487The Divide And Conquer Parallelismcore5m488Statistics and Histogramscore5m489The DNS Load Balancingcore5m490The Read Amplificationcore5m491Logical Clocks and Lamport Timestampscore5m492The Nagle Algorithm Tradeoffcore5m493Cross Shard Queriescore5m494Redis Sets and Sorted Setscore5m495The Async Runtime Tokio Stylecore5m496The Spinlock vs Blocking Lockcore5m497The VPC Peeringcore5m498The Elastic Load Balancer Typescore5m499Surrogate Versus Natural Keyscore5m500Vacuum Internalscore5m501The Tcpdump Capturecore5m502Streaming Replicationcore5m503The Backpressure End to Endcore5m504The gRPC Deadlines and Cancellationcore5m505The Actor Model Deep Divecore5m506The Snowflake Architecturecore5m507Volumetric Versus Application DDoScore5m508Cassandra Wide Rowscore5m509Parallel Breadth First Searchcore5m510Raft For SQL Replicationcore5m511The Async Runtime Executorcore5m512Database Replication For Migrationcore5m513Consensus in Practice Tradeoffscore6m514WebSocket Framing In Depthcore5m515The Correlated Subquery Patternscore5m516The Write Stall in LSMcore4m517Redis Redlock and Its Criticscore6m518WebRTC Peer Connectionscore5m519Livelockcore4m520Read Replicas and Stalenesscore5m521Long Polling vs WebSocketscore4m522Prepared Statements and Plan Cachingcore4m523Connection Pooling for HTTP Clientscore5m524Fsync and Durabilitycore5m525Network Congestion And Queuingcore5m526Eventual Consistency And Convergencecore5m527Polymorphic Associationscore5m528The Nagle Algorithmcore4m529The Bulkhead Thread Pool Isolationcore5m530Secondary Indexes in NoSQLcore5m531Detecting the N Plus Onecore5m532The Bloom Filter For Membershipcore5m533Network Time Protocolcore5m534Monitoring Database Healthcore5m535HTTP Authentication Schemescore5m536The Spatial Databasecore5m537The SNI and Encrypted SNIcore5m538The Dirty Page Flushingcore4m539The Pivot and Unpivotcore5m540The Work Queue and Rejectioncore5m541The Optimistic vs Pessimistic Lockingcore5m542The Order Violationcore4m543Statistics Collectioncore5m544The Read and Write Concernscore6m545Thread Pools for IOcore5m546WAL And Archivingcore6m547The Deadlock Detection In MySQLcore5m548Futures and Promises Functionalcore5m549Partition and Cluster Keyscore5m550Sagas and Compensationcore5m551Time Series in Cassandracore6m552Pipeline Backpressurecore5m553The Priority Schedulingcore5m554Request Collapsing At The CDNcore5m555Index Condition Pushdowncore5m556QUIC Connection Migrationcore4m557The Java Memory Model Deep Divecore6m558The Checkpoint and Fsynccore5m559Health Checking, Deepcore6m560Gossip Disseminationcore5m561Server Name Indication In TLScore4m562Pessimistic Lockingcore5m563HTTP2 Multiplexingcore5m564Materialized Viewscore5m565The Compare and Swap Loopcore5m566How Traceroute Workscore4m567Connection Limits and Pool Sizingcore4m568Condition Variables and Wait Notifycore5m569TLS Session Resumptioncore5m570Consistent Hashing for Shard Placementcore5m571DynamoDB Partition Key Designcore5m572Checkpointingcore5m573Structured Concurrencycore5m574Perfect Forward Secrecycore4m575The EXISTS Operatorcore4m576Chunked Transfer Encodingcore4m577Idempotent Transaction Retriescore4m578Lock Contention Profilingcore5m579Write Scaling with Shardingcore5m580The Token Bucket Rate Limiter Concurrencycore5m581The Wide Column Storecore5m582Index Only Scans and Covering Indexescore5m583Traffic Splitting and Canary Routingcore5m584The Worker Thread Modelcore5m585Zookeeper Style Coordinationcore5m586The SSH Protocolcore5m587Barrier Synchronizationcore4m588The Expression Indexcore5m589Conditional Requests and Caching Validatorscore5m590Graph Database Traversalcore5m591Sequential Consistency Modelcore5m592The Deadlock Detection and Preventioncore5m593The Sleeping Barber Problemcore5m594Anycast DNScore5m595Distributed Transaction Alternativescore5m596The Correlated Subquerycore5m597Resharding and Rebalancingcore5m598Cache Eviction Policies in Rediscore5m599The Lock Granularity Tradeoffscore5m600The Lost Wakeup Bugcore5m601MVCC Snapshot Internalscore5m602The Compound and Multikey Indexcore6m603The Proactor Patterncore5m604Native Table Partitioningcore6m605The Load Shedding Under Pressurecore5m606The Redo And Undo Logscore6m607Channels and the CSP Modelcore5m608The BigQuery Dremel Modelcore5m609SYN Flood Mitigationcore5m610DynamoDB Single Table Designcore6m611The Parallel Scan and Blelloch Algorithmcore6m612Follower Readscore4m613Surrogate Keys And Targeted Purgingcore5m614Dual Write Patterncore5m615Data Validation Post Migrationcore5m616Inverted Index For Searchcore5m617Basic Paxos Deep Divecore6m618The JSON Functions in SQLcore5m619The CPU Out of Order Executioncore6m620Compaction Leveled vs Tieredcore5m621Consistent Hashing for Load Balancing, Deepcore6m622Leader Election the Bully Algorithmcore5m623Understanding CORScore5m624Service Discoverycore5m625Hot Key Mitigation in Cachescore5m626Deadlock Victim Selectioncore5m627The LIMIT And OFFSET Pagination Costcore5m628Exactly Once vs At Least Oncecore5m629Work Stealing Dequescore5m630Sequential Scan Versus Index Scancore5m631Cooperative Versus Preemptive Schedulingcore5m632The Leader Leasecore5m633The Lease Renewalcore5m634Server Sent Events vs WebSockets Revisitedcore5m635The Slow Query Alertingcore5m636Index Maintenance Overheadcore5m637Wide Column Store Designcore5m638Join Order Selectioncore5m639The Completable Future Compositioncore5m640Index B Tree Internalscore5m641The Concurrent Skip Listcore5m642Socket Buffer Tuningcore5m643The Partitioning In MySQLcore6m644Agents and Refs Clojure Stylecore5m645Query Pruning with Zone Mapscore5m646Wide Column Data Modelingcore6m647The Task Waker Mechanismcore5m648Linearizability Proofscore6m649Function Based Indexescore5m650Viewstamped Replicationcore6m651The Full Text Search in SQLcore6m652The Sequential Consistency Deep Divecore6m653The WAL Group Commitcore4m654Load Balancer High Availabilitycore5m655Distributed Barrierscore5m656Query Execution Planscore5m657Spurious Wakeupscore4m658Cassandra Tunable Consistencycore5m659Group Commitcore5m660Cancellation And Timeoutscore5m661The Happens Before Relationcore5m662Deadlock Prevention Versus Detectioncore5m663The Entity Attribute Value Antipatterncore5m664The Circuit Breaker State Machinecore5m665Access Pattern Driven Modelingcore5m666Connection Pool Sizingcore5m667The Covering Index Revisitedcore5m668Fuzzing Concurrent Programscore5m669The Connection Pool Concurrencycore5m670The TLS Handshake Walkthroughcore6m671Window Functions Rankingcore5m672The Prefetch and Preconnectcore5m673Database Proxy and Routingcore5m674The Compare And Swap Primitivecore5m675The Atomicity Violationcore4m676The Replica Set Electionscore5m677IO Completion Portscore5m678Logical Replicationcore6m679The Graceful Degradation Concurrentcore5m680The Binlog Replicationcore6m681Select and Timeoutcore4m682The ClickHouse Vector Enginecore5m683IP Spoofing Preventioncore5m684Global Secondary Index In Distributed SQLcore5m685The Preemption Pointscore5m686Data Sync Conflict Resolutioncore5m687Raft Log Replication Deep Divecore6m688The False Sharing Mitigation Deep Divecore6m689Race conditions & lockscore5m690Atomic Operations and CAScore5m691Inside the TLS Handshakecore5m692LSM Treescore6m693QUIC and HTTP3core5m694Work Stealing Schedulerscore5m695Web Application Firewallscore4m696Declarative Table Partitioningcore5m697OCSP Staplingcore5m698Cache Stampede Preventioncore5m699The Diffie Hellman Key Exchangecore5m700Correlated Subqueriescore5m701CORS Preflight Requestscore5m702Async Await Under The Hoodcore5m703The GPU Thread Model Basicscore5m704Table and Index Bloatcore5m705Message Passing Between Workerscore5m706Anti Entropy With Merkle Treescore5m707The Herd Effect On Lockscore5m708Port Forwarding and Tunnelingcore5m709Read Your Writes After Failovercore5m710The Cyclic Barriercore5m711The Vector Database for Embeddingscore5m712Parallel Prefix Sumcore6m713The Work And Span Modelcore5m714The Acquire Release Semanticscore5m715Multiversion Concurrency Control MVCCcore5m716Event Ordering Guaranteescore5m717The Reactive Streams Speccore5m718Redis Streamscore5m719The Event Loop Per Corecore5m720The Security Groups vs NACLscore5m721The DNS Based Service Discoverycore5m722Normalization To Third Normal Formcore6m723Lock Manager Internalscore5m724The Wireshark Analysiscore5m725The DNS Resolution Debuggingcore5m726The MVCC In InnoDBcore6m727Parallel Matrix Multiply and Blockingcore6m728Edge Key Value Storagecore5m729Full Text Indexes Deep Divecore5m730ZAB the ZooKeeper Atomic Broadcastcore6m731QUIC Zero RTT Resumptioncore5m732The Recursive CTE for Hierarchiescore6m733The C plus plus Memory Model Deep Divecore6m734The Copy On Write B Treecore5m735Replication Lagcore5m736The Dining Philosophers Problemcore5m737Statistics and Histograms for the Plannercore6m738The Circuit Breaker For Concurrencycore5m739The Primary Key Choice for Shardingcore5m740Tunable Consistency Levelscore5m741Cancellation Tokenscore5m742The Full Text Indexcore5m743The Ledger and Immutable Databasecore5m744The Row Versus Column Tradeoffscore5m745Conflict Resolution Strategiescore5m746The TCP Fast Opencore5m747The Distributed Joins Problemcore5m748Redis Sentinel High Availabilitycore5m749The Lock Contention Effectscore5m750Time Of Check To Time Of Usecore4m751The Sharding in MongoDBcore6m752The io uring Interfacecore5m753Explain Analyze Deepcore6m754The Timeout Propagationcore5m755Snapshot Isolationcore5m756Network Intrusion Detectioncore5m757Geo Partitioningcore5m758The Cgroup CPU Limitscore5m759The Cache Coherence MESI Deep Divecore6m760Comparing Vector Clockscore6m761The Bandwidth Delay Productcore5m762Indexes For Sorting And Groupingcore5m763The Saga vs Two Phase Commitcore6m764Intention Lockscore5m765The Thread Sanitizercore5m766The Parallel Prefix Scancore5m767Vacuum and Analyze Tuningcore5m768Vector Clocks For Causalitycore5m769HTTP2 Server Pushcore5m770Schema Migration Expand and Contractcore5m771Set Cookie and SameSitecore5m772Cardinality Estimationcore5m773The Snapshot Isolationcore5m774DNSSEC Basicscore6m775Backpressure Strategiescore5m776Transaction Id Wraparoundcore5m777The GTID Replicationcore6m778Ordering Guaranteescore5m779GPU Kernel Parallelismcore6m780The Work Stealing Runtime Deepcore6m781Spatial Indexes And R Treescore5m782Multi Paxos Deep Divecore6m783Multiversion Concurrency Controlcore5m784REST versus gRPCcore5m785Optimistic Concurrency Controlcore5m786TCP Congestion Controlcore5m787Sequential Consistency vs Relaxedcore5m788The Readers Writers Problemcore5m789Bulkheads For Isolationcore5m790Cross Shard Queries and Scatter Gathercore5m791Slow Start and Congestion Avoidancecore5m792The Consistent Hashing Ringcore5m793Sticky Sessions and Consistent Hashingcore5m794Read Write Lock Implementationcore5m795Bearer Tokens in Headerscore5m796Causal Consistencycore5m797Redis Cluster Shardingcore5m798The N to M Threadingcore5m799Schema Evolution And Migrationscore6m800The Memory Visibility Bugcore5m801The Bulkhead Sizingcore5m802The GraphQL Over HTTPcore5m803Software Transactional Memory Deep Divecore6m804The Parallel Bitonic Sortcore6m805Clock Skew Handlingcore5m806Tiered Caching With Origin Shieldcore5m807Blue Green Data Cutovercore5m808Read Copy Update RCUcore6m809gRPC Over HTTP2core5m810The Acquire Release Deep Divecore6m811B Tree Concurrency Latchingcore5m812Maglev Hashingcore6m813Anycast Routingcore4m814Online Schema Change Toolscore5m815Window Function Executioncore5m816The Flow Control in Reactivecore5m817The Hazard Pointers Recapcore5m818The Gap And Next Key Lockscore6m819Causal Deliverycore5m820Tendermint BFT Consensuscore6m821ACID & isolation levelscore6m822Partitioning vs Shardingcore5m823Sharding Key Choicecore6m824Mutual TLScore5m825Linearizabilitycore5m826Hash Merge and Nested Loop Joinscore5m827Monitors and Intrinsic Lockscore5m828Google Spanner and TrueTimecore6m829The Saga For Long Transactionscore5m830The Outbox Table for Eventscore5m831Vector Clocks Revisitedcore5m832The Recursive CTEcore6m833The Cold versus Hot Observablescore5m834Multi Region Databasecore5m835The Cross Zone Load Balancingcore5m836Denormalization For Readscore5m837The Double Checked Locking Bugcore5m838The MTR Combined Toolcore5m839The Packet Loss Diagnosiscore5m840The Latency Spikes Investigationcore6m841Serializable Transactionscore5m842Live Video Delivery At The Edgecore6m843The Lock Free Hash Mapcore6m844The Read Copy Update RCUcore6m845Egalitarian Paxoscore6m846BGP Routing Basicscore5m847Semaphore Based Resource Poolscore5m848Database Migrations Zero Downtimecore5m849Hazard Pointerscore6m850Wait Free Algorithmscore6m851Certificate Revocation With CRL And OCSPadvanced5m852NAT Traversal With STUN And TURNadvanced6m853Longest Prefix Match Routingadvanced5m854Link State Routing With OSPFadvanced5m855SYN Flood And SYN Cookiesadvanced5m856Explicit Congestion Notificationadvanced5m857TCP Selective Acknowledgmentsadvanced5m858TCP Retransmission and Timeoutadvanced5m859Time Series Databasesadvanced6m860The Leader Latch Patternadvanced5m861Range Requests and Resumable Downloadsadvanced5m862The CDN Edge Cache Hitadvanced5m863Retries and Outlier Detection in a Meshadvanced5m864The Linearizability Checkeradvanced5m865The Context Switch Costadvanced5m866The Lock Free Stack Treiberadvanced5m867The Circuit Breaker Tuningadvanced5m868Port Scanning Detectionadvanced5m869TCP Window Scalingadvanced5m870Deadlock Detectionadvanced5m871The Read Write Lock Fairnessadvanced5m872Hash Index Limitationsadvanced5m873The Read Path and Write Pathadvanced5m874JSON Columns and Indexingadvanced4m875Geo DNS Routingadvanced5m876The Outbox Pattern for Reliable Eventsadvanced6m877The Visibility Mapadvanced5m878Edge Computing And Points Of Presenceadvanced5m879Avoiding The SELECT Star Anti Patternadvanced4m880The Load Balancer Health Checkadvanced5m881CORS Simple vs Preflightadvanced6m882The Secondary Index Lookupsadvanced5m883The Bastion Host And Jump Boxadvanced5m884Adaptive Bitrate At The Edgeadvanced6m885AMQP Messagingadvanced6m886gRPC Streamingadvanced5m887Denormalization for Read Performanceadvanced4m888Stamped Lock Optimistic Readadvanced5m889The Bitmap Indexadvanced5m890The Actor Isolation Guaranteeadvanced5m891The Multi Model Databaseadvanced5m892The Fork Join Overheadadvanced5m893The Embarrassingly Parallel Problemadvanced4m894The Scheduler and Thread Hoppingadvanced6m895Redis Pipeliningadvanced5m896The Thread Affinity and Pinningadvanced5m897The Transit Gatewayadvanced6m898The Connection and Process Modeladvanced5m899The Connection Reset Causesadvanced6m900The Adaptive Concurrency Limitadvanced6m901The gRPC Load Balancingadvanced5m902Reactive Functional Streamsadvanced6m903Vector Databasesadvanced6m904IP Multicastadvanced5m905Geospatial Indexesadvanced5m906Priority Inversionadvanced5m907Read Repair and Anti Entropyadvanced5m908The Doublewrite Bufferadvanced5m909Backpressure In Reactive Streamsadvanced6m910The Proxy Protocol For Client IPadvanced4m911Keyset Paginationadvanced5m912Logical Clocksadvanced6m913WebSocket Subprotocolsadvanced5m914The Write Skew Anomalyadvanced5m915The False Sharing Cache Lineadvanced5m916Lock Free Stacks and Queuesadvanced5m917Denormalization Tradeoffs Revisitedadvanced5m918The TCP versus HTTP Load Balanceradvanced5m919The HTTP2 Stream and Frameadvanced6m920The Lateral Joinadvanced5m921The Relaxed Memory Orderingadvanced5m922The Unisex Bathroom Problemadvanced6m923Certificate Revocation and OCSPadvanced6m924The Write Amplificationadvanced5m925The Head of Line Blocking in TCPadvanced6m926Data Race vs Race Conditionadvanced5m927The Time Series Collectionsadvanced6m928Zero Copy Techniquesadvanced5m929The Read Replica Routingadvanced6m930Hardware Transactional Memoryadvanced5m931SIMD Vectorization in Depthadvanced6m932Rollback Planningadvanced6m933Bitmap Index Deep Diveadvanced6m934Hybrid Logical Clocksadvanced6m935SQL vs NoSQLadvanced6m936Memory Visibility and Happens Beforeadvanced6m937Layer 4 versus Layer 7 Load Balancingadvanced5m938Protocol Buffersadvanced5m939Lock Free Data Structuresadvanced6m940The Query Optimizer Cost Modeladvanced5m941Recursive CTEsadvanced5m942Certificate Transparencyadvanced5m943Leaderless Quorum Reads and Writesadvanced6m944Parameter Sniffingadvanced6m945Virtual Threads And Green Threadsadvanced6m946The Bufferbloat Problemadvanced5m947Connection Keep Alive and Poolingadvanced5m948The Temporal Tableadvanced6m949Anycast for DNSadvanced5m950The Timeout And Cancellation Propagationadvanced6m951Single Table Design in DynamoDBadvanced6m952The Two Phase Commit Failure Modesadvanced5m953HTTP3 over QUIC Revisitedadvanced6m954Blue Green Database Cutoveradvanced6m955Spin Then Block Strategyadvanced5m956The Gin and Gist Indexesadvanced6m957The Cigarette Smokers Problemadvanced6m958The Double Write Bufferadvanced5m959CRDT Counters and Setsadvanced6m960The Aggregate Window Framesadvanced6m961The Timeout and Retry Combinatorsadvanced6m962The Multiplexing Benefitadvanced6m963Distributed Global Secondary Indexesadvanced6m964The Lock Free vs Wait Freeadvanced5m965Multi Tenant Schema Designadvanced6m966The Convoy Effectadvanced5m967Parallel Query Executionadvanced5m968Connection Handling at Scale the c10k Problemadvanced5m969Connection Pooling With Pgbounceradvanced6m970The MessagePack and Avroadvanced5m971Parallel Collectionsadvanced5m972Distributed Aggregationadvanced6m973Cassandra Compaction Strategiesadvanced6m974Parallel Graph Coloringadvanced6m975Serializable Isolation Distributedadvanced6m976The CPU Pinning And Isolationadvanced6m977Image Transformation At The Edgeadvanced6m978The ABA Problem And Solutionsadvanced6m979Raft Membership Changesadvanced6m980The Gaps and Islands Problemadvanced6m981The Fractal Tree Indexadvanced5m982Global Server Load Balancing, Deepadvanced6m983Membership with SWIMadvanced6m984Padding To Avoid Contentionadvanced5m985The Michael Scott Queueadvanced6m986The GROUPING SETS ROLLUP and CUBEadvanced6m987The Relaxed Atomics Deep Diveadvanced6m988Query Plan Cardinality Estimationadvanced6m989The Quorum Intersectionadvanced6m990The Gossip Protocol for Membershipadvanced6m991Read Replica Lag Handlingadvanced5m992Shared Array Buffer And Atomicsadvanced6m993Fencing Tokens Revisitedadvanced6m994Failover and Promotionadvanced5m995When Not to Indexadvanced6m996Testing with Controlled Schedulingadvanced5m997Cache as a Database Antipatternadvanced5m998The Granularity Of Tasksadvanced5m999The Synchronization Costadvanced5m1000Query Rewrite Rulesadvanced5m1001The NUMA Architecture Effectsadvanced5m1002Redis Lua Scriptingadvanced5m1003The Structured Concurrency Revisitedadvanced5m1004The Private Link and Endpointsadvanced6m1005The TLS Handshake Debuggingadvanced6m1006The Atlas Searchadvanced6m1007Async File IOadvanced5m1008The REST vs gRPC vs GraphQLadvanced6m1009Microsegmentationadvanced5m1010Dataflow Graph Executionadvanced6m1011The Latency Versus Throughput Schedulingadvanced6m1012Direct IO vs Page Cacheadvanced5m1013The Volatile Keyword Misconceptionsadvanced5m1014Graceful Shutdown Of Workersadvanced6m1015The Hazard Pointer Reclamationadvanced5m1016The ABA Problem Revisitedadvanced5m1017WebRTC Data Channelsadvanced6m1018The Fences and Barriers Deep Diveadvanced6m1019The Write Ahead Logadvanced6m1020Latency versus Throughputadvanced5m1021Head of Line Blockingadvanced5m1022The ABA Problemadvanced5m1023DDoS Mitigation Strategiesadvanced5m1024Gap Locks and Phantom Preventionadvanced5m1025Autovacuum and Table Bloatadvanced5m1026Deadlock Prevention Strategiesadvanced6m1027Retry Budgets and Deadlinesadvanced5m1028Vector Clocks for Conflict Detectionadvanced6m1029Snapshot Isolation Internalsadvanced6m1030The Disruptor Ring Bufferadvanced6m1031Zero Trust Networkingadvanced5m1032Query Plan Reading Basicsadvanced6m1033Leader Election With Heartbeatsadvanced6m1034Serializable Snapshot Isolationadvanced6m1035Multi Tenancy Data Modelsadvanced6m1036Query Timeout and Cancellationadvanced5m1037Global Server Load Balancingadvanced5m1038The Channel And Select Patternadvanced6m1039The Percolator Style Transactionsadvanced6m1040The Split Brain Resolveradvanced6m1041Head of Line Blocking Solvedadvanced6m1042The Disaster Recovery Drilladvanced6m1043The Futex Syscall Ideaadvanced5m1044HTTP2 Header Compression with HPACKadvanced6m1045The Building H2O Problemadvanced6m1046The Column Oriented Storageadvanced5m1047Operational Transform Basicsadvanced6m1048The Null Handling in SQLadvanced6m1049The Bulkhead with Thread Poolsadvanced6m1050The Compression on the Wireadvanced6m1051Active Active Replicationadvanced6m1052Redis as a Rate Limiteradvanced5m1053The Work Stealing Scheduler Revisitedadvanced5m1054The False Sharing Impactadvanced5m1055Replication Stream Internalsadvanced5m1056The Elimination Backoff Stackadvanced5m1057Json And Jsonbadvanced6m1058The Saturation and Tail Latencyadvanced6m1059The API Contract First Designadvanced6m1060The Online DDL In MySQLadvanced6m1061Dataflow Programmingadvanced6m1062Bloom Filters in Analyticsadvanced6m1063Three Phase Commitadvanced5m1064Cassandra Read Repairadvanced6m1065Actor Supervision Treesadvanced6m1066Online Schema Change Distributedadvanced6m1067Bot Management At The Edgeadvanced6m1068Large Table Migrationadvanced6m1069The LATERAL Join Deep Diveadvanced6m1070Buffer Pool Eviction Deepadvanced5m1071Anycast Load Balancingadvanced6m1072False Sharingadvanced5m1073The Sequence Lock Seqlockadvanced5m1074Event Driven Server Designadvanced6m1075The Real Time Schedulingadvanced6m1076Byzantine Paxosadvanced6m1077The Store Buffer Forwarding Deep Diveadvanced6m1078The Atomic Compare and Swap Hardwareadvanced5m1079The Transactions in Document DBadvanced6m1080Read Copy Updateadvanced6m1081The Circuit Breaker in Networkingadvanced5m1082Partition Tolerance And Split Brainadvanced6m1083The WebRTC Peer Connectionadvanced6m1084Isolation In Distributed Databasesadvanced6m1085The Memory Ordering Acquire Releaseadvanced6m1086The Work Queue And Dispatcheradvanced6m1087Conflict Resolution with Vector Clocksadvanced6m1088Epoch Based Reclamationadvanced5m1089The Edge Proxy and WAFadvanced5m1090Structured Concurrency Scopesadvanced6m1091The Quorum Based Decisionadvanced6m1092Maximum Transmission Unit Discoveryadvanced6m1093The Property Based Concurrency Testadvanced5m1094NewSQL Distributed SQLadvanced6m1095Vectorized Executionadvanced5m1096The Distributed Transaction Coordinatoradvanced6m1097Leaderless Replication Writesadvanced6m1098The Memory Reclamation Problemadvanced6m1099The BGP and Direct Connectadvanced6m1100Temporal And Bitemporal Dataadvanced6m1101The MTU and Fragmentation Issuesadvanced6m1102Extensions And Postgisadvanced6m1103Late Materializationadvanced6m1104Cassandra Lightweight Transactionsadvanced6m1105The Gang Schedulingadvanced5m1106Memory Ordering For Lock Freeadvanced7m1107The Data Race Undefined Behavioradvanced6m1108Direct Server Returnadvanced5m1109IP Addressing and Subnetsadvanced6m1110Sharding Rebalancingadvanced5m1111The Priority Inheritance Protocoladvanced5m1112The Load Linked Store Conditionaladvanced5m1113The TLS Improvements in Version 1.3advanced6m1114The Circuit Breaker for Asyncadvanced6m1115The Latency Budgets in Designadvanced6m1116Cell Based Architectureadvanced6m1117The Flat Combiningadvanced5m1118Multi Region Writesadvanced6m1119Geo Routing And Traffic Steeringadvanced6m1120Foreign Key Migration Challengesadvanced6m1121Flexible Paxosadvanced6m1122WebTransport Overviewadvanced6m1123TrueTime and Clock Boundsadvanced6m1124Optimistic vs Pessimistic Lockingadvanced6m1125Memory Barriers and Fencesadvanced6m1126Contention and Scalabilityadvanced6m1127The Deadline Propagationadvanced6m1128The Calvin Deterministic Approachadvanced6m1129The Vector Clock Comparisonadvanced6m1130HTTP3 and QUIC Streamsadvanced6m1131The Consensus Latency Costadvanced6m1132The Lock Free Retry Loopadvanced6m1133The Coordinated Omissionadvanced6m1134Cost Based Optimization in Warehousesadvanced6m1135Exactly Once Processingadvanced6m1136PBFT Three Phase Protocoladvanced7m1137The Saga Orchestration Concurrencyadvanced6m1138The Concurrent Rate Limiteradvanced6m1139The Egress Cost Optimizationadvanced6m1140The Software Transactional Memoryadvanced6m1141Universal Constructionadvanced6m

Practice · 81 problems

⚔️Recent Counter1050⚔️Data Stream Consecutive1050⚔️Min Stack1100⚔️Min Stack with getMin1100⚔️Most Recently Used Queue1100⚔️Design HashSet1150⚔️Logger Rate Limiter1150⚔️Ordered Stream1150⚔️Stack Using Two Queues1150⚔️Design Recent Counter1150⚔️Design Tic-Tac-Toe1180⚔️Queue Using Stacks1200⚔️Stack Using Queues1200⚔️Design Logger Rate Limiter1200⚔️Design Circular Queue1300⚔️Design HashMap1300⚔️Design a Leaderboard1300⚔️Chained Bucket Map1300⚔️Design an Ordered Stream1320⚔️Design File System1320⚔️Moving Average from Data Stream1350⚔️Two Sum Data Structure1350⚔️Underground Travel System1350⚔️Stack with Increment1350

+ 57 more in the arena