Pick a focused question that fits your time, stack, and interview goal.
How much time do you have?
Show one-drill sessions you can finish now.
1225 drills fit a 20-minute session. Closest fits first.
Page 19 of 52
Compares joining an existing transaction, suspending it for an independent transaction, and using a savepoint-backed nested scope.
Breaks results down by meaningful user, task, risk, language, input, and system dimensions instead of trusting one average.
Explains proxy interception, target delegation, JDK versus class proxies, method limits, and the self-invocation boundary.
Explains object identity, tracked changes, flush ordering, and the limits of session-level caching.
Uses Django cache configuration to control freshness, namespace sharing, and safe cache migrations.
Explains cheap JVM-scheduled threads, blocking-I/O throughput, carrier pinning, ThreadLocal cost, and unchanged downstream limits.
Explains reverse-order fixture cleanup and designs teardown that remains safe when setup or tests fail.
Chooses template-driven, typed reactive, or experimental Signal Forms based on workflow complexity and stability needs.
Chooses the smallest DRF view abstraction that expresses an endpoint clearly.
Chooses tag and path invalidation based on data identity, consistency requirements, and affected route surfaces.
Chooses runtime from dependency, data locality, feature, latency, and deployment constraints instead of fashion.
Builds stable Micrometer dimensions that answer operational questions without unbounded time series and cost.
Configures finite origins, methods, headers, credentials, and preflight behavior while separating browser enforcement from authorization.
Designs executor ownership, pool size, queue capacity, rejection, shutdown, task context, and observability around workload behavior.
Traces the injection point, candidate type, registration path, conditions, profiles, generics, qualifiers, and package boundaries.
Finds repeated association queries with SQL evidence and chooses a bounded fetch or projection without creating a cartesian result.
Classifies mapping, conversion, binding, validation, multipart, CORS, filter, and negotiation failures before changing controller code.
Locates pre-handler failures across proxies, routing, parsing, validation, dependencies, and middleware using structured evidence.
Distinguishes missing-class and incompatible-class failures, then traces them to the actual packaged runtime dependency graph.
Prefers compatible evolution, uses Spring version resolution when a breaking contract requires it, and operates deprecation deliberately.
Maps a bounded public list contract to Spring arguments without exposing persistence property names or unstable ordering.
Treats a bean cycle as a design signal, explains constructor failure, and uses delayed resolution only for genuine lifecycle boundaries.
Maps known framework and application failures to RFC 9457 responses while preserving stable codes, safe detail, and correlation.
Explains a practical approach to diagnosing failed builds, tests, package restore, environment issues, or flaky checks.