Questões de Concurso Sobre arquitetura de software
Foram encontradas 8.215 questões
Em arquiteturas baseadas em microsserviços, a execução de aplicações em contêineres exige mecanismos robustos para gerenciamento de implantação, escalabilidade, tolerância a falhas e atualização contínua. O Kubernetes consolidou-se como uma plataforma de orquestração que abstrai a infraestrutura subjacente e automatiza tarefas operacionais, permitindo que aplicações back-end escalem de forma controlada e resiliente.
Considere uma aplicação back-end executada em contêineres Docker, implantada em um cluster Kubernetes. A aplicação apresenta variação significativa de carga ao longo do dia e precisa manter disponibilidade mesmo diante de falhas em nós do cluster, sem intervenção manual da equipe de operações.
Nesse contexto, assinale a alternativa que descreve corretamente um recurso do Kubernetes que atende simultaneamente aos requisitos de escalabilidade e alta disponibilidade da aplicação.
Considere um sistema de marketplace implementado em microsserviços, com os seguintes serviços: Pedido, Pagamento e Estoque, cada um com seu próprio banco de dados. Ao confirmar uma compra, o fluxo exige: (1) criar o pedido, (2) reservar o estoque e (3) confirmar o pagamento. Em caso de falha em qualquer etapa, o sistema deve retornar a um estado consistente, sem depender de uma transação distribuída única com bloqueio entre bancos.
Assinale a alternativa que descreve corretamente a estratégia arquitetural mais adequada, nesse cenário, para garantir consistência de dados sem uso de transações distribuídas ACID, reduzindo risco de bloqueios e aumentando resiliência.
Em ambientes corporativos distribuídos, a interoperabilidade entre sistemas é essencial para garantir troca de informações consistente e integração entre aplicações desenvolvidas em diferentes plataformas e linguagens. O uso de APIs padronizadas permite que sistemas heterogêneos se comuniquem de forma controlada, reduzindo acoplamento e facilitando a evolução tecnológica ao longo do tempo.
Considere um cenário em que diferentes aplicações — desenvolvidas em linguagens distintas e executando em ambientes variados — precisam consumir serviços de um sistema central por meio de APIs.
Nesse contexto, assinale a alternativa que descreve corretamente uma prática que favorece a interoperabilidade entre sistemas integrados por APIs.
Em sistemas corporativos de médio e grande porte, a arquitetura de software desempenha papel central na integração entre aplicações, na reutilização de funcionalidades e na evolução dos sistemas ao longo do tempo. A Arquitetura Orientada a Serviços (SOA) surgiu como uma abordagem para organizar sistemas distribuídos a partir de serviços bem definidos, promovendo interoperabilidade, padronização de interfaces e independência entre consumidores e provedores de serviços.
Considere um cenário em que uma organização possui diversos sistemas legados e precisa integrá-los de forma padronizada, permitindo que aplicações distintas consumam funcionalidades comuns sem forte dependência de implementação ou linguagem. Nesse contexto, assinale a alternativa que descreve corretamente uma característica fundamental da Arquitetura Orientada a Serviços (SOA) que justifica sua adoção em ambientes corporativos integrados.
Uma organização implementou um sistema distribuído no qual a execução de uma operação de negócio complexa depende da coordenação centralizada de múltiplos microsserviços, com um componente dedicado responsável por invocar cada serviço na sequência correta, tratar falhas parciais e garantir a consistência do fluxo transacional. Nesse modelo de coordenação, o padrão adotado é:
Em um sistema de armazenamento definido por software, o plano de dados é organizado de forma que múltiplos serviços de armazenamento — como verificação de malware, cache, compressão e criptografia — são aplicados sequencialmente sobre os fluxos de E/S, seguindo uma ordem vertical fixa em que cada componente recebe requisições apenas do elemento imediatamente acima e encaminha para o imediatamente abaixo, conforme políticas definidas pelo plano de controle. Esse modelo de organização interna dos estágios do plano de dados corresponde a:
I. A transição do monólito para microsserviços reduz a complexidade operacional da infraestrutura, uma vez que os serviços passam a compartilhar um único banco de dados centralizado, reduzindo a necessidade de coordenação distribuída.
II. O padrão Strangler Fig (Padrão Estrangulador) representa uma estratégia recomendada para migração gradual, na qual funcionalidades do sistema legado são substituídas incrementalmente por novos serviços até a possível desativação do sistema original.
III. Em arquiteturas de microsserviços, ganhos relacionados à escalabilidade e autonomia de desenvolvimento podem ser acompanhados por desafios associados à consistência eventual de dados, observabilidade e monitoramento de transações distribuídas.
Está correto o que se afirma apenas em
( ) Container é o agrupamento de uma aplicação junto com suas dependências, que não compartilham o kernel do sistema operacional do host.
( ) Docker é uma plataforma para executar aplicações em containers.
( ) Containers e máquinas virtuais são equivalentes.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
Analise as afirmações, considerando-as verdadeiras (V) ou falsas (F).
(_) Para que os dados de um banco de dados persistam após a remoção do container, é necessário configurar um volume, pois, por padrão, o sistema de arquivos de um container é efêmero e todos os dados são perdidos ao destruí-lo.
(_) No Docker Compose, containers declarados no mesmo arquivo são automaticamente colocados em uma rede compartilhada, permitindo que se comuniquem usando o nome do serviço como hostname, sem necessidade de configuração adicional de rede.
(_) O Docker Compose garante, por padrão, que um container de aplicação só inicie após o banco de dados estar completamente pronto para aceitar conexões, bastando usar a diretiva depends_on.
A sequência CORRETA, de cima para baixo, é