Skill Booster

Quick Reference for Interviews...

Top 100 Angular Interview Questions and Answers

Q1: What is Angular? basics

Angular Fundamentals

Angular is a TypeScript-based open-source framework for building dynamic web applications with a component-based architecture and powerful tooling.

Q2: What is a component? components

Angular Fundamentals

A component is a basic UI building block in Angular that encapsulates template, styles, and logic, marked with @Component decorator.

Q3: What is a service? services

Angular Fundamentals

A service is a reusable class marked with @Injectable that provides shared functionality, often used for API calls and data sharing.

Q4: What is dependency injection? core

Angular Fundamentals

Dependency injection is a design pattern where Angular automatically provides dependencies to components/services, improving testability and decoupling.

Q5: What is a module? modules

Angular Fundamentals

A module is a container for components, services, and other code organized with @NgModule decorator to group related features.

Q6: What is @NgModule? decorators

Angular Fundamentals

@NgModule is a decorator that defines a module, declaring components, services, imports, exports, and providers.

Q7: What is @Component? decorators

Angular Fundamentals

@Component is a decorator that marks a class as a component and defines its selector, template, and styles.

Q8: What is @Injectable? decorators

Angular Fundamentals

@Injectable is a decorator that marks a class as a service eligible for dependency injection.

Q9: What is a directive? directives

Angular Fundamentals

A directive is a marker on a DOM element that tells Angular to attach behavior or transform the DOM, like *ngIf or *ngFor.

Q10: What are structural directives? directives

Angular Fundamentals

Structural directives change DOM structure by adding/removing elements, e.g., *ngIf, *ngFor, *ngSwitch.

Q11: What are attribute directives? directives

Angular Fundamentals

Attribute directives change element appearance or behavior without affecting DOM structure, e.g., ngStyle, ngClass.

Q12: What is *ngIf? directives

Angular Fundamentals

*ngIf conditionally renders an element based on a boolean expression.

Q13: What is *ngFor? directives

Angular Fundamentals

*ngFor repeats template for each item in a list, e.g., *ngFor="let item of items".

Q14: What is *ngSwitch? directives

Angular Fundamentals

*ngSwitch conditionally renders different templates based on a switch value.

Q15: What is ngStyle? directives

Angular Fundamentals

ngStyle dynamically sets inline styles on an element based on an expression object.

Q16: What is ngClass? directives

Angular Fundamentals

ngClass dynamically applies CSS classes based on conditions or an object.

Q17: What is data binding? binding

Angular Fundamentals

Data binding synchronizes data between component class and template in one or two-way direction.

Q18: What is property binding? binding

Angular Fundamentals

Property binding sets a component/DOM property to a template expression using [property]="value" syntax.

Q19: What is event binding? binding

Angular Fundamentals

Event binding triggers a method when a DOM event occurs using (event)="handler()" syntax.

Q20: What is two-way binding? binding

Angular Fundamentals

Two-way binding syncs data bidirectionally using [(ngModel)]="property" syntax.

Q21: What is string interpolation? binding

Angular Fundamentals

String interpolation displays component data in template using {{expression}} syntax.

Q22: What is a template reference variable? templates

Angular Fundamentals

