ReviseAlgo Logo

Interview

Angular Quiz

Test your Angular knowledge with this comprehensive self-assessment covering signals, change detection, routing, and state management.

Last Updated: July 15, 2026 12 min read

1. Learning Objectives

This self-assessment will test your knowledge of advanced Angular framework mechanics. By the end of this quiz, you will be able to evaluate your understanding of:

  • Signals dependency graph tracking and computed caching rules.
  • RxJS stream flattening mechanics and operator safety profiles.
  • OnPush component change detection bypass scenarios.
  • Environment vs Element dependency injection scopes.
  • Non-destructive hydration mismatch diagnostics.

2. Overview

Choose the best answer for each question. Review the explanations under the solutions to check your answers and understand the concepts in detail.

3. Self-Assessment Questions

Q1: Under what condition is a computed signal's value recalculated in Angular?

A) Every time any signal in the application changes value.

B) Every time Angular change detection runs.

C) Lazily when the computed signal is read, provided one of its dependency signals has updated.

D) Periodically on a background timer loop.

View Solution

Answer: C
Computed signals are lazily evaluated. When a dependency signal updates, the computed signal marks itself as stale. It only recalculates its value when it is read by a consumer (like a template or an effect), avoiding unnecessary computations.

Q2: Which RxJS flattening operator should be used for search query typeaheads to cancel pending HTTP calls when new keys are typed?

A) mergeMap

B) concatMap

C) switchMap

D) exhaustMap

View Solution

Answer: C
switchMap cancels the active inner subscription whenever the outer stream emits a new value. This makes it ideal for search inputs, preventing outdated network requests from overwriting newer results.

Q3: How does the OnPush change detection strategy determine if a component should be checked for updates?

A) By checking if any mutable property on the component class changes.

B) By checking if component input object reference updates, an event originates from within the component, or a bound signal changes.

C) By periodically running checks every 100 milliseconds.

D) By running change detection only when routes change.

View Solution

Answer: B
OnPush change detection skips component subtree checking unless: (1) an @Input() reference changes, (2) an event originates from within the component or its children, or (3) a bound signal emits a new value.

4. Summary & Next Steps

Review the answers to identify topics you need to practice.

  • Next, proceed to **Cheatsheet** for a quick reference guide to Angular commands, decorators, and syntax patterns.