Angular

Các mẫu RxJS nâng cao

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
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<Observable<T>> 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.

4

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?

5

exhaustMap khác switchMap như thế nào trong xử lý các yêu cầu quan trọng?

+19 câu hỏi phỏng vấn

Nắm vững Angular cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí