Angular

Padrões avançados de RxJS

Higher-order observables, multicasting, operadores share, recuperação de erros, estratégias de retry, backpressure, operadores personalizados

22 perguntas de entrevista·
Senior
1

Qual é a principal diferença entre switchMap e mergeMap ao lidar com requisições HTTP concorrentes?

Resposta

switchMap cancela requisições anteriores quando um novo valor chega, enquanto mergeMap mantém todas as inscrições ativas simultaneamente. Em uma barra de pesquisa, switchMap cancela automaticamente requisições em andamento ao receber nova entrada, evitando resultados obsoletos. mergeMap é adequado para ações independentes que devem todas concluir, como uploads de arquivos em paralelo.

2

Quando deve-se usar concatMap em vez de mergeMap para processar uma fila de ações do usuário?

Resposta

concatMap garante a ordem de execução aguardando que cada observable interno conclua antes de processar o próximo, enquanto mergeMap processa todas as ações em paralelo sem garantia de ordem. Use concatMap para operações críticas que exigem ordem estrita, como transações bancárias sequenciais ou envio de mensagens em chat. mergeMap é adequado para ações independentes que podem rodar em paralelo.

3

O que é um higher-order observable e por que requer um operador de flattening?

Resposta

Um higher-order observable é um observable que emite outros observables. Por exemplo, um observable de cliques que emite um observable de requisição HTTP para cada clique. Sem um operador de flattening (switchMap, mergeMap, concatMap), obtém-se uma estrutura aninhada Observable<Observable<T>> inutilizável diretamente. Operadores de flattening se inscrevem automaticamente nos observables internos e emitem seus valores no fluxo principal.

4

Qual operador usar para cancelar automaticamente uma pesquisa em andamento quando o usuário digita nova entrada?

5

Como exhaustMap difere de switchMap no tratamento de requisições críticas?

+19 perguntas de entrevista

Domine Angular para sua proxima entrevista

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

Comece gratis