.NET

Lập trình phản ứng

Reactive Extensions (Rx), IObservable, operators, schedulers, backpressure (tùy chọn, ít phổ biến hơn trong web API hiện đại)

24 câu hỏi phỏng vấn·
Senior
1

Interface IObservable<T> trong Reactive Extensions (Rx.NET) là gì?

Câu trả lời

IObservable<T> là interface cơ bản trong Rx.NET đại diện cho một nguồn dữ liệu dựa trên push. Nó cung cấp phương thức Subscribe cho phép các observer đăng ký để nhận thông báo bất đồng bộ. Đây là đối tác reactive của IEnumerable<T>: trong khi IEnumerable kéo (pull) dữ liệu một cách đồng bộ, IObservable đẩy (push) dữ liệu một cách bất đồng bộ tới các subscriber.

2

Ba phương thức của interface IObserver<T> trong Rx.NET là gì?

Câu trả lời

IObserver<T> định nghĩa ba phương thức: OnNext(T value) để nhận từng phần tử của chuỗi, OnError(Exception error) để xử lý lỗi và báo hiệu kết thúc chuỗi khi thất bại, và OnCompleted() để cho biết chuỗi đã hoàn thành thành công. Ba phương thức này tạo thành hợp đồng observer, đảm bảo rằng sau OnError hoặc OnCompleted sẽ không có OnNext nào được gọi nữa.

3

Sự khác biệt chính giữa IEnumerable<T> và IObservable<T> là gì?

Câu trả lời

IEnumerable<T> là một mô hình pull trong đó bên tiêu thụ yêu cầu dữ liệu một cách đồng bộ với GetEnumerator() và MoveNext(). IObservable<T> là một mô hình push trong đó nguồn đẩy dữ liệu một cách bất đồng bộ tới các subscriber thông qua Subscribe(). IEnumerable chặn thread gọi trong quá trình lặp, trong khi IObservable cho phép các thao tác không chặn và việc kết hợp các sự kiện bất đồng bộ với các operators LINQ.

4

Vai trò của operator Select trong Rx.NET là gì?

5

Operator Where hoạt động như thế nào trong Rx.NET?

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

Nắm vững .NET 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í