Skip to content
JavaAgentic

Type at least two characters. Try “RAG”, “pgvector” or “tool calling”.

Interview Prep · Phase 6

Production Load & Real Incidents

Nine outages, each told as it actually unfolds: the symptom on the dashboard, the commands that narrow it down, the root cause, the fix, and the guardrail that stops it recurring. This is the phase that gives you stories to tell.

Advanced6 min read

Debugging a 100% CPU Spike in Production

The exact command sequence that turns a pinned CPU into a line number: top -H, converting the thread id to hex, matching nid in a thread dump, and the four causes it usually turns out to be.

Read tutorial
Advanced7 min read

HikariCP Connection-Pool Exhaustion

The incident where every request times out waiting for a connection: how to read the HikariCP exception, find the leak with leakDetectionThreshold, and why a bigger pool usually makes it worse.

Read tutorial
Advanced6 min read

Thread-Pool Starvation and Queue Collapse

When every worker thread is blocked and the queue grows without limit: reading it from a thread dump, why an unbounded queue turns a slowdown into an outage, and isolating with bulkheads.

Read tutorial
Intermediate7 min read

The N+1 Query and the Endpoint That Got Slow

Why a lazy association turns one request into a thousand queries, how to detect N+1 in tests rather than production, JOIN FETCH versus EntityGraph, and the MultipleBagFetch and pagination traps.

Read tutorial
Advanced6 min read

Latency Spikes: Proving It Was (or Was Not) GC

A method for attributing p99 latency: correlating GC logs with request timings, why safepoint pauses hide outside GC, coordinated omission in load tests, and the causes that are not GC at all.

Read tutorial
Advanced7 min read

Cascading Failure: Timeouts, Retries and Backpressure

How one slow dependency takes down an unrelated service, why retries amplify an outage, setting a timeout budget across a call chain, and the four defences that contain the blast radius.

Read tutorial
Advanced7 min read

Cache Stampede, Hot Keys and Stale Reads

What happens when a popular cache entry expires under load, single-flight loading and probabilistic early expiry, sharding a hot key across a Redis cluster, and getting invalidation right.

Read tutorial
Intermediate7 min read

Capacity Planning: Finding the Knee Before Production Does

Finding the point where latency turns vertical, applying Little law to size pools and predict queueing, choosing headroom for failover and spikes, and running load tests that produce honest numbers.

Read tutorial