# รูปแบบ RxJS ขั้นสูง (Angular) > Higher-order observable, multicasting, share operator, การกู้คืนข้อผิดพลาด, กลยุทธ์ retry, backpressure, custom operator - 22 คำถามสัมภาษณ์ - Senior - [คำถามสัมภาษณ์: Angular](https://sharpskill.dev/th/technologies/angular/interview-questions.md) ## 1. ความแตกต่างหลักระหว่าง switchMap และ mergeMap ในการจัดการคำขอ HTTP พร้อมกันคืออะไร? **คำตอบ** switchMap ยกเลิกคำขอก่อนหน้าเมื่อมีค่าใหม่มาถึง ในขณะที่ mergeMap คงทุกการสมัครรับข้อมูลที่ใช้งานอยู่พร้อมกัน ในแถบค้นหา switchMap จะยกเลิกคำขอที่กำลังดำเนินอยู่อัตโนมัติเมื่อมีอินพุตใหม่ ป้องกันผลลัพธ์ที่ล้าสมัย mergeMap เหมาะสำหรับการกระทำอิสระที่ต้องเสร็จสิ้นทั้งหมด เช่น การอัปโหลดไฟล์แบบขนาน ## 2. ควรใช้ concatMap แทน mergeMap เมื่อใดในการประมวลผลคิวการกระทำของผู้ใช้? **คำตอบ** concatMap รับประกันลำดับการดำเนินการโดยรอให้ observable ภายในแต่ละตัวเสร็จก่อนประมวลผลตัวถัดไป ในขณะที่ mergeMap ประมวลผลทุกการกระทำแบบขนานโดยไม่รับประกันลำดับ ใช้ concatMap สำหรับการดำเนินการสำคัญที่ต้องการลำดับเข้มงวด เช่น ธุรกรรมธนาคารแบบต่อเนื่อง หรือการส่งข้อความแชท mergeMap เหมาะสำหรับการกระทำอิสระที่สามารถทำงานแบบขนานได้ ## 3. Higher-order observable คืออะไร และทำไมจึงต้องใช้ flattening operator? **คำตอบ** Higher-order observable คือ observable ที่ปล่อย observable อื่น ตัวอย่างเช่น observable การคลิกที่ปล่อย observable คำขอ HTTP สำหรับแต่ละการคลิก หากไม่มี flattening operator (switchMap, mergeMap, concatMap) คุณจะได้โครงสร้างซ้อนกัน Observable> ที่ไม่สามารถใช้โดยตรง flattening operator จะสมัครรับข้อมูล observable ภายในโดยอัตโนมัติและส่งค่าในสตรีมหลัก ## มีอีก 19 คำถาม - ควรใช้ operator ใดเพื่อยกเลิกการค้นหาที่กำลังดำเนินอยู่โดยอัตโนมัติเมื่อผู้ใช้พิมพ์อินพุตใหม่? - exhaustMap แตกต่างจาก switchMap อย่างไรในการจัดการคำขอที่สำคัญ? สมัครฟรี: https://sharpskill.dev/th/login ## หัวข้อสัมภาษณ์ Angular อื่นๆ - [พื้นฐาน TypeScript](https://sharpskill.dev/th/technologies/angular/interview-questions/typescript-basics.md): 25 คำถาม, Junior - [TypeScript ขั้นสูง](https://sharpskill.dev/th/technologies/angular/interview-questions/typescript-advanced.md): 20 คำถาม, Junior - [พื้นฐาน Angular](https://sharpskill.dev/th/technologies/angular/interview-questions/angular-fundamentals.md): 20 คำถาม, Junior - [คอมโพเนนต์และวงจรชีวิต](https://sharpskill.dev/th/technologies/angular/interview-questions/components-lifecycle.md): 20 คำถาม, Junior - [Services & Dependency Injection](https://sharpskill.dev/th/technologies/angular/interview-questions/services-dependency-injection.md): 20 คำถาม, Junior - [การจัดระเบียบโมดูล Angular](https://sharpskill.dev/th/technologies/angular/interview-questions/modules-organization.md): 22 คำถาม, Mid-Level - [Angular CLI](https://sharpskill.dev/th/technologies/angular/interview-questions/angular-cli.md): 18 คำถาม, Junior - [Directives และ Pipes](https://sharpskill.dev/th/technologies/angular/interview-questions/directives-pipes.md): 22 คำถาม, Mid-Level - [Routing และการนำทาง](https://sharpskill.dev/th/technologies/angular/interview-questions/routing-navigation.md): 24 คำถาม, Mid-Level - [Reactive Forms](https://sharpskill.dev/th/technologies/angular/interview-questions/forms-reactive.md): 26 คำถาม, Mid-Level - [Template-driven Forms](https://sharpskill.dev/th/technologies/angular/interview-questions/forms-template-driven.md): 16 คำถาม, Mid-Level - [พื้นฐาน RxJS](https://sharpskill.dev/th/technologies/angular/interview-questions/rxjs-fundamentals.md): 22 คำถาม, Mid-Level - [Operator ของ RxJS](https://sharpskill.dev/th/technologies/angular/interview-questions/rxjs-operators.md): 24 คำถาม, Mid-Level - [HttpClient และการเรียก API](https://sharpskill.dev/th/technologies/angular/interview-questions/http-client.md): 22 คำถาม, Mid-Level - [การจัดการ state พื้นฐาน](https://sharpskill.dev/th/technologies/angular/interview-questions/state-management-basics.md): 20 คำถาม, Mid-Level - [Change Detection](https://sharpskill.dev/th/technologies/angular/interview-questions/change-detection.md): 20 คำถาม, Mid-Level - [Angular Signals](https://sharpskill.dev/th/technologies/angular/interview-questions/angular-signals.md): 20 คำถาม, Mid-Level - [Standalone Components](https://sharpskill.dev/th/technologies/angular/interview-questions/standalone-components.md): 18 คำถาม, Mid-Level - [การทำ Unit Testing ใน Angular](https://sharpskill.dev/th/technologies/angular/interview-questions/testing-unit.md): 22 คำถาม, Mid-Level - [การทดสอบ End-to-End](https://sharpskill.dev/th/technologies/angular/interview-questions/testing-e2e.md): 18 คำถาม, Mid-Level - [Build และการเพิ่มประสิทธิภาพ](https://sharpskill.dev/th/technologies/angular/interview-questions/build-optimization.md): 20 คำถาม, Mid-Level - [พื้นฐาน NgRx](https://sharpskill.dev/th/technologies/angular/interview-questions/ngrx-fundamentals.md): 24 คำถาม, Senior - [NgRx ขั้นสูง](https://sharpskill.dev/th/technologies/angular/interview-questions/ngrx-advanced.md): 24 คำถาม, Senior - [สถาปัตยกรรม Angular](https://sharpskill.dev/th/technologies/angular/interview-questions/angular-architecture.md): 22 คำถาม, Senior - [การปรับแต่งประสิทธิภาพ](https://sharpskill.dev/th/technologies/angular/interview-questions/performance-optimization.md): 22 คำถาม, Senior - [ความปลอดภัยและแนวทางปฏิบัติที่ดี](https://sharpskill.dev/th/technologies/angular/interview-questions/security-best-practices.md): 20 คำถาม, Senior - [Angular Universal และ SSR](https://sharpskill.dev/th/technologies/angular/interview-questions/angular-universal-ssr.md): 20 คำถาม, Senior - [Angular Micro-frontends](https://sharpskill.dev/th/technologies/angular/interview-questions/micro-frontends-angular.md): 20 คำถาม, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/th/technologies/angular/interview-questions/advanced-rxjs-patterns