.NET

Programação reativa

Reactive Extensions (Rx), IObservable, operators, schedulers, backpressure (opcional, menos comum em web APIs modernas)

24 perguntas de entrevista·
Senior
1

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.

2

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.

3

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.

4

Qual é o papel do operator Select em Rx.NET?

5

Como o operator Where funciona em Rx.NET?

+21 perguntas de entrevista

Domine .NET para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis