# Advanced RxJS Patterns (Angular) > Higher-order observables, multicasting, share operators, error recovery, retry strategies, backpressure, custom operators - 22 interview questions - Senior - [Interview Questions: Angular](https://sharpskill.dev/en/technologies/angular/interview-questions.md) ## 1. What is the main difference between switchMap and mergeMap when handling concurrent HTTP requests? **Answer** switchMap cancels previous requests when a new value arrives, while mergeMap maintains all active subscriptions simultaneously. In a search bar, switchMap automatically cancels ongoing requests on new input, preventing stale results. mergeMap is suitable for independent actions that must all complete, like parallel file uploads. ## 2. When should concatMap be used instead of mergeMap to process a queue of user actions? **Answer** concatMap guarantees execution order by waiting for each inner observable to complete before processing the next, while mergeMap processes all actions in parallel without order guarantee. Use concatMap for critical operations requiring strict ordering, like sequential bank transactions or chat message sending. mergeMap is suitable for independent actions that can run in parallel. ## 3. What is a higher-order observable and why does it require a flattening operator? **Answer** A higher-order observable is an observable that emits other observables. For example, a click observable that emits an HTTP request observable for each click. Without a flattening operator (switchMap, mergeMap, concatMap), you get a nested Observable> structure unusable directly. Flattening operators automatically subscribe to inner observables and emit their values in the main stream. ## 19 more questions available - Which operator should be used to automatically cancel an ongoing search when the user types new input? - How does exhaustMap differ from switchMap in handling critical requests? Sign up for free: https://sharpskill.dev/en/login ## Other Angular interview topics - [TypeScript Basics](https://sharpskill.dev/en/technologies/angular/interview-questions/typescript-basics.md): 25 questions, Junior - [TypeScript Advanced](https://sharpskill.dev/en/technologies/angular/interview-questions/typescript-advanced.md): 20 questions, Junior - [Angular Fundamentals](https://sharpskill.dev/en/technologies/angular/interview-questions/angular-fundamentals.md): 20 questions, Junior - [Components & Lifecycle](https://sharpskill.dev/en/technologies/angular/interview-questions/components-lifecycle.md): 20 questions, Junior - [Services & Dependency Injection](https://sharpskill.dev/en/technologies/angular/interview-questions/services-dependency-injection.md): 20 questions, Junior - [Angular Modules Organization](https://sharpskill.dev/en/technologies/angular/interview-questions/modules-organization.md): 22 questions, Mid-Level - [Angular CLI](https://sharpskill.dev/en/technologies/angular/interview-questions/angular-cli.md): 18 questions, Junior - [Directives & Pipes](https://sharpskill.dev/en/technologies/angular/interview-questions/directives-pipes.md): 22 questions, Mid-Level - [Routing & Navigation](https://sharpskill.dev/en/technologies/angular/interview-questions/routing-navigation.md): 24 questions, Mid-Level - [Reactive Forms](https://sharpskill.dev/en/technologies/angular/interview-questions/forms-reactive.md): 26 questions, Mid-Level - [Template-driven Forms](https://sharpskill.dev/en/technologies/angular/interview-questions/forms-template-driven.md): 16 questions, Mid-Level - [RxJS Fundamentals](https://sharpskill.dev/en/technologies/angular/interview-questions/rxjs-fundamentals.md): 22 questions, Mid-Level - [RxJS Operators](https://sharpskill.dev/en/technologies/angular/interview-questions/rxjs-operators.md): 24 questions, Mid-Level - [HttpClient & API Calls](https://sharpskill.dev/en/technologies/angular/interview-questions/http-client.md): 22 questions, Mid-Level - [Basic State Management](https://sharpskill.dev/en/technologies/angular/interview-questions/state-management-basics.md): 20 questions, Mid-Level - [Change Detection](https://sharpskill.dev/en/technologies/angular/interview-questions/change-detection.md): 20 questions, Mid-Level - [Angular Signals](https://sharpskill.dev/en/technologies/angular/interview-questions/angular-signals.md): 20 questions, Mid-Level - [Standalone Components](https://sharpskill.dev/en/technologies/angular/interview-questions/standalone-components.md): 18 questions, Mid-Level - [Angular Unit Testing](https://sharpskill.dev/en/technologies/angular/interview-questions/testing-unit.md): 22 questions, Mid-Level - [End-to-End Testing](https://sharpskill.dev/en/technologies/angular/interview-questions/testing-e2e.md): 18 questions, Mid-Level - [Build & Optimization](https://sharpskill.dev/en/technologies/angular/interview-questions/build-optimization.md): 20 questions, Mid-Level - [NgRx Fundamentals](https://sharpskill.dev/en/technologies/angular/interview-questions/ngrx-fundamentals.md): 24 questions, Senior - [NgRx Advanced](https://sharpskill.dev/en/technologies/angular/interview-questions/ngrx-advanced.md): 24 questions, Senior - [Angular Architecture](https://sharpskill.dev/en/technologies/angular/interview-questions/angular-architecture.md): 22 questions, Senior - [Performance Optimization](https://sharpskill.dev/en/technologies/angular/interview-questions/performance-optimization.md): 22 questions, Senior - [Security & Best Practices](https://sharpskill.dev/en/technologies/angular/interview-questions/security-best-practices.md): 20 questions, Senior - [Angular Universal & SSR](https://sharpskill.dev/en/technologies/angular/interview-questions/angular-universal-ssr.md): 20 questions, Senior - [Angular Micro-frontends](https://sharpskill.dev/en/technologies/angular/interview-questions/micro-frontends-angular.md): 20 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/en/technologies/angular/interview-questions/advanced-rxjs-patterns