BACKEND30 perguntas • ~12 min
Quiz de Arquitetura de Sistemas
Teste seus conhecimentos sobre microsserviços, cache, escalabilidade e resiliência.
Quiz de Arquitetura de Sistemas
Teste seus conhecimentos sobre microsserviços, cache, escalabilidade e resiliência.
1. Qual é a principal diferença entre uma arquitetura monolítica e uma de microsserviços?
- Um monólito usa contêineres; microsserviços não
- Um monólito é implantado como uma única unidade; microsserviços são implantados como serviços independentes
- Microsserviços devem compartilhar um único banco de dados; um monólito não pode
- Um monólito só pode rodar em um servidor; microsserviços rodam em vários
2. Qual método HTTP é convencionalmente utilizado para ATUALIZAR um recurso existente em uma API REST?
- POST
- GET
- PUT
- DELETE
3. Em uma frase, o que o Docker faz?
- Provisiona máquinas virtuais em provedores de nuvem
- Empacota uma aplicação e suas dependências em um contêiner portátil que roda de forma consistente em qualquer lugar
- Substitui o kernel do sistema operacional para obter melhor desempenho
- Orquestra clusters de servidores em vários data centers
4. O que significa a sigla CI/CD?
- Container Integration / Container Delivery
- Continuous Inspection / Continuous Deployment
- Continuous Integration / Continuous Delivery (ou Deployment)
- Code Integration / Code Distribution
5. Por que variáveis de ambiente são preferíveis em relação a valores embutidos no código para segredos de uma aplicação?
- Fazem a aplicação rodar mais rápido
- Mantêm informações sensíveis fora do código-fonte e permitem configurações específicas por ambiente
- São automaticamente criptografadas no nível do sistema operacional
- São exigidas pelo ambiente de execução do Docker
6. Qual é o principal papel de um balanceador de carga?
- Comprimir respostas HTTP antes que cheguem ao cliente
- Distribuir o tráfego de rede de entrada entre múltiplos servidores
- Armazenar em cache os resultados de consultas ao banco de dados
- Monitorar logs da aplicação em tempo real
7. Qual é a diferença entre escalabilidade horizontal e vertical?
- Escalabilidade horizontal adiciona mais CPU/RAM a um único servidor; escalabilidade vertical adiciona mais servidores
- Escalabilidade horizontal adiciona mais servidores; escalabilidade vertical adiciona mais CPU/RAM a um servidor existente
- São o mesmo conceito, mas com nomes diferentes em cada provedor de nuvem
- Escalabilidade horizontal aplica-se apenas a bancos de dados; escalabilidade vertical aplica-se apenas a servidores web
8. Quando o Nginx é usado como proxy reverso, qual direção de tráfego ele gerencia principalmente?
- Requisições de serviços internos para o banco de dados
- Requisições de saída do servidor para APIs externas
- Requisições de clientes recebidas que são encaminhadas para servidores de aplicação backend
- Tráfego entre microsserviços dentro de um cluster Kubernetes
9. Qual é o propósito de um endpoint de health check (por exemplo, GET /health) em um serviço web?
- Retornar o uso atual de CPU e memória para o usuário final
- Permitir que balanceadores de carga e orquestradores verifiquem se o serviço está funcionando corretamente
- Disparar uma reinicialização manual do serviço
- Expor a documentação interna da API
10. Em um pipeline de implantação, o que um rollback realiza?
- Exclui todos os dados gravados desde o último lançamento
- Reverte a aplicação em execução para uma versão estável anterior conhecida
- Reduz o número de instâncias de volta para zero
- Redefine variáveis de ambiente para seus valores padrão
11. O fator 'Configurações' da metodologia The Twelve-Factor App estabelece que as configurações devem ser armazenadas em:
- Um arquivo de configuração commitado junto ao código-fonte
- Variáveis de ambiente
- Um microsserviço dedicado a configurações
- Uma tabela de banco de dados relacional
12. Em uma implantação blue/green, o que acontece com o ambiente 'blue' após a troca bem-sucedida para o 'green'?
- É excluído permanentemente para reduzir custos
- Continua recebendo 50% do tráfego de produção
- Permanece ocioso e pode servir como alvo de rollback
- É atualizado automaticamente para corresponder ao ambiente green
13. O que diferencia uma implantação canário (canary) de uma implantação blue/green?
- Implantações canário exigem dois ambientes idênticos; blue/green exige apenas um
- Implantações canário direcionam gradualmente uma pequena porcentagem do tráfego para a nova versão antes de uma implantação completa
- Implantações canário são usadas apenas para migrações de banco de dados
- Implantações blue/green são sempre mais rápidas do que implantações canário
14. No Kubernetes, qual é o papel de um Pod?
- É o componente do control plane que agenda contêineres nos nós
- É a menor unidade implantável, agrupando um ou mais contêineres co-localizados que compartilham rede e armazenamento
- É o equivalente no Kubernetes a uma máquina virtual
- É o manifesto de configuração de um cluster Kubernetes
15. Qual é a principal diferença entre a descoberta de serviços (service discovery) baseada em DNS e baseada em registro?
- A descoberta por DNS funciona apenas dentro de um único host; a baseada em registro funciona entre múltiplos hosts
- A descoberta por DNS resolve nomes de serviços para IPs via DNS padrão; serviços baseados em registro consultam um registro dedicado (como Consul) para obter listas de instâncias ativas
- A descoberta baseada em registro é mais lenta porque exige uma viagem de ida e volta ao registro a cada requisição
- Não há diferença prática: ambas alcançam exatamente o mesmo resultado
16. Qual problema o padrão API Gateway resolve em uma arquitetura de microsserviços?
- Substitui a necessidade de um broker de mensagens entre os serviços
- Fornece um único ponto de entrada para clientes, gerenciando preocupações transversais como autenticação, limitação de taxa e roteamento
- Sincroniza automaticamente os bancos de dados entre os serviços
- Elimina a necessidade de verificações de integridade nos serviços
17. Por que os microsserviços devem ser projetados para serem sem estado (stateless)?
- Serviços stateless rodam mais rápido porque nunca gravam no disco
- Serviços stateless podem ser escalados horizontalmente e substituídos sem necessidade de migrar dados de sessão
- Serviços stateless não necessitam de balanceador de carga
- O Kubernetes oferece suporte apenas a cargas de trabalho stateless
18. No padrão Circuit Breaker, o que o estado 'Half-Open' representa?
- O circuito fica permanentemente desativado e o tráfego é rejeitado
- O circuito permite a passagem de um número limitado de requisições de teste para verificar se o serviço downstream se recuperou
- O circuito está passando todo o tráfego normalmente após uma recuperação bem-sucedida
- O circuito está bloqueado, mas continua registrando requisições em log para fins de auditoria
19. Como o algoritmo de balde de tokens (token bucket) se diferencia do algoritmo de balde furado (leaky bucket) no controle de taxa?
- O token bucket impõe uma taxa de saída rigorosamente constante; o leaky bucket permite picos de tráfego até a capacidade do balde
- O token bucket permite picos de tráfego até a capacidade do balde; o leaky bucket impõe uma taxa de saída rigorosamente constante
- Eles são idênticos: apenas nomes distintos utilizados por diferentes fornecedores
- O leaky bucket é usado apenas para tráfego UDP; o token bucket é para HTTP
20. O que significa 'infraestrutura imutável'?
- Servidores recebem patches diretamente no local e nunca são reiniciados
- Servidores nunca são modificados após a implantação; alterações são aplicadas substituindo instâncias por novas criadas a partir de imagens atualizadas
- Arquivos de configuração de infraestrutura são armazenados em um bucket S3 somente leitura
- Todos os servidores de um cluster devem possuir especificações de hardware idênticas
21. Por que uma atualização progressiva (rolling update) no Kubernetes usa readiness probes antes de direcionar tráfego para novos pods?
- Para verificar se a imagem do contêiner foi assinada por um registro confiável
- Para garantir que o novo pod esteja totalmente inicializado e pronto para atender requisições antes que os pods antigos sejam removidos
- Para limitar a velocidade da implantação e evitar sobrecarregar o scheduler
- Para rodar migrações de banco de dados dentro do novo pod antes do envio de tráfego
22. O que é o padrão expand-contract (mudança paralela) para migrações de banco de dados?
- Executar um backup completo do banco de dados antes e depois de cada alteração de esquema
- Primeiro expandir o esquema para dar suporte a ambas as estruturas (antiga e nova), implantar o código compatível com ambas e depois contrair o esquema removendo a estrutura antiga
- Escalar o cluster de banco de dados horizontalmente antes de aplicar uma migração e reduzi-lo depois
- Usar feature flags para ocultar novas colunas dos usuários até que a migração esteja concluída
23. No contexto de sistemas distribuídos, o que a idempotência de uma API garante?
- Que uma requisição sempre será processada em menos de 100 ms
- Que fazer a mesma requisição múltiplas vezes produz o mesmo resultado que realizá-la uma única vez
- Que a API repetirá automaticamente requisições que falharam em nome do cliente
- Que cada requisição é processada exatamente por uma instância de servidor
24. No padrão Saga, qual é a principal diferença entre coreografia e orquestração?
- A coreografia usa um coordenador central para chamar cada serviço em ordem; a orquestração usa eventos emitidos por cada serviço
- Na coreografia, cada serviço reage a eventos de domínio e publica novos eventos; na orquestração, um orquestrador central de sagas comanda explicitamente cada etapa
- A coreografia é usada apenas para operações de leitura; a orquestração é apenas para operações de escrita
- São implementações equivalentes com apenas convenções de nomes distintas
25. O padrão Strangler Fig é utilizado para:
- Substituir gradualmente um monólito legado roteando funcionalidades específicas para novos microsserviços até que o monólito possa ser aposentado
- Limitar o tráfego de um sistema legado para forçar os usuários a migrarem para a nova plataforma mais rapidamente
- Injetar falhas em um sistema legado para descobrir dependências ocultas antes da migração
- Envolver um banco de dados legado com um ORM para desacoplá-lo da camada de aplicação
26. Qual é o principal objetivo de ferramentas de engenharia do caos como Chaos Monkey e Gremlin?
- Realizar testes de estresse em bancos de dados gerando milhões de operações aleatórias de escrita
- Injetar falhas proativamente em sistemas de produção para expor fraquezas antes que provoquem indisponibilidades não planejadas
- Simular alta latência de rede durante testes de carga exclusivamente em ambientes de homologação
- Fazer fuzzing de entradas de API e identificar vulnerabilidades de segurança em microsserviços
27. O que uma malha de serviços (service mesh) como Istio ou Linkerd oferece que um API Gateway tradicional não oferece?
- Um único ponto de entrada externo para todo o tráfego HTTP voltado aos clientes
- TLS mútuo (mTLS), observabilidade de tráfego e roteamento granular entre todas as chamadas de serviço para serviço dentro do cluster
- Autoescalabilidade horizontal de pods automática baseada no tráfego de rede
- Resolução de DNS para serviços que abrangem múltiplos namespaces do Kubernetes
28. No GitOps (utilizando ArgoCD ou Flux), qual é a fonte única da verdade para o estado desejado do cluster?
- Os contêineres em execução no cluster Kubernetes
- Um repositório Git contendo manifestos declarativos de infraestrutura e aplicação
- O artefato publicado mais recentemente pelo pipeline de CI
- Um runbook de operações armazenado em uma wiki
29. Em uma arquitetura ativo-ativo multirregião, qual desafio de consistência deve ser explicitamente tratado?
- Garantir que todas as regiões usem o mesmo digest de imagem de contêiner
- Lidar com conflitos de escrita e atraso de replicação quando o mesmo dado puder ser modificado simultaneamente em regiões distintas
- Roteamento de todas as escritas através de uma única região primária para evitar latência
- Sincronizar relógios de nós Kubernetes entre regiões via NTP
30. Quais são os três pilares da observabilidade completa em um sistema distribuído e por que IDs de correlação são importantes?
- Disponibilidade (uptime), latência e taxa de erros; IDs de correlação associam alertas de SLO a escalas de plantão
- Logs, métricas e rastreamentos (traces); IDs de correlação permitem rastrear uma única requisição de ponta a ponta por todos os serviços e sua telemetria
- Painéis (dashboards), alertas e runbooks; IDs de correlação substituem a necessidade de rastreamento distribuído
- CPU, memória e disco; IDs de correlação mapeiam métricas de infraestrutura para implantações de aplicações
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.