Code Room
On-callHardoc-g030
Subject Thread pool exhaustionLevel Senior–Staff~40 minCommon in Concurrency interviewsIndustries Technology, Software development

Question

A Java/Tomcat monolith starts returning 503s and 'connection refused' at the load balancer at 12:30. Tomcat's busy-thread count is pinned at the maxThreads of 200 and the accept queue is full. A thread dump shows ~190 threads in `WAITING` state, all blocked at the same point: they're inside the request-handling thread pool, having submitted a sub-task to the *same* thread pool and calling `Future.get()` waiting for it to complete. CPU is near idle. A deploy at 12:15 'parallelized the report-generation step using the shared executor.' Triage and explain the failure precisely.

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.

Diagram & narrate the incident
Loading whiteboard…
Run or narrate your approach, then ask the coach.