
Programación reactiva
Reactive Extensions (Rx), IObservable, operators, schedulers, backpressure (opcional, menos común en las web APIs modernas)
1¿Qué es la interfaz IObservable<T> en Reactive Extensions (Rx.NET)?
¿Qué es la interfaz IObservable<T> en Reactive Extensions (Rx.NET)?
Respuesta
IObservable<T> es la interfaz fundamental de Rx.NET que representa una fuente de datos basada en push. Expone un método Subscribe que permite a los observers suscribirse para recibir notificaciones asíncronas. Es la contraparte reactiva de IEnumerable<T>: mientras IEnumerable obtiene los datos de forma síncrona (pull), IObservable empuja (push) los datos de forma asíncrona hacia los suscriptores.
2¿Cuáles son los tres métodos de la interfaz IObserver<T> en Rx.NET?
¿Cuáles son los tres métodos de la interfaz IObserver<T> en Rx.NET?
Respuesta
IObserver<T> define tres métodos: OnNext(T value) para recibir cada elemento de la secuencia, OnError(Exception error) para manejar errores y señalar el fin de la secuencia en caso de fallo, y OnCompleted() para indicar que la secuencia finalizó con éxito. Estos tres métodos forman el contrato del observer, que garantiza que después de OnError u OnCompleted no se llamará a ningún otro OnNext.
3¿Cuál es la diferencia principal entre IEnumerable<T> e IObservable<T>?
¿Cuál es la diferencia principal entre IEnumerable<T> e IObservable<T>?
Respuesta
IEnumerable<T> es un modelo pull en el que el consumidor solicita los datos de forma síncrona con GetEnumerator() y MoveNext(). IObservable<T> es un modelo push en el que la fuente empuja los datos de forma asíncrona a los suscriptores mediante Subscribe(). IEnumerable bloquea el thread llamante durante la iteración, mientras que IObservable permite operaciones no bloqueantes y la composición de eventos asíncronos con operators LINQ.
¿Cuál es el rol del operator Select en Rx.NET?
¿Cómo funciona el operator Where en Rx.NET?
+21 preguntas de entrevista
Otros temas de entrevista .NET
Fundamentos de C#
LINQ & Delegates
Fundamentos del lenguaje C#
Fundamentos de ASP.NET Core
Ciclo de vida de las solicitudes en ASP.NET Core
Configuration & Settings
Ciclo de vida de la aplicación
Dependency Injection
Entity Framework Core
Minimal APIs
Desarrollo de Web API
Async en ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Serialización JSON
Entity Framework Core avanzado
Características avanzadas de C#
Clean Architecture
Logging, Monitoring & Observability
Pruebas unitarias y xUnit
Pruebas de integración
Docker & Containerization
NuGet Package Management
Memory Management & GC
Async/await & Patterns
.NET Design Patterns
Optimización del rendimiento
Seguridad y Best Practices
SignalR y tiempo real
Arquitectura de Microservicios
Domina .NET para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis