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.
878 drills fit a 10-minute session. Closest fits first.
Page 32 of 37
Chooses an explicit lock only when timed, interruptible, conditional, or advanced acquisition behavior justifies manual lifecycle.
Chooses between blocking navigation for essential data and rendering a page-owned loading state.
Connects layouts and templates to navigation, state lifetime, Effects, and deliberate remounting in the App Router.
Chooses between synchronous UI state and asynchronous event streams without treating either model as a replacement for the other.
Uses task bounds and evaluation evidence to choose smaller models for lower latency, cost, capacity, privacy, or local execution.
Chooses among common Java map implementations by lookup behavior, iteration order, sorting, range operations, and key contracts.
Distinguishes one-way data, events, and deliberate two-way component contracts without hiding ownership.
Explains minimal APIs, endpoint groups, dependency injection, typed results, filters, and when they fit real services.
Chooses promise combinators by success criteria, failure semantics, cancellation needs, and the fate of losing operations.
Separates in-process decoupling from durable cross-process delivery and makes timing, failure, and transaction expectations explicit.
Chooses post-paint synchronization by default and reserves layout effects for pre-paint measurement or correction.
Uses examples to clarify ambiguous task behavior while accounting for token cost, bias, maintenance, and evaluation evidence.
Identifies useful memory and GC signals for alerting without overwhelming the team with noisy telemetry.
Contrasts runtime-checked array covariance with compile-time-safe generic invariance and explains why generic arrays are restricted.
Treats raw types as a legacy compatibility boundary that can introduce heap pollution and delayed runtime failures.
Explains interference, stateful lambdas, execution-order assumptions, safe collection, and visibility of unavoidable effects.
Covers the Large Object Heap, big buffers, fragmentation pressure, and practical ways to avoid loading too much at once.
Diagnoses shared mutable function defaults and explains safe initialization without turning the behavior into a superstition.
Connects probabilistic decoding and changing service conditions to output variation, reproducibility limits, and appropriate testing.
Explains fail-fast iteration, safe removal patterns, structural modification, and why the exception is not a concurrency guarantee.
Explains how middleware order affects authentication, authorization, error handling, routing, CORS, and response behavior.
Uses development-only repeated rendering, Effects, and ref callbacks to expose impurity and missing cleanup.
Connects modern template blocks and stable list identity to DOM reuse, component state, and rendering correctness.
Uses guards for navigation UX while keeping permissions and data enforcement on the trusted server.