JavaScript · Event Loop · Tech Lead · Architecture
As a lead, how would you set a scheduling strategy for expensive client-side work (hydration, search indexing, analytics) without harming INP?
Short Interview Answer
Prioritize user input, chunk work, use priority schedulers/idle time, defer non-critical tasks, and budget long tasks with measurement gates in CI.
Detailed Explanation
Define task priorities: blocking (input handlers), high (visible UI updates), low (analytics, prefetch). Use `scheduler.postTask` / `requestIdleCallback` (with timeouts) / worker offloading for CPU-heavy jobs. Chunk hydration and list rendering. Abort low-priority work on route change. Establish Long Task and INP budgets in RUM; fail CI on regressions for critical paths. Educate teams that microtask-heavy libraries need yielding. Prefer web workers for parse/index; keep main thread for DOM. Document which features may degrade under load.
Interview Tip
Tie strategy to INP/RUM — product-minded leadership.
Common Mistake
Shipping eager analytics/parsers on the main thread at startup.