
Programmazione reattiva
Reactive Extensions (Rx), IObservable, operators, schedulers, backpressure (opzionale, meno comune nelle web API moderne)
1Cos'è l'interfaccia IObservable<T> in Reactive Extensions (Rx.NET)?
Cos'è l'interfaccia IObservable<T> in Reactive Extensions (Rx.NET)?
Risposta
IObservable<T> è l'interfaccia fondamentale di Rx.NET che rappresenta una sorgente di dati basata su push. Espone un metodo Subscribe che permette agli observer di iscriversi per ricevere notifiche asincrone. È la controparte reattiva di IEnumerable<T>: mentre IEnumerable preleva i dati in modo sincrono (pull), IObservable spinge (push) i dati in modo asincrono verso i sottoscrittori.
2Quali sono i tre metodi dell'interfaccia IObserver<T> in Rx.NET?
Quali sono i tre metodi dell'interfaccia IObserver<T> in Rx.NET?
Risposta
IObserver<T> definisce tre metodi: OnNext(T value) per ricevere ogni elemento della sequenza, OnError(Exception error) per gestire gli errori e segnalare la fine della sequenza in caso di errore, e OnCompleted() per indicare che la sequenza è terminata con successo. Questi tre metodi formano il contratto dell'observer, che garantisce che dopo OnError o OnCompleted non verrà chiamato nessun altro OnNext.
3Qual è la differenza principale tra IEnumerable<T> e IObservable<T>?
Qual è la differenza principale tra IEnumerable<T> e IObservable<T>?
Risposta
IEnumerable<T> è un modello pull in cui il consumatore richiede i dati in modo sincrono con GetEnumerator() e MoveNext(). IObservable<T> è un modello push in cui la sorgente spinge i dati in modo asincrono ai sottoscrittori tramite Subscribe(). IEnumerable blocca il thread chiamante durante l'iterazione, mentre IObservable consente operazioni non bloccanti e la composizione di eventi asincroni con operatori LINQ.
Qual è il ruolo dell'operatore Select in Rx.NET?
Come funziona l'operatore Where in Rx.NET?
+21 domande da colloquio
Altri argomenti di colloquio .NET
Fondamenti di C#
LINQ & Delegates
Fondamenti del linguaggio C#
Fondamenti di ASP.NET Core
Ciclo di vita delle richieste in ASP.NET Core
Configuration & Settings
Ciclo di vita dell'applicazione
Dependency Injection
Entity Framework Core
Minimal APIs
Sviluppo di Web API
Async in ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Serializzazione JSON
Entity Framework Core avanzato
Funzionalità avanzate di C#
Clean Architecture
Logging, Monitoring & Observability
Test unitari & xUnit
Test di integrazione
Docker & Containerization
Gestione dei pacchetti NuGet
Memory Management & GC
Async/await & Pattern
.NET Design Patterns
Ottimizzazione delle prestazioni
Sicurezza e Best Practices
SignalR e tempo reale
Architettura a Microservizi
Padroneggia .NET per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis