.NET

リアクティブプログラミング

Reactive Extensions (Rx)、IObservable、operators、schedulers、backpressure(オプション、最新の web API ではあまり使われません)

24 面接問題·
Senior
1

Reactive Extensions (Rx.NET) における IObservable<T> インターフェイスとは何ですか?

回答

IObservable<T> は、push ベースのデータソースを表す Rx.NET の基本的なインターフェイスです。observer が非同期通知を受け取るために登録できる Subscribe メソッドを公開します。これは IEnumerable<T> のリアクティブ版です。IEnumerable がデータを同期的に pull するのに対し、IObservable はデータを非同期的に subscriber へ push します。

2

Rx.NET の IObserver<T> インターフェイスが持つ 3 つのメソッドは何ですか?

回答

IObserver<T> は 3 つのメソッドを定義します。シーケンスの各要素を受け取る OnNext(T value)、エラーを処理して失敗時にシーケンスの終了を通知する OnError(Exception error)、そしてシーケンスが正常に完了したことを示す OnCompleted() です。これら 3 つのメソッドは observer の契約を形成し、OnError または OnCompleted の後に OnNext が呼ばれないことを保証します。

3

IEnumerable<T> と IObservable<T> の主な違いは何ですか?

回答

IEnumerable<T> は pull モデルで、消費側が GetEnumerator() と MoveNext() を使ってデータを同期的に要求します。IObservable<T> は push モデルで、ソースが Subscribe() を介してデータを非同期的に subscriber へ push します。IEnumerable は反復処理中に呼び出しスレッドをブロックしますが、IObservable はノンブロッキングな操作と、LINQ operators による非同期イベントの合成を可能にします。

4

Rx.NET における Select operator の役割は何ですか?

5

Rx.NET において Where operator はどのように動作しますか?

+21 面接問題

次の面接に向けて.NETをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める