
Programmation réactive
Reactive Extensions (Rx), IObservable, operators, schedulers, backpressure (optionnel, moins courant en web API moderne)
1Qu'est-ce que l'interface IObservable<T> dans Reactive Extensions (Rx.NET) ?
Qu'est-ce que l'interface IObservable<T> dans Reactive Extensions (Rx.NET) ?
Réponse
IObservable<T> est l'interface fondamentale de Rx.NET qui représente une source de données push. Elle expose une méthode Subscribe permettant aux observateurs de s'abonner pour recevoir des notifications asynchrones. C'est le pendant réactif de IEnumerable<T> : alors que IEnumerable pull les données de manière synchrone, IObservable push les données de manière asynchrone vers les abonnés.
2Quelles sont les trois méthodes de l'interface IObserver<T> en Rx.NET ?
Quelles sont les trois méthodes de l'interface IObserver<T> en Rx.NET ?
Réponse
IObserver<T> définit trois méthodes : OnNext(T value) pour recevoir chaque élément de la séquence, OnError(Exception error) pour gérer les erreurs et signaler la fin de la séquence en cas d'échec, et OnCompleted() pour indiquer que la séquence s'est terminée avec succès. Ces trois méthodes forment le contrat observer qui garantit qu'après OnError ou OnCompleted, aucun autre OnNext ne sera appelé.
3Quelle est la différence principale entre IEnumerable<T> et IObservable<T> ?
Quelle est la différence principale entre IEnumerable<T> et IObservable<T> ?
Réponse
IEnumerable<T> est un modèle pull où le consommateur demande les données de manière synchrone avec GetEnumerator() et MoveNext(). IObservable<T> est un modèle push où la source pousse les données de manière asynchrone vers les abonnés via Subscribe(). IEnumerable bloque le thread appelant lors de l'itération, tandis que IObservable permet des opérations non-bloquantes et la composition d'événements asynchrones avec des opérateurs LINQ.
Quel est le rôle de l'opérateur Select dans Rx.NET ?
Comment l'opérateur Where fonctionne-t-il dans Rx.NET ?
+21 questions d'entretien
Autres sujets d'entretien .NET
Les bases de C#
LINQ & Delegates
Essentiels du langage C#
Fondamentaux ASP.NET Core
Cycle de vie des requêtes ASP.NET Core
Configuration & Settings
Cycle de vie de l'application
Dependency Injection
Entity Framework Core
Minimal APIs
Développement Web API
Async côté ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Sérialisation JSON
Entity Framework Core avancé
Fonctionnalités avancées C#
Clean Architecture
Logging, Monitoring & Observability
Tests unitaires & xUnit
Tests d'intégration
Docker & Containerization
NuGet Package Management
Memory Management & GC
Async/await & Patterns
.NET Design Patterns
Optimisation des performances
Sécurité & Best Practices
SignalR & Real-time
Architecture Microservices
Maîtrise .NET pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement