🧒 Explain like I'm 5
Each time a component re-renders, it takes a snapshot of the variables at that moment. If you set a timer (setInterval) in the old snapshot, that timer will keep referencing the old snapshot forever, even though the actual state has changed. It is "frozen" in the past. That is stale closure.
Interactive quiz
Check your understanding with an instant-feedback quick check.
Detailed notes
Senior-level deep dive: internals, pitfalls, and a self-interview ladder.
Practice with AI feedback
Answer out loud, get scored on correctness, depth, and clarity.