.NET

Reaktive Programmierung

Reactive Extensions (Rx), IObservable, operators, schedulers, backpressure (optional, in modernen web APIs weniger verbreitet)

24 Interview-Fragen·
Senior
1

Was ist die IObservable<T>-Schnittstelle in Reactive Extensions (Rx.NET)?

Antwort

IObservable<T> ist die grundlegende Schnittstelle in Rx.NET, die eine Push-basierte Datenquelle darstellt. Sie stellt eine Subscribe-Methode bereit, mit der sich Observer registrieren können, um asynchrone Benachrichtigungen zu empfangen. Es ist das reaktive Gegenstück zu IEnumerable<T>: Während IEnumerable Daten synchron per Pull abruft, pusht IObservable Daten asynchron an die Abonnenten.

2

Welche drei Methoden hat die IObserver<T>-Schnittstelle in Rx.NET?

Antwort

IObserver<T> definiert drei Methoden: OnNext(T value), um jedes Element der Sequenz zu empfangen, OnError(Exception error), um Fehler zu behandeln und im Fehlerfall das Ende der Sequenz zu signalisieren, und OnCompleted(), um anzuzeigen, dass die Sequenz erfolgreich abgeschlossen wurde. Diese drei Methoden bilden den Observer-Vertrag, der garantiert, dass nach OnError oder OnCompleted kein weiteres OnNext aufgerufen wird.

3

Was ist der Hauptunterschied zwischen IEnumerable<T> und IObservable<T>?

Antwort

IEnumerable<T> ist ein Pull-Modell, bei dem der Konsument die Daten synchron mit GetEnumerator() und MoveNext() anfordert. IObservable<T> ist ein Push-Modell, bei dem die Quelle die Daten über Subscribe() asynchron an die Abonnenten pusht. IEnumerable blockiert während der Iteration den aufrufenden Thread, während IObservable nicht-blockierende Operationen und die Komposition asynchroner Ereignisse mit LINQ-Operatoren ermöglicht.

4

Welche Rolle spielt der Select-Operator in Rx.NET?

5

Wie funktioniert der Where-Operator in Rx.NET?

+21 Interview-Fragen

Meistere .NET für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten