Backend engineering knowledge base

Build the mental models
that make systems click.

A curated library of practical, interview-ready guides for distributed systems, domain design, data, and event-driven architecture.

Explore the library
33deep guides
14hof reading
7topic areas
33 guides
Complete library
Platform & APIs

API Design Best Practices

A reference for interviews and real-world design. Every practice below is paired with the reason it exists, because in an interview the "why" is what earns points, and in production the "why" is what tells you when to break the rule.…

Data Structures & Algorithms

Binary Search, Monotonic Stack/Deque and Intervals (Java + Kotlin)

What this is: the three techniques that win by exploiting order instead of re-scanning. The centrepiece is binary-search-on-the-answer - the move that turns "minimize the maximum" into a log-factor problem and reads as senior in the room.…

Event-Driven Systems

Change Data Capture (CDC)

CDC is the practice of capturing every row-level change committed to a database and emitting it as an event , in commit order, without the application having to publish anything.…

Platform & APIs

Circuit Breaker & Bulkhead

Circuit Breaker A circuit breaker wraps calls to something that can fail and tracks failure rate.…

JVM & Data

Concurrency & Thread Safety in Java and Kotlin

What this is: a deep, practical reference for reasoning about, writing, and defending concurrent code on the JVM …

Event-Driven Systems

CQRS

CQRS (Command Query Responsibility Segregation): use a different model to change data than the one you use to read it , instead of one model that does both.…

Engineering

Data Lakes, Data Warehouses & the Lakehouse

Databricks/Delta, Snowflake, BigQuery, Redshift — with practical Kotlin + Java + Spring Boot you can walk through in an interview.…

JVM & Data

Data Structures in Java & Kotlin

What this is: not a leetcode refresher. This is the data-structures knowledge a Staff+ engineer is actually tested on …

Foundations

Database Sharding (with PostgreSQL)

Horizontal partitioning of one dataset across many independent database servers: what it is, when it's the right call, how PostgreSQL does it (native partitioning, postgres fdw , Citus, Aurora Limitless), and how to actu…

Foundations

Databases & Data Storage for System Design

What this is: the storage half of a system-design interview, at the depth a staff engineer is expected to reason at.…

Domain Design

DDD Strategic Design & Bounded Contexts

What this is: a senior/staff-level guide to the most important part of Domain-Driven Design …

Foundations

Distributed Systems

The umbrella guide. This is the foundational layer under every pattern guide in this folder (Kafka/EDA, saga, CQRS, outbox, CDC, event sourcing, circuit-breaker/bulkhead, DDD, databases).…

Domain Design

Domain-Driven Design: Invariants & Core Concepts

What this is: a deep, interview-ready tour of DDD that leads with invariants (what they really are, how you enforce them, and why they secretly decide your whole design) and then walks the full strategic + tactical map …

Data Structures & Algorithms

Dynamic Programming

The most-feared topic, made mechanical. DP is just recursion whose subproblems overlap, so you compute each once and reuse it …

Event-Driven Systems

EDA vs Event Sourcing

Disentangles Event-Driven Architecture (a communication pattern) from Event Sourcing (a persistence pattern) …

Event-Driven Systems

Event Broker vs. Message Bus

What this is: a precise, opinionated map of two terms that get used interchangeably and shouldn't be.…

Event-Driven Systems

Event Sourcing

Event Sourcing (ES): don't store the current state of a thing and mutate it in place — store the full, append-only sequence of events that happened to it , and derive current state by replaying (folding) those events.…

Event-Driven Systems

Inbox & Outbox Patterns

The two patterns that make event-driven systems correct rather than merely functional. Outbox is the write side (publish an event atomically with a state change).…

JVM & Data

jOOQ in Java & Kotlin

What this is: a deep, practical reference for reasoning about, using, and defending jOOQ — the "typesafe SQL" library …

Event-Driven Systems

Kafka & Event-Driven Architecture

A reference for system-design and deep-dive interviews. Organized as: mental model → best practices → EDA patterns → failure modes and fixes → interview framing → config cheat-sheet.…

Engineering

Locking

What this is: a deep, practical reference for every kind of locking a backend engineer actually reaches for …

Engineering

Memory Leaks in Java and Kotlin

What this is: a deep, practical reference for reasoning about, finding, and preventing memory leaks on the JVM …

Data Structures & Algorithms

Recursion and Backtracking (Java + Kotlin)

Backtracking is exhaustive DFS over the tree of partial candidates: at each node you make one choice, recurse, then undo it …

Event-Driven Systems

Schema Evolution in EDA & Event Sourcing

How to change the shape of your events over years of production without a synchronized deploy …

Event-Driven Systems

Server-Sent Events (SSE) & WebSocket

What this is: a practical, interview-ready deep dive into the two mainstream ways to make an HTTP server push to a client …

Engineering

Spring & Spring Boot

What this is: the framework itself as the topic. Every other guide in this folder uses Spring; this one explains how Spring actually works, deeply enough to answer "why" questions in a Staff+ loop, with the trade-offs an…

Data Structures & Algorithms

Staff+ Practical Coding and Object-Oriented Design (Java + Kotlin + Spring)

What this is: the coding round for senior/staff backend engineers is rarely a Two-Sum puzzle anymore.…

Engineering

STAR Interview Prep

First-round dossier. STAR answers for every achievement, plus the tech-follow-up drills, a behavioral-question → story map, an opening pitch, and questions to ask them.…

Data Structures & Algorithms

The Coding-Interview Playbook - How to Pass the Technical Round (Staff+ oriented)

What this is: the meta-guide for the other six. Not "how to invert a binary tree" - how to walk into a 45-minute coding round, read the problem, pick the right pattern, write clean code while talking, test it, and come a…

Event-Driven Systems

The Saga Pattern

Distributed transactions without a distributed lock. A reference for system-design and deep-dive interviews.…

Platform & APIs

Trace Context & Context Propagation in Distributed Systems

What this is: a deep, practical guide to what trace context actually is, the wire formats that carry it, how it flows across every hop (HTTP, gRPC, Kafka, async/reactive), and how to reason about it in a system-design interview.…

Data Structures & Algorithms

Trees and Graphs

Almost every tree or graph problem is one traversal (DFS or BFS) plus a single decision repeated at every node…

Data Structures & Algorithms

Two Pointers, Sliding Window and Prefix Sums (Java + Kotlin)

The linear-scan pattern family: how to coordinate two indices over a sequence so you never re-examine a decision already made, collapsing a nested-loop O(n²) into a single O(n) pass.…