Back to Tech Interviews

Angular Interview Master

Curated 200+ Angular interview questions covering Angular 17/18 Signals, RxJS, Change Detection, Dependency Injection, and Routing.

Total: 200 QuestionsLearned: 0 / 200 (0%)
Difficulty Filters

Tools & Options
Showing 200 of 200 questions
Beginner
What is Angular?

Angular is a platform and framework for building single-page client applications using HTML and TypeScript. It is developed and maintained by Google and provides a set of tools for building scalable and high-performance web applications.

Beginner
What are the key features of Angular?

Key features include Component-based architecture, Two-way data binding, Dependency Injection, Templates, Directives, Pipes, Routing, and RxJS integration.

Beginner
What is TypeScript?

TypeScript is a superset of JavaScript that adds static typing. Angular is built with TypeScript, which provides better tooling, refactoring capabilities, and helps catch errors at compile-time.

Beginner
What is a Component in Angular?
Beginner
What is a Template?
Beginner
What is Data Binding?
Beginner
Difference between Angular and AngularJS?
Beginner
What are Directives?
Beginner
What is an Angular Module (@NgModule)?
Beginner
What is Dependency Injection?
Beginner
What are Pipes in Angular?
Beginner
What is the purpose of the 'async' pipe?
Beginner
What is Interpolation?
Beginner
What is Property Binding?
Beginner
What is Event Binding?
Beginner
What is Two-way Data Binding?
Beginner
What is a Service in Angular?
Beginner
What is the @Injectable() decorator?
Beginner
Explain Angular Life Cycle Hooks.
Beginner
What is ngOnInit()?
Beginner
What is ngOnDestroy()?
Beginner
What is the Angular CLI?
Beginner
How do you create a component using CLI?
Beginner
What is a Single Page Application (SPA)?
Beginner
What is the purpose of main.ts?
Beginner
What is the purpose of polyfills.ts?
Beginner
What is a Selector?
Beginner
What is bootstrapping in Angular?
Beginner
What is @Input() decorator?
Beginner
What is @Output() decorator?
Beginner
What is EventEmitter?
Beginner
What are Structural Directives?
Beginner
What are Attribute Directives?
Beginner
Difference between *ngIf and hidden property?
Beginner
What is the purpose of index.html?
Beginner
What is package.json?
Beginner
What is angular.json?
Beginner
What is a constructor?
Beginner
Difference between constructor and ngOnInit?
Beginner
How to perform an HTTP request in Angular?
Beginner
What is an Observable?
Beginner
What is the subscribe() method?
Beginner
How to handle errors in HTTP requests?
Beginner
What is a Promise?
Beginner
Observable vs Promise?
Beginner
What is Routing in Angular?
Beginner
What is router-outlet?
Beginner
What is routerLink?
Beginner
What is an Interceptor?
Beginner
What is ViewEncapsulation?
Experience
Difference between Reactive Forms and Template-driven Forms?
Experience
What is the purpose of FormBuilder?
Experience
What is FormArray?
Experience
Explain Angular Dependency Injection hierarchy.
Experience
What are Route Guards?
Experience
What is Lazy Loading?
Experience
How to implement Lazy Loading?
Experience
What is the purpose of Resolve guard?
Experience
What is NgZone and why is it used?
Experience
Explain Change Detection strategies.
Experience
How does OnPush strategy work?
Experience
What is the purpose of ChangeDetectorRef?
Experience
What is Subject in RxJS?
Experience
Difference between Subject and BehaviorSubject?
Experience
What is ReplaySubject?
Experience
Explain Content Projection.
Experience
What is @ViewChild and @ViewChildren?
Experience
What is @ContentChild and @ContentChildren?
Experience
What is an Angular Library?
Experience
How to share data between components?
Experience
What are Dynamic Components?
Experience
What is the purpose of 'trackBy' in *ngFor?
Experience
How to optimize Angular app bundle size?
Experience
What is AOT vs JIT compilation?
Experience
What is tree-shaking?
Experience
Explain Angular Signals (New in v16).
Experience
WritableSignal vs ComputedSignal?
Experience
What is effect() in Signals?
Experience
What are Standalone Components (v14+)?
Experience
How to bootstrap a Standalone Application?
Experience
What is ProvideHttpClient (Standalone)?
Experience
What is 'switchMap' vs 'mergeMap'?
Experience
What is 'exhaustMap'?
Experience
What is 'concatMap'?
Experience
Explain Custom Validators in Reactive Forms.
Experience
What is AsyncValidator?
Experience
What is the purpose of 'HostListener'?
Experience
What is 'HostBinding'?
Experience
What is an Angular Workspace?
Experience
How to use 'provide' in DI?
Experience
What is InjectionToken?
Experience
What is Multi-provider?
Experience
Explain 'Strict Template Checking'.
Experience
What is the 'Hydration' in Angular v16?
Experience
What is SSR (Angular Universal)?
Experience
How to handle memory leaks in Angular?
Experience
What is 'takeUntil' and why use it?
Experience
What is Angular DevTools?
Experience
Explain 'Schematics' in Angular CLI.
Experience
What is 'ng update'?
Advanced
Deep Dive: How does Zone.js work?
Advanced
Angular Architecture: Modular vs Standalone.
Advanced
State Management: Why NgRx?
Advanced
Explain 'Signals' vs 'RxJS' for Reactivity.
Advanced
What is 'Micro Frontends' in Angular?
Advanced
Module Federation: How to implement?
Advanced
How to implement Custom Pipes with DI?
Advanced
Performance: Preloading Strategies.
Advanced
Explain 'Deferred Loading' (@defer)?
Advanced
How to use @defer with 'on viewport'?
Advanced
What is 'Zone-less' Angular?
Advanced
Security: What is DomSanitizer?
Advanced
What is Cross-Site Request Forgery (CSRF) protection in Angular?
Advanced
Explain 'ViewContainerRef' for Dynamic UI.
Advanced
What is 'Renderer2' and why prefer it over direct DOM access?
Advanced
Web Workers in Angular: Why and How?
Advanced
Explain 'Interceptors' with Metadata.
Advanced
What is 'Route Reuse Strategy'?
Advanced
How to perform 'Manual Hydration'?
Advanced
Angular Testing: Spectator Library.
Advanced
Unit Testing: Component Harnesses.
Advanced
End-to-End Testing: Cypress vs Playwright.
Advanced
Explain 'InjectionContext' and 'runInInjectionContext'.
Advanced
What is 'Environment Decorator' (@Injectable({providedIn: 'root'}))?
Advanced
Explain 'Input Transforms' (v16.1).
Advanced
What is 'Self', 'SkipSelf', 'Optional', and 'Host'?
Advanced
Explain 'ForwardRef' in DI.
Advanced
How to handle 'Custom Elements' (Angular Elements)?
Advanced
Explain 'TemplateRef' vs 'ViewRef'.
Advanced
What is the 'ModuleID' in older versions?
Advanced
Explain 'NgPlural' Directive.
Advanced
Performance: 'ChangeDetectionStrategy.OnPush' deep dive.
Advanced
What is 'untracked' in Signals?
Advanced
Explain 'take (1)' vs 'first ()'.
Advanced
What is 'shareReplay' and its dangers?
Advanced
Explain 'Router Link Active' directive.
Advanced
What is 'Auxiliary Routes' (Named Outlets)?
Advanced
Explain 'Route Matchers'.
Advanced
Angular Security: Content Security Policy (CSP).
Advanced
Explain 'NgZone.run' vs 'NgZone.runOutsideAngular'.
Advanced
What is 'ModuleWithProviders'?
Advanced
Explain 'Embedded Views' vs 'Host Views'.
Advanced
How to handle 'Recursive Data' in templates?
Advanced
What is '@Attribute' decorator?
Advanced
Explain 'KeyValueDiffers' service.
Advanced
What is 'IterableDiffers'?
Advanced
Explain 'SecurityContext' in Sanitization.
Advanced
How to use 'provideAnimations'? (v15+)
Advanced
What is 'ApplicationRef'?
Advanced
Explain 'ComponentRef' instance properties.
Beginner
Implement a Writable Signal and Update it.
Beginner
Create a Computed Signal.
Experience
Fetch data using HttpClient and handle errors.
Beginner
Implement a Reactive Form with Validation.
Experience
Implement a simple Directive for Hover Effect.
Beginner
Create a Custom Pipe to Reverse String.
Experience
Use 'switchMap' for Search Logic.
Advanced
Dynamic Component Injection (v13+).
Experience
Implement a Route Guard (Functional).
Experience
Combine multiple Observables together.
Beginner
Implement a Debounce Search.
Beginner
Create a Singleton Service.
Experience
Handle Multiple Async Pipes.
Experience
Implement a custom form validator.
Beginner
Use trackBy in *ngFor.
Beginner
Navigate programmatically with Router.
Beginner
Capture Route Parameters.
Beginner
Create a behavior subject for state shared.
Experience
Use 'takeUntil' for cleanup.
Advanced
Lazy load a component manually.
Experience
Implement an HTTP Interceptor.
Experience
Convert Observable to Signal.
Experience
Convert Signal to Observable.
Beginner
Implement Signal effect.
Advanced
Global Error Handler.
Experience
Input Transform (Boolean).
Advanced
Signal equality function.
Experience
Signal 'update' with object mutate.
Beginner
Access @ViewChild DOM element.
Beginner
NgFor object properties.
Experience
Sort array using pipe.
Advanced
Signal based form binding.
Experience
Handle route change event.
Advanced
Custom structural directive.
Experience
Access Host element attributes.
Advanced
Implement infinite scroll logic.
Experience
Caching HTTP requests.
Experience
NgRx Action and Reducer.
Experience
NgRx Selector.
Beginner
Unit Test a Service.
Experience
Mock an HTTP call in tests.
Beginner
Test a component with @Input.
Beginner
Trigger click event in unit test.
Experience
Standalone route configuration.
Beginner
Environment variable access.
Experience
Dynamic Meta Tags.
Beginner
Update Title programmatically.
Beginner
Signal inside a Service.
Advanced
Recursive Route children.
Advanced
Conditional polyfill loading.

