Lazy Loading with loadComponent and loadChildren
Explain how lazy loading defers a feature's code until its route is visited, reducing initial bundle size.
Every eagerly imported component, service, and module adds to the JavaScript the browser must download, parse, and execute before the app becomes interactive — and most users of any given feature-rich application only ever visit a fraction of its total routes in a single session. Lazy loading defers a route's code until the moment the user actually navigates to it, which is one of the highest-leverage, lowest-effort performance techniques available in Angular, and a near-guaranteed interview question in any performance-focused discussion.
It's like a streaming service that doesn't download an entire TV series to your device up front — it fetches each episode only when you actually press play on it, saving bandwidth for episodes you might never watch.