Start here. This is the direct spoken answer to practice first.
Why this question matters
Explain database connection pool exhaustion with practical .NET data-access examples and production trade-offs. It matters in real backend work because query shape, indexes, transactions, locking, and data volume can turn harmless-looking code into a production bottleneck. The practical angle is database connection pool exhaustion, EF Core/SQL behavior, API boundaries, production risks, and practical debugging or design judgment, tied to a concrete production decision.
I confirm pool exhaustion from connection-open latency, timeout errors, active connection metrics, and the database view of sessions. Then I look for leaked connections, long transactions, slow queries, and sudden concurrency growth. EF Core normally opens and closes connections around operations, so manually held connections, streaming readers, and uncompleted transactions deserve close inspection.