You have an Observable stream of user actions in your application. You want to perform a side effect, such as logging, each time an action occurs without modifying the original stream. Which RxJS operator should you use?

  • do (or tap)
  • filter
  • map
  • take
When you want to perform side effects on an observable stream without modifying the data, you should use the do (or tap) operator. This allows you to perform actions like logging or debugging without altering the original stream.

When creating a custom pipe, implementing the _____ interface ensures that the pipe recalculates only when the input values change.

  • DynamicPipe
  • OnChanges
  • PipeTransform
  • PipeUpdate
When creating a custom pipe in Angular, implementing the PipeTransform interface ensures that the pipe recalculates only when the input values change.

In a reactive form, the _____ method is used to update the value of a form control programmatically.

  • patchValue()
  • reset()
  • setValue()
  • updateValueAndValidity()
In a reactive form, the patchValue() method is used to update the value of a form control programmatically. This method allows you to set specific control values.

What specific challenges does Angular Elements solve when it comes to using Angular components in different environments?

  • Cross-browser compatibility
  • Framework agnosticism
  • Handling dependency injection
  • Handling global CSS styles
Angular Elements allows the use of Angular components in non-Angular environments, solving challenges related to framework agnosticism and enabling component reuse across different technologies.

How does Angular's router load a lazily-loaded module?

  • By deferring loading
  • By loading it immediately
  • By preloading all modules
  • By skipping the module
Angular's router loads a lazily-loaded module by deferring loading until it's needed, reducing the initial bundle size.

What is the main difference between Observables and Promises in Angular?

  • Observables are synchronous
  • Observables can emit multiple values
  • Promises are used for HTTP requests
  • Promises can be canceled
The main difference is that Observables can emit multiple values, whereas Promises can emit a single value and are not cancelable. Observables are more powerful for handling streams of data.

What is the purpose of the fixture in Angular testing?

  • To create a component
  • To define routing
  • To set up a testing module
  • To simulate user interactions
The fixture in Angular testing is used to simulate user interactions and provides access to the component's DOM for testing.

In Angular, using the _____ pipe can automatically handle subscription and unsubscription, preventing memory leaks.

  • Async
  • Observer
  • Promise
  • Subscribe
In Angular, using the Async pipe can automatically handle subscription and unsubscription, preventing memory leaks by managing the observable's lifecycle for you.

To create a custom directive that modifies the structure of the DOM, you would use a _____ directive.

  • attribute
  • component
  • service
  • structural
To modify the structure of the DOM, you would use a structural directive in Angular, such as ngFor or ngIf.

You need to implement a feature where clicking on a user's name in a list navigates to a detailed user profile page. The user ID needs to be passed in the URL. How would you implement this using Angular's router?

  • Create a custom directive to handle the navigation and pass the user ID.
  • Define a route with a parameter like /user/:userId and access the userId using ActivatedRoute.
  • Store the user ID in a global service and retrieve it when navigating to the user profile page.
  • Use a query parameter to pass the user ID in the URL and retrieve it using the QueryParams.
To navigate to a detailed user profile page with the user ID in the URL, you should define a route with a parameter like /user/:userId and access the userId using ActivatedRoute.