Pular para conteúdo

Quiz: Aula 12 ❓

Teste seus conhecimentos sobre o RxJS e Programação Reativa.

  1. O que significa a sigla RxJS?

    • ( ) Rerender eXtension JavaScript
    • (x) Reactive Extensions for JavaScript
    • ( ) Runtime XML JavaScript Service
    • ( ) Remote X-component JavaScript
    • Explicação: É a biblioteca padrão para programação reativa no ecossistema JavaScript.
  2. Qual operador é usado para transformar os dados de um Observable?

    • ( ) switch
    • (x) map
    • ( ) transform
    • ( ) change
    • Explicação: O map aplica uma função a cada valor emitido pelo Observable.
  3. O que o operador filter faz?

    • ( ) Limpa os dados do banco
    • ( ) Ordena a lista
    • (x) Emite valores apenas se eles passarem em um teste booleano
    • ( ) Deleta o Observable
    • Explicação: O filter descarta valores que não atendem à condição especificada.
  4. Qual a característica única do BehaviorSubject?

    • ( ) Ele é mais rápido
    • ( ) Ele só aceita strings
    • (x) Ele armazena o último valor emitido e o entrega para novos assinantes
    • ( ) Ele apaga os dados após 10 segundos
    • Explicação: Ótimo para gerenciar estados que precisam estar disponíveis a qualquer momento (ex: tema dark/light).
  5. Para que serve o método .pipe()?

    • ( ) Para criar um novo componente
    • (x) Para encadear operadores RxJS em um Observable
    • ( ) Para conectar o banco de dados
    • ( ) Para injetar CSS
    • Explicação: O pipe é o local onde "montamos" a esteira de transformação dos dados.
  6. O que acontece se você tiver um Observable mas ninguém fizer o .subscribe()?

    • ( ) Ele executa e guarda o resultado
    • ( ) Ele dispara um erro
    • (x) Nada acontece (ele nem chega a ser executado)
    • ( ) O computador reinicia
    • Explicação: Observables são "cold" (frios) por padrão, só agem sob demanda.
  7. Qual o papel do unsubscribe()?

    • ( ) Apagar o código
    • (x) Parar de ouvir o Observable para evitar consumo desnecessário de memória
    • ( ) Reiniciar o Observable
    • ( ) Fazer logout do usuário
    • Explicação: Importantíssimo para evitar "Memory Leaks" em aplicações grandes.
  8. O operador switchMap é muito usado para:

    • ( ) Somar números
    • ( ) Mudar a cor da tela
    • (x) Evitar problemas de concorrência em buscas, cancelando requisições anteriores
    • ( ) Deletar o histórico do browser
    • Explicação: O switchMap garante que apenas a última requisição disparada seja processada.
  9. O Async Pipe (| async) faz o unsubscribe automaticamente?

    • (x) Sim, ele gerencia todo o ciclo de vida da assinatura no template
    • ( ) Não, você ainda precisa chamar o unsubscribe no OnDestroy
    • ( ) Apenas se o componente for standalone
    • ( ) Somente em modo desenvolvimento
    • Explicação: Esta é a maior vantagem do Async Pipe: segurança e código mais limpo.
  10. Como representamos convencionalmente por nome que uma variável é um Observable?

    • ( ) Começando com obs_
    • ( ) Colocando entre parênteses
    • (x) Adicionando um cifrão $ ao final do nome (ex: dados$)
    • ( ) Usando apenas letras maiúsculas
    • Explicação: O "Finnish Notation" ($) ajuda a identificar rapidamente fluxos assíncronos no código.