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.
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.…
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.…
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.…
Circuit Breaker & Bulkhead
Circuit Breaker A circuit breaker wraps calls to something that can fail and tracks failure rate.…
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 …
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.…
Data Lakes, Data Warehouses & the Lakehouse
Databricks/Delta, Snowflake, BigQuery, Redshift — with practical Kotlin + Java + Spring Boot you can walk through in an interview.…
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 …
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…
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.…
DDD Strategic Design & Bounded Contexts
What this is: a senior/staff-level guide to the most important part of Domain-Driven Design …
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-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 …
Dynamic Programming
The most-feared topic, made mechanical. DP is just recursion whose subproblems overlap, so you compute each once and reuse it …
EDA vs Event Sourcing
Disentangles Event-Driven Architecture (a communication pattern) from Event Sourcing (a persistence pattern) …
Event Broker vs. Message Bus
What this is: a precise, opinionated map of two terms that get used interchangeably and shouldn't be.…
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.…
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).…
jOOQ in Java & Kotlin
What this is: a deep, practical reference for reasoning about, using, and defending jOOQ — the "typesafe SQL" library …
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.…
Locking
What this is: a deep, practical reference for every kind of locking a backend engineer actually reaches for …
Memory Leaks in Java and Kotlin
What this is: a deep, practical reference for reasoning about, finding, and preventing memory leaks on the JVM …
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 …
Schema Evolution in EDA & Event Sourcing
How to change the shape of your events over years of production without a synchronized deploy …
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 …
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…
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.…
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.…
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…
The Saga Pattern
Distributed transactions without a distributed lock. A reference for system-design and deep-dive interviews.…
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.…
Trees and Graphs
Almost every tree or graph problem is one traversal (DFS or BFS) plus a single decision repeated at every node…
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.…