BACKEND30 perguntas • ~12 min
Quiz de Mensageria: SQS e Kafka
Teste seus conhecimentos sobre mensageria distribuída, filas e streams de eventos.
Quiz de Mensageria: SQS e Kafka
Teste seus conhecimentos sobre mensageria distribuída, filas e streams de eventos.
1. Qual é o objetivo principal de uma fila de mensagens em um sistema distribuído?
- Armazenar dados permanentemente em um banco de dados relacional
- Desacoplar produtores e consumidores para que possam operar de forma independente
- Sincronizar requisições HTTP entre microsserviços
- Fornecer um cache compartilhado em memória para os serviços
2. No modelo produtor/consumidor, qual é o papel de um produtor?
- Ler e processar mensagens da fila
- Gerenciar a infraestrutura da fila e as regras de roteamento
- Enviar mensagens para a fila visando o processamento posterior
- Monitorar a profundidade da fila e acionar o escalonamento automático
3. O que é o Amazon SQS?
- Um serviço de banco de dados relacional totalmente gerenciado da AWS
- Um serviço de enfileiramento de mensagens totalmente gerenciado da AWS
- Uma plataforma distribuída de streaming de código aberto
- Um mecanismo de computação serverless para trabalhos em lote
4. Qual é a principal diferença entre uma fila SQS Standard e uma fila SQS FIFO?
- Filas Standard garantem ordem estrita das mensagens; filas FIFO não garantem
- Filas FIFO garantem ordenação e processamento exatamente uma vez (exactly-once); filas Standard oferecem ordenação por melhor esforço e entrega pelo menos uma vez (at-least-once)
- Filas Standard suportam criptografia; filas FIFO não suportam
- Filas FIFO são mais baratas, mas não possuem limites de vazão
5. O que significa 'entrega pelo menos uma vez' (at-least-once delivery) em um sistema de mensageria?
- Uma mensagem é entregue exatamente uma única vez, sem duplicatas
- Uma mensagem pode ser entregue mais de uma vez, portanto os consumidores devem lidar com duplicatas
- Uma mensagem só é entregue se o consumidor estiver online
- Uma mensagem nunca é entregue mais de uma vez por grupo de consumidores
6. O que é uma Dead Letter Queue (DLQ)?
- Uma fila que exclui mensagens automaticamente após 1 minuto
- Uma fila secundária para onde as mensagens são enviadas após falharem no processamento por um número configurado de vezes
- Uma fila de alta prioridade voltada para alertas urgentes do sistema
- Uma fila que armazena apenas metadados sobre mensagens processadas
7. O que é o Apache Kafka?
- Um banco de dados relacional otimizado para dados de séries temporais
- Uma plataforma distribuída de streaming de eventos projetada para mensageria de alta vazão e tolerante a falhas
- Um serviço de cache em memória gerenciado pela AWS
- Um gateway de API REST para comunicação entre microsserviços
8. Como um tópico do Kafka se diferencia de uma fila de mensagens tradicional?
- Um tópico exclui as mensagens imediatamente após serem lidas por um consumidor
- Um tópico retém mensagens em um log para que múltiplos grupos de consumidores independentes possam ler os mesmos dados
- Um tópico suporta apenas um único produtor por vez
- Um tópico garante a entrega dentro do intervalo de 1 segundo
9. O que é um grupo de consumidores (consumer group) no Kafka?
- Um conjunto de brokers que replicam dados de partição
- Uma coleção de consumidores que consomem conjuntamente um tópico, cada um lendo de um subconjunto distinto de partições
- Um grupo administrativo que gerencia a criação e exclusão de tópicos
- Um grupo de produtores que compartilham o mesmo ID de cliente
10. Por que a ordenação global estrita de mensagens é difícil de garantir em escala em sistemas de mensageria distribuída?
- A latência de rede e o processamento paralelo em múltiplos nós tornam uma sequência global única difícil de impor sem virar um gargalo
- A ordenação exige um banco de dados relacional, o qual sistemas de mensageria não podem utilizar
- Conexões TCP inerentemente embaralham a ordem dos pacotes
- Brokers de mensageria randomizam deliberadamente a ordem para melhorar o desempenho
11. O que é o timeout de visibilidade (visibility timeout) do SQS e por que ele é importante?
- O tempo máximo que uma mensagem pode permanecer na fila antes de ser excluída automaticamente
- O período durante o qual uma mensagem recebida fica oculta para outros consumidores, evitando processamento duplicado
- O atraso antes que uma mensagem recém-enviada fique visível para os consumidores
- A janela de tempo permitida para um consumidor se autenticar antes de ler uma mensagem
12. Qual é a vantagem do long polling em relação ao short polling no SQS?
- O long polling compacta as mensagens para reduzir o uso de largura de banda
- O long polling mantém a conexão aberta por até 20 segundos, reduzindo respostas vazias e diminuindo custos
- O long polling garante que as mensagens cheguem em ordem FIFO
- O long polling permite que consumidores enviem confirmações de volta ao SQS em tempo real
13. Quais são os períodos de retenção de mensagem padrão e máximo em uma fila do SQS?
- Padrão de 1 dia, máximo de 7 dias
- Padrão de 4 dias, máximo de 14 dias
- Padrão de 7 dias, máximo de 30 dias
- Padrão de 1 hora, máximo de 24 horas
14. Como as partições do Kafka viabilizam o paralelismo no consumo de mensagens?
- Cada partição roda em uma região AWS distinta, de modo que os consumidores processem dados geograficamente
- Cada consumidor em um grupo é associado a uma ou mais partições, permitindo que múltiplos consumidores leiam partições diferentes simultaneamente
- Partições comprimem mensagens para que cada consumidor processe o dobro de dados por segundo
- Partições permitem que produtores gravem mais rápido agrupando mensagens em blocos
15. Qual é a diferença entre o offset confirmado (committed offset) e o offset mais recente (latest offset) no Kafka?
- O offset confirmado é a próxima mensagem a ser produzida; o offset mais recente é a última mensagem produzida
- O offset confirmado é a última posição que o grupo de consumidores confirmou ter processado; o offset mais recente é a última mensagem gravada na partição
- O offset confirmado fica armazenado em disco; o offset mais recente fica apenas na memória
- São termos sinônimos utilizados de forma intercambiável na documentação do Kafka
16. O que dispara um rebalanceamento (rebalance) de grupo de consumidores no Kafka?
- O fator de replicação de um tópico ser aumentado por um administrador
- Um consumidor entrar ou sair do grupo, ou o timeout de sessão expirar, fazendo com que as partições sejam redistribuídas entre os consumidores ativos
- Um produtor enviar uma mensagem maior que o tamanho de lote configurado
- A eleição de líder no ZooKeeper concluir uma nova rodada
17. Qual é o objetivo do fator de replicação no Kafka e o que significa ISR?
- O fator de replicação define o TTL da mensagem; ISR significa Retenção em Sincronia
- O fator de replicação controla quantas cópias em brokers existem para cada partição; ISR (In-Sync Replicas) é o conjunto de réplicas totalmente sincronizadas com o líder
- O fator de replicação determina o número de grupos de consumidores; ISR rastreia o atraso deles
- O fator de replicação define o nível de compressão; ISR é o índice de registros armazenados
18. Qual configuração do Kafka atinge a semântica de exatamente uma vez (exactly-once semantics) ponta a ponta?
- Definir acks=0 no produtor e habilitar auto-commit no consumidor
- Habilitar produtores idempotentes (enable.idempotence=true) combinado com APIs transacionais nos produtores e isolation.level=read_committed nos consumidores
- Utilizar um tópico FIFO com partição única e um único consumidor
- Desabilitar lotes e definir max.in.flight.requests.per.connection=1
19. Qual é a principal diferença entre o Amazon SQS, Amazon SNS e Amazon EventBridge?
- SQS é uma fila para mensagens ponto a ponto; SNS é pub/sub para fan-out a múltiplos assinantes; EventBridge é um barramento de eventos com regras de roteamento e registro de esquemas
- SQS é voltado para streaming de dados; SNS é para tarefas em lote; EventBridge é exclusivo para dispositivos IoT
- Todos os três são serviços idênticos com modelos de cobrança diferentes
- SNS retém mensagens por 14 dias como o SQS; EventBridge não retém eventos
20. O que é a compactação de log (log compaction) no Kafka e quando ela deve ser usada?
- Um processo em segundo plano que compacta arquivos de log usando gzip para economizar espaço em disco
- Uma política de retenção que mantém apenas o valor mais recente para cada chave, descartando registros antigos com a mesma chave
- Uma operação do Kafka Streams que mescla dois tópicos em um único tópico ordenado
- Um processo que exclui todas as mensagens mais antigas que o período de retenção configurado
21. Quais são os três arquivos que compõem um segmento de log do Kafka e o que cada um armazena?
- .log armazena os bytes brutos das mensagens; .index mapeia offsets para posições de bytes no .log; .timeindex mapeia timestamps para offsets
- .log armazena offsets; .index armazena bytes de mensagens; .timeindex armazena metadados da partição
- .log armazena o estado do grupo de consumidores; .index armazena IDs de produtores; .timeindex armazena o atraso de replicação
- .log armazena lotes compactados; .index armazena IDs de esquemas; .timeindex armazena tempos de expiração de TTL
22. O que é uma partição quente (hot partition) no Kafka e como o particionamento baseado em chaves a provoca?
- Uma partição quente é aquela que recebe réplicas em excesso; o roteamento baseado em chave distribui réplicas de forma desigual
- Uma partição quente recebe desproporcionalmente mais mensagens que as demais porque uma chave de alta frequência (ex.: ID de usuário popular) sempre gera hash para a mesma partição
- Uma partição quente fica temporariamente offline; o roteamento baseado em chave a evita até que se recupere
- Uma partição quente armazena dados compactados; o particionamento round-robin evita a compactação
23. Como o back-pressure se manifesta em uma cadeia de consumidores do Kafka e qual é uma estratégia comum de mitigação?
- O back-pressure surge como controle de taxa (throttling) no produtor; a mitigação consiste em aumentar o número de tópicos
- O back-pressure surge como um atraso crescente do consumidor (consumer lag) quando o processamento é mais lento que a produção; as mitigações incluem adicionar consumidores até o limite de partições, criar mais partições ou limitar a taxa do produtor
- O back-pressure surge como saturação de disco do broker; a mitigação é ativar a compactação de log
- O back-pressure surge como timeouts do ZooKeeper; a mitigação é migrar para o modo KRaft
24. Como o Kafka Streams difere do Apache Flink e do Apache Spark Structured Streaming para processamento de stream com estado (stateful)?
- O Kafka Streams é um framework em lote; Flink e Spark são motores puros de streaming
- O Kafka Streams é uma biblioteca cliente que executa dentro da sua aplicação sem um cluster dedicado; Flink e Spark são frameworks distribuídos independentes com gerenciamento próprio de recursos
- O Kafka Streams exige Kubernetes; Flink e Spark rodam apenas em bare metal
- O Kafka Streams não oferece suporte a operações com estado; Flink e Spark oferecem
25. Qual é o limite de vazão de uma fila SQS FIFO e de que forma os IDs de grupo de mensagens (Message Group IDs) o influenciam?
- Filas FIFO suportam vazão ilimitada; os IDs de grupo de mensagens não exercem efeito sobre a vazão
- Filas FIFO suportam até 300 mensagens/segundo (ou 3.000 com lotes); mensagens com o mesmo Group ID são processadas sequencialmente, logo mais Group IDs distintos possibilitam maior paralelismo
- Filas FIFO suportam 10.000 mensagens/segundo; cada Group ID adiciona 1.000 mensagens/segundo de capacidade
- Filas FIFO suportam até 1.000 mensagens/segundo, independentemente dos Group IDs
26. Por que um schema registry é importante ao usar Avro ou Protobuf com Kafka, e qual problema ele soluciona?
- Um schema registry criptografa mensagens em trânsito; sem ele, payloads Avro são enviados em texto simples
- Um schema registry centraliza o versionamento de esquemas para que produtores e consumidores evoluam independentemente mantendo compatibilidade, armazenando apenas o ID do esquema no payload da mensagem
- Um schema registry é um plugin de broker do Kafka que valida limites de tamanho de mensagem
- Um schema registry substitui o ZooKeeper no gerenciamento de metadados de cluster em versões recentes do Kafka
27. Quais métricas e ferramentas são habitualmente utilizadas para monitorar o atraso do consumidor (consumer lag) do Kafka em produção?
- O consumer lag só pode ser monitorado por meio do painel de interface web integrado do Kafka
- O consumer lag é monitorado via kafka-consumer-groups.sh, métricas JMX do Kafka (records-lag-max), Prometheus com kafka-exporter ou o exportador JMX da Confluent, e plataformas como Datadog ou Grafana
- O consumer lag só é visível no AWS CloudWatch quando se utiliza o Amazon MSK
- O consumer lag é rastreado por meio da leitura do tópico __consumer_offsets diretamente pelo código da aplicação
28. O que é o padrão Transactional Outbox e como ele resolve problemas de gravação dupla (dual-write) entre um banco de dados e um broker de mensageria?
- O padrão outbox armazena mensagens em uma fila SQS FIFO antes de gravar no banco de dados, garantindo que o banco só atualize se a fila aceitar a mensagem
- O padrão outbox grava a alteração de estado do domínio e a mensagem de saída na mesma transação de banco de dados; um processo de relay separado lê a tabela outbox e publica no broker, garantindo atomicidade sem transações distribuídas
- O padrão outbox utiliza confirmação em duas fases (two-phase commit) entre o banco de dados e o broker Kafka para garantir gravações simultâneas
- O padrão outbox armazena mensagens na memória da aplicação e as envia ao Kafka após a transação do banco de dados ser confirmada
29. O que é o Kafka Connect e quais são seus dois tipos principais de conectores?
- O Kafka Connect é uma biblioteca cliente para construir grupos customizados de consumidores; seus dois tipos são conectores de polling e push
- O Kafka Connect é um framework para streaming escalável de dados entre o Kafka e sistemas externos; conectores Source ingerem dados no Kafka e conectores Sink exportam dados do Kafka para alvos externos
- O Kafka Connect é uma ferramenta de monitoramento; seus tipos de conectores são para métricas e para logs
- O Kafka Connect é uma extensão do schema registry; seus tipos são conectores Avro e conectores Protobuf
30. Como a replicação entre regiões difere entre o fan-out baseado em SQS e o Kafka MirrorMaker 2?
- O fan-out do SQS e o MirrorMaker 2 são funcionalmente idênticos; a escolha depende exclusivamente do custo
- O fan-out do SQS usa o SNS para enviar mensagens simultaneamente para filas em múltiplas regiões (ativo-ativo), enquanto o MirrorMaker 2 replica assincronamente tópicos do Kafka e offsets de grupos de consumidores entre clusters, suportando topologias ativo-ativo e ativo-passivo
- O fan-out do SQS replica mensagens usando o Kafka Connect; o MirrorMaker 2 usa o AWS DataSync
- O MirrorMaker 2 funciona apenas com semântica exactly-once; o fan-out do SQS funciona apenas com semântica at-most-once
Sobre este quiz
Este quiz interativo foi desenvolvido para oferecer uma experiência dinâmica, rápida e envolvente. Cada pergunta traz alternativas em ordem aleatória, e seu resultado é calculado imediatamente no final. Você pode refazer o teste quantas vezes desejar e compartilhar o resultado com seus amigos!
Destaques do quiz:
- ✓100% gratuito e sem necessidade de cadastro
- ✓Perguntas objetivas com feedback instantâneo
- ✓Gere card personalizado e compartilhe seus resultados
Perguntas frequentes
Ao responder cada pergunta, o sistema calcula automaticamente suas preferências e escolhas para definir seu resultado final de forma precisa e instantânea.