How the Browser Works
From a URL to pixels - DNS, connection, parsing, the rendering pipeline
DOM Events
Capturing and bubbling, target vs currentTarget, delegation, listener options
requestAnimationFrame and requestIdleCallback
When rAF and idle callbacks run in a frame, scheduler.yield() and postTask, which one to use for animation, background work and long tasks
Intersection, Resize and Mutation Observers
IntersectionObserver, ResizeObserver and MutationObserver, when their callbacks run, lazy loading, infinite scroll and the ResizeObserver loop error
History API
pushState and replaceState, the popstate event, hash vs history routing, and the Navigation API
Web Components and Shadow DOM
Custom elements, Shadow DOM, templates and slots, what crosses the shadow boundary, Declarative Shadow DOM, forms, Web Components with frameworks
Web Workers
Dedicated and shared workers, postMessage and structured clone, transferable objects, SharedArrayBuffer, when a worker helps
Service Workers
Service worker as a network proxy, registration and scope, lifecycle and updates, caching strategies, offline and PWA