# Các mẫu RxJS nâng cao (Angular) > Higher-order observable, multicasting, toán tử share, khôi phục lỗi, chiến lược retry, backpressure, toán tử tùy chỉnh - 22 câu hỏi phỏng vấn - Senior - [Câu hỏi phỏng vấn: Angular](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van.md) ## 1. Sự khác biệt chính giữa switchMap và mergeMap khi xử lý các yêu cầu HTTP đồng thời là gì? **Câu trả lời** switchMap hủy các yêu cầu trước khi có giá trị mới đến, trong khi mergeMap duy trì tất cả các đăng ký hoạt động đồng thời. Trong thanh tìm kiếm, switchMap tự động hủy các yêu cầu đang chạy khi có đầu vào mới, ngăn kết quả lỗi thời. mergeMap phù hợp với các hành động độc lập đều phải hoàn tất, như tải lên file song song. ## 2. Khi nào nên dùng concatMap thay vì mergeMap để xử lý hàng đợi hành động của người dùng? **Câu trả lời** concatMap đảm bảo thứ tự thực thi bằng cách chờ mỗi observable bên trong hoàn tất trước khi xử lý cái tiếp theo, trong khi mergeMap xử lý tất cả hành động song song mà không đảm bảo thứ tự. Dùng concatMap cho các thao tác quan trọng cần thứ tự nghiêm ngặt, như giao dịch ngân hàng tuần tự hoặc gửi tin nhắn chat. mergeMap phù hợp cho các hành động độc lập có thể chạy song song. ## 3. Higher-order observable là gì và tại sao cần toán tử flattening? **Câu trả lời** Higher-order observable là một observable phát ra các observable khác. Ví dụ, một observable click phát ra một observable yêu cầu HTTP cho mỗi lần click. Không có toán tử flattening (switchMap, mergeMap, concatMap), bạn sẽ có cấu trúc lồng nhau Observable> không thể sử dụng trực tiếp. Các toán tử flattening tự động đăng ký vào các observable bên trong và phát giá trị của chúng trong luồng chính. ## Còn 19 câu hỏi nữa - Nên dùng toán tử nào để tự động hủy tìm kiếm đang diễn ra khi người dùng nhập mới? - exhaustMap khác switchMap như thế nào trong xử lý các yêu cầu quan trọng? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Angular khác - [Kiến thức cơ bản TypeScript](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/typescript-basics.md): 25 câu hỏi, Junior - [TypeScript Nâng cao](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/typescript-advanced.md): 20 câu hỏi, Junior - [Kiến thức cơ bản về Angular](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/angular-fundamentals.md): 20 câu hỏi, Junior - [Components và vòng đời](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/components-lifecycle.md): 20 câu hỏi, Junior - [Services & Dependency Injection](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/services-dependency-injection.md): 20 câu hỏi, Junior - [Tổ chức Module Angular](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/modules-organization.md): 22 câu hỏi, Mid-Level - [Angular CLI](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/angular-cli.md): 18 câu hỏi, Junior - [Directives và Pipes](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/directives-pipes.md): 22 câu hỏi, Mid-Level - [Routing và Điều hướng](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/routing-navigation.md): 24 câu hỏi, Mid-Level - [Reactive Forms](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/forms-reactive.md): 26 câu hỏi, Mid-Level - [Template-driven Forms](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/forms-template-driven.md): 16 câu hỏi, Mid-Level - [Kiến Thức Cơ Bản RxJS](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/rxjs-fundamentals.md): 22 câu hỏi, Mid-Level - [Operator RxJS](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/rxjs-operators.md): 24 câu hỏi, Mid-Level - [HttpClient và lệnh gọi API](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/http-client.md): 22 câu hỏi, Mid-Level - [Quản lý state cơ bản](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/state-management-basics.md): 20 câu hỏi, Mid-Level - [Change Detection](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/change-detection.md): 20 câu hỏi, Mid-Level - [Angular Signals](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/angular-signals.md): 20 câu hỏi, Mid-Level - [Standalone Components](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/standalone-components.md): 18 câu hỏi, Mid-Level - [Unit Testing trong Angular](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/testing-unit.md): 22 câu hỏi, Mid-Level - [Kiểm thử End-to-End](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/testing-e2e.md): 18 câu hỏi, Mid-Level - [Build và tối ưu hóa](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/build-optimization.md): 20 câu hỏi, Mid-Level - [Nền tảng NgRx](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/ngrx-fundamentals.md): 24 câu hỏi, Senior - [NgRx nâng cao](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/ngrx-advanced.md): 24 câu hỏi, Senior - [Kiến trúc Angular](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/angular-architecture.md): 22 câu hỏi, Senior - [Tối ưu hiệu năng](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/performance-optimization.md): 22 câu hỏi, Senior - [Bảo mật và thực tiễn tốt nhất](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/security-best-practices.md): 20 câu hỏi, Senior - [Angular Universal và SSR](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/angular-universal-ssr.md): 20 câu hỏi, Senior - [Micro-frontend Angular](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/micro-frontends-angular.md): 20 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/advanced-rxjs-patterns