Code Room
On-callHard
Question
v33 of a Java service deploys at 08:30. Under normal load it works, but during the morning traffic ramp at 09:15 it locks up: requests hang indefinitely, the service's health check still returns 200, but no requests complete and CPU drops to near zero. A thread dump shows all threads in a fixed-size thread pool BLOCKED, and many are waiting to submit work to that same pool. v33 introduced a pattern where a request task, running on the pool, synchronously submits a sub-task to the same bounded pool and waits for its result. Triage and mitigate.
What a strong answer looks like
Stop the bleeding first (mitigate), then form hypotheses from real signals. Separate root cause from symptom, communicate status as you go, and close with what prevents a repeat.
Learn the concepts
Loading whiteboard…
Run or narrate your approach, then ask the coach.