Random Interview Mode
Five questions, sampled across categories and difficulty. Click reroll for a new set. Simulates the surface area of a typical 60-minute round.
5 questions selected
How would you build concurrent progress bars for multiple tasks running in parallel?
Each task has its own progress (0–100). Track as `tasks: Task[]` with status (idle, running, done, error). Start all in parallel; update progress via callbacks or intervals; render a row per task with a progress bar. Cancel via AbortController. Cap concurrency with a scheduler if needed. Each progress bar memoized so unrelated updates don't re-render others.
Tell me about the most challenging project in your past experience and how you resolved the issues.
Pick a project with real technical and/or collaboration difficulty, use STAR, focus on YOUR specific contribution and decisions, be concrete about the challenges and how you resolved them, quantify the impact, and end with what you learned.
How would you build a stopwatch with start, pause, reset, and millisecond precision?
Track a startedAt timestamp + accumulated ms across pauses; compute display from Date.now(). Use requestAnimationFrame (or setInterval) just to trigger re-renders. Don't store ticks in state.
How would you create a React hook that syncs component state with localStorage or sessionStorage?
`useStorage(key, initial, storage)`: lazy init from storage (parse JSON, fallback to initial); useState pair; useEffect writes to storage when value changes; listen to `storage` event to sync across tabs; handle SSR (no `window` on server) by skipping storage on first render; handle parse errors and quota.
If checkout goes down during a high traffic sale, what do your first ten minutes look like?
Incident-response question. First: mitigate, don't debug — acknowledge, assess blast radius, communicate. Roll back / flip the feature flag to restore service FIRST, then root-cause. Show calm prioritization: stop revenue loss, keep stakeholders informed, only diagnose once users are unblocked.