Angular interviews cover dependency injection, RxJS, change detection, and TypeScript — the framework is opinionated, so questions test whether you understand its machinery. Below are the most common with model answers. Middle: deeper understanding, optimization, and real-world situations.
Try it — no account needed
Preparing your question…
Topics to prepare
✓Dependency Injection
✓RxJS and Observables
✓Change Detection
✓Modules and components
✓Reactive forms
✓TypeScript
6 Middle-level questions with answers
1
How does change detection work, and what does OnPush change?
Answer
By default Angular checks every component in the tree after anything that might have changed state. OnPush narrows it: the component is checked only when an input reference changes, an event fires inside it, or an observable it uses via async emits. It turns a whole-tree check into a targeted one, which is the single largest performance lever in Angular.
2
What does Zone.js do and why is Angular moving away from it?
Answer
It patches browser async APIs so Angular knows when something might have changed and can run change detection without you telling it. The cost is that it patches everything and triggers checks for events that changed nothing. Signals let a component know precisely what changed, which is why zoneless is the direction.
3
What is a signal and how does it differ from an observable?
Answer
A signal holds a current value and notifies dependents synchronously when it changes — it is state. An observable is a stream over time and models events. Signals suit component state and computed values; observables still suit HTTP, websockets and anything with operators. They are complementary rather than a replacement.
4
What is the difference between `switchMap`, `mergeMap` and `concatMap`?
Answer
switchMap cancels the previous inner subscription when a new value arrives — correct for a typeahead, wrong for a save. mergeMap runs them all concurrently in whatever order they finish. concatMap queues them and preserves order. Choosing the wrong one is how a search shows stale results or two saves land out of order.
5
What does an interceptor do and what belongs in one?
Answer
It sits between the app and HttpClient and can modify a request or a response. Auth headers, a correlation id, a global retry policy and turning a 401 into a redirect all belong there, because they apply to every request and duplicating them per service is how one gets forgotten. Business logic does not belong there.
6
How do you lazy-load a route and why does it matter?
Answer
With loadComponent or loadChildren, which splits that route into its own chunk fetched on navigation. It matters because the initial bundle decides how long the first screen takes, and an admin section nobody visits should not be in it. The check that keeps it honest is looking at the built chunk sizes rather than assuming.
🦎
Reading answers is not enough
In a real interview you speak under pressure. Cam asks these same questions, scores every answer, and shows exactly what to fix.