Technical Interview Mastery Blueprint

Proven methodologies and frameworks to succeed in technical and architecture rounds.

1. The Engineering STAR Technique

When responding to architectural or situational questions, structure your answer using Situation, Technical Constraint, Action, and Measurable Result. Rather than jumping straight to syntax, articulate the business problem, why certain patterns (e.g. caching, queuing, immutability) were selected over alternatives, and what latency or throughput improvements were achieved.

2. Defending Architectural Trade-Offs

Senior interviewers evaluate how you weigh trade-offs. Always explain why you chose an approach: e.g., memory overhead vs CPU cycle speed, consistency vs availability (CAP theorem), or normalized schemas vs denormalized fast reads. Stating the drawbacks of your own proposal demonstrates maturity and production experience.

3. Clean Code & Edge-Case Proactivity

In live-coding rounds, communicate your thinking aloud before typing. State edge cases explicitly: null or undefined inputs, extreme boundary values, concurrency races, and network timeouts. Writing modular, well-named functions with deterministic unit tests separates junior candidates from staff-level engineers.

4. Antipatterns to Avoid

Avoid reciting memorized definitions without practical context. Never dismiss non-functional requirements such as security (CSRF, injection, token rotation), observability (logging, metrics), and accessibility (ARIA, semantic standards). Always ask clarifying scope questions before writing complex implementations.

Continuous learning: Practice daily, mark completed questions as learned, and revisit difficult concepts.Explore All Interview Tracks →

Explore Related Tools

Hand-picked utilities and calculators related to this tool.

Related Tools