
Programação reativa
Reactive Extensions (Rx), IObservable, operators, schedulers, backpressure (opcional, menos comum em web APIs modernas)
1O que é a interface IObservable<T> em Reactive Extensions (Rx.NET)?
O que é a interface IObservable<T> em Reactive Extensions (Rx.NET)?
Resposta
IObservable<T> é a interface fundamental do Rx.NET que representa uma fonte de dados baseada em push. Ela expõe um método Subscribe que permite que observers se inscrevam para receber notificações assíncronas. É a contraparte reativa de IEnumerable<T>: enquanto IEnumerable puxa (pull) os dados de forma síncrona, IObservable empurra (push) os dados de forma assíncrona para os assinantes.
2Quais são os três métodos da interface IObserver<T> em Rx.NET?
Quais são os três métodos da interface IObserver<T> em Rx.NET?
Resposta
IObserver<T> define três métodos: OnNext(T value) para receber cada elemento da sequência, OnError(Exception error) para tratar erros e sinalizar o fim da sequência em caso de falha, e OnCompleted() para indicar que a sequência foi concluída com sucesso. Esses três métodos formam o contrato do observer, que garante que após OnError ou OnCompleted nenhum outro OnNext será chamado.
3Qual é a principal diferença entre IEnumerable<T> e IObservable<T>?
Qual é a principal diferença entre IEnumerable<T> e IObservable<T>?
Resposta
IEnumerable<T> é um modelo pull no qual o consumidor solicita os dados de forma síncrona com GetEnumerator() e MoveNext(). IObservable<T> é um modelo push no qual a fonte empurra os dados de forma assíncrona aos assinantes via Subscribe(). IEnumerable bloqueia a thread chamadora durante a iteração, enquanto IObservable permite operações não bloqueantes e a composição de eventos assíncronos com operators LINQ.
Qual é o papel do operator Select em Rx.NET?
Como o operator Where funciona em Rx.NET?
+21 perguntas de entrevista
Outros temas de entrevista .NET
Fundamentos de C#
LINQ & Delegates
Fundamentos da linguagem C#
Fundamentos do ASP.NET Core
Ciclo de vida das requisições no ASP.NET Core
Configuration & Settings
Ciclo de vida da aplicação
Dependency Injection
Entity Framework Core
Minimal APIs
Desenvolvimento de Web API
Async no ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Serialização JSON
Entity Framework Core avançado
Recursos avançados do C#
Clean Architecture
Logging, Monitoring & Observability
Testes unitários e xUnit
Testes de integração
Docker & Containerization
NuGet Package Management
Memory Management & GC
Async/await & Patterns
.NET Design Patterns
Otimização de desempenho
Segurança e Best Practices
SignalR e tempo real
Arquitetura de Microsserviços
Domine .NET para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis