Event Bubbling and Capturing
The two phases an event travels through the DOM tree — capturing down from the root, then bubbling back up from the target — and how to hook into either.
When a DOM event fires — a click, a keypress, an input change — it doesn't just happen at the exact element it originated on; it travels through the DOM tree in a well-defined path with three phases, and understanding this path is essential for correctly attaching listeners, especially in nested UI structures. This is a heavily tested interview topic because it directly explains both a common source of bugs and a widely-used optimization pattern (event delegation).
Event bubbling is like dropping a pebble into a pond at a specific point (the target) and watching ripples travel outward (bubble up) past every ring (ancestor element) around it — anyone stationed at any ring who's listening for ripples will feel it pass by, in order, from the center outward.