A template reference variable (#varName) provides direct access to a DOM element in the component class.

Q23: What is a pipe? pipes

Angular Fundamentals

A pipe transforms data in templates using the | syntax, e.g., {{ date | date:'short' }}.

Q24: What is the async pipe? pipes

Angular Fundamentals

The async pipe automatically subscribes to observables and displays their latest value in templates.

Q25: What is the date pipe? pipes

Angular Fundamentals

The date pipe formats dates according to locale rules, e.g., {{ date | date:'dd/MM/yyyy' }}.

Q26: What is the currency pipe? pipes

Angular Fundamentals

The currency pipe formats numbers as currency, e.g., {{ price | currency:'USD' }}.

Q27: What is the uppercase pipe? pipes

Angular Fundamentals

The uppercase pipe converts text to uppercase, e.g., {{ text | uppercase }}.

Q28: What is the lowercase pipe? pipes

Angular Fundamentals

The lowercase pipe converts text to lowercase, e.g., {{ text | lowercase }}.

Q29: What is RxJS? rxjs

Angular Fundamentals

RxJS is a library for reactive programming using observables, enabling handling of asynchronous operations.

Q30: What is an Observable? rxjs

Angular Fundamentals

An Observable is a lazy collection of events that can be observed over time using subscribe().

Q31: What is a Subject? rxjs

Angular Fundamentals

A Subject is a special observable that multicasts values to multiple subscribers.

Q32: What is a BehaviorSubject? rxjs

Angular Fundamentals

A BehaviorSubject is a subject that emits its current value to new subscribers immediately.

Q33: What is a ReplaySubject? rxjs

Angular Fundamentals

A ReplaySubject buffers and replays a specified number of values to new subscribers.

Q34: What is an AsyncSubject? rxjs

Angular Fundamentals

An AsyncSubject emits the last value of a sequence only when the observable completes.

Q35: What are operators? rxjs

Angular Fundamentals

Operators are functions that transform, filter, or combine observable values, e.g., map, filter, switchMap.

Q36: What is the map operator? rxjs

Angular Fundamentals

The map operator transforms observable values using a projection function.

Q37: What is the filter operator? rxjs

Angular Fundamentals

The filter operator emits only observable values that pass a predicate test.

Q38: What is the switchMap operator? rxjs

Angular Fundamentals

The switchMap operator projects each source value to an observable and flattens, canceling previous inner observables.

Q39: What is the mergeMap operator? rxjs

Angular Fundamentals

The mergeMap operator projects each value to an observable and flattens all inner observables.

Q40: What is the concat operator? rxjs

Angular Fundamentals

The concat operator sequentially concatenates multiple observables in order.

Q41: What is the merge operator? rxjs

Angular Fundamentals

The merge operator combines multiple observables and emits values from all simultaneously.

Q42: What is reactive forms? forms

Angular Fundamentals

Reactive forms provide a model-driven approach using FormGroup, FormControl for complex form handling.

Q43: What is template-driven forms? forms

Angular Fundamentals

Template-driven forms use directives in templates with ngModel for simpler form handling.

Q44: What is FormGroup? forms

Angular Fundamentals

FormGroup manages a group of FormControls, allowing validation and status tracking of the entire form.

Q45: What is FormControl? forms

Angular Fundamentals

FormControl is the lowest-level unit tracking value and validation status of an individual form field.

Q46: What is FormBuilder? forms

Angular Fundamentals

FormBuilder provides shortcuts for creating FormGroup and FormControl instances.

Q47: What are validators? forms

Angular Fundamentals

Validators are functions that check form control values and return errors if validation fails.

Q48: What is async validation? forms

Angular Fundamentals

Async validation validates form controls asynchronously, e.g., checking username availability from server.

Q49: What is the HttpClient? http

Angular Fundamentals

HttpClient is Angular's service for making HTTP requests to servers for communication.

Q50: What is an interceptor? http

Angular Fundamentals

An interceptor intercepts HTTP requests/responses to add headers, handle errors, or transform data.

Q51: What is the async pipe? pipes

Angular Fundamentals

The async pipe subscribes to observables and automatically unsubscribes when components destroy.

Q52: What is routing? routing

Angular Fundamentals

Routing enables navigation between different components/pages using URLs without full page reload.

Q53: What is RouterModule? routing

Angular Fundamentals

RouterModule provides routing functionality including Router, ActivatedRoute services and routes configuration.

Q54: What is the Router service? routing

Angular Fundamentals

The Router service navigates between components using navigate() or navigateByUrl() methods.

Q55: What is ActivatedRoute? routing

Angular Fundamentals

ActivatedRoute provides access to route parameters and query parameters of the current route.

Q56: What is a route guard? routing

Angular Fundamentals

A route guard (CanActivate, CanDeactivate, Resolve) controls access to routes based on conditions.

Q57: What is CanActivate? routing

Angular Fundamentals

CanActivate guard prevents access to a route based on conditions, e.g., authentication.

Q58: What is CanDeactivate? routing

Angular Fundamentals

CanDeactivate guard prevents navigation away from a route, e.g., unsaved form data warning.

Q59: What is Resolve? routing

Angular Fundamentals

Resolve guard pre-fetches data before activating a route, ensuring data is available when component loads.

Q60: What is lazy loading? routing

Angular Fundamentals

Lazy loading loads feature modules only when users navigate to them, improving initial load performance.

Q61: What is change detection? core

Angular Fundamentals

Change detection is Angular's mechanism to detect component state changes and update the view accordingly.

Q62: What is OnInit? lifecycle

Angular Fundamentals

OnInit is a lifecycle hook called once after component initialization, used for setup and initialization.

Q63: What is OnDestroy? lifecycle

Angular Fundamentals

OnDestroy is a lifecycle hook called before component destruction, used for cleanup and unsubscribing.

Q64: What is OnChanges? lifecycle

Angular Fundamentals

OnChanges is a lifecycle hook called when component receives input property changes.

Q65: What is DoCheck? lifecycle

Angular Fundamentals

DoCheck is a custom change detection hook called during every change detection cycle.

Q66: What is AfterViewInit? lifecycle

Angular Fundamentals

AfterViewInit is a lifecycle hook called after component view and child views initialize.

Q67: What is Input decorator? decorators

Angular Fundamentals

@Input allows parent components to pass data to child components via properties.

Q68: What is Output decorator? decorators

Angular Fundamentals

@Output allows child components to emit events to parent components using EventEmitter.

Q69: What is ViewChild? decorators

Angular Fundamentals

@ViewChild gets reference to a template element or child component in the component class.

Q70: What is ViewChildren? decorators

Angular Fundamentals

@ViewChildren gets references to multiple template elements or child components.

Q71: What is ContentChild? decorators

Angular Fundamentals

@ContentChild gets reference to projected content elements.

Q72: What is ContentChildren? decorators

Angular Fundamentals

@ContentChildren gets references to multiple projected content elements.

Q73: What is content projection? components

Angular Fundamentals

Content projection inserts component content into designated slots in child component template.

Q74: What is ng-content? templates

Angular Fundamentals

ng-content is a placeholder in component template where parent component content is inserted.

Q75: What is an element reference? templates

Angular Fundamentals

Element reference (template reference variable) provides direct access to DOM elements in component logic.

Q76: What is ElementRef? core

Angular Fundamentals

ElementRef wraps a native DOM element, providing access to the underlying native object.

Q77: What is Renderer2? core

Angular Fundamentals

Renderer2 is a service for safely manipulating DOM without direct native element access.

Q78: What are lifecycle hooks? lifecycle

Angular Fundamentals

Lifecycle hooks are callback methods called at specific moments during component lifecycle progression.

Q79: What is zone.js? core

Angular Fundamentals

Zone.js is a library providing execution context (zone) for change detection triggering in Angular.

Q80: What is NgZone? core

Angular Fundamentals

NgZone is Angular service for running code inside/outside Angular zone, controlling change detection.

Q81: What is property binding vs attribute binding? binding

Angular Fundamentals

Property binding sets DOM properties; attribute binding sets HTML attributes.

Q82: What is @HostBinding? decorators

Angular Fundamentals

@HostBinding binds a class property to host element's property or attribute.

Q83: What is @HostListener? decorators

Angular Fundamentals

@HostListener subscribes to host element events like click, mouseover, etc.

Q84: What is AOT compilation? build

Angular Fundamentals

AOT (Ahead-of-Time) compilation pre-compiles Angular application during build, improving performance.

Q85: What is JIT compilation? build

Angular Fundamentals

JIT (Just-in-Time) compilation compiles Angular application in the browser at runtime.

Q86: What is a module vs a component? core

Angular Fundamentals

A module organizes code; a component is an individual UI element with view and logic.

Q87: What is tree shaking? build

Angular Fundamentals

Tree shaking removes unused code during production build to reduce bundle size.

Q88: What is lazy loading modules? routing

Angular Fundamentals

Lazy loading loads feature modules only when needed, improving initial app load time.

Q89: What is providedIn? services

Angular Fundamentals

@Injectable({providedIn: 'root'}) provides service at root level, enabling tree-shaking.

Q90: What is testing in Angular? testing

Angular Fundamentals

Testing verifies Angular component behavior using Jasmine testing framework and Karma test runner.

Q91: What is Jasmine? testing

Angular Fundamentals

Jasmine is a JavaScript testing framework with describe, it, expect syntax for unit testing.

Q92: What is Karma? testing

Angular Fundamentals

Karma is a test runner that executes Jasmine tests in real browsers.

Q93: What is TestBed? testing

Angular Fundamentals

TestBed is an Angular testing utility for configuring modules and injecting services in tests.

Q94: What is fixture? testing

Angular Fundamentals

A fixture is a wrapper around a component, providing testing utilities for component interaction.

Q95: What is DebugElement? testing

Angular Fundamentals

DebugElement wraps component elements, providing testing utilities for querying and debugging.