Questões de Concurso Comentadas sobre arquitetura de software

Foram encontradas 7.584 questões

Q4216316 Arquitetura de Software
A orquestração de contêineres permite automatizar a implantação, o escalonamento e o gerenciamento de aplicações distribuídas.

Nesse contexto, ferramentas surgiram para administrar clusters de nós computacionais e garantir alta disponibilidade e eficiência operacional.

Diante do exposto, analise as afirmativas a seguir. 

I. O Kubernetes é uma plataforma de orquestração de contêineres que permite automatizar a implantação, o escalonamento e a gestão de aplicações em clusters de nós computacionais.
II. O Rancher é uma ferramenta nativa do Kubernetes utilizada para o gerenciamento de clusters.
III. Em um cluster Kubernetes, os nós de trabalho executam os pods, enquanto o plano de controle é responsável pelo gerenciamento do estado do cluster.

Está correto o que se afirma em 
Alternativas
Q4216307 Arquitetura de Software
Uma equipe mantém uma API REST documentada por meio de uma especificação OpenAPI 3.x, exibida no Swagger UI. Parte dos endpoints exige autenticação por token do tipo bearer no formato JWT, enviado no cabeçalho Authorization. Contudo, na interface gerada, essas operações não exibem o botão Authorize nem ficam corretamente marcadas como protegidas.

Sem alterar a implementação da API e atuando apenas na especificação OpenAPI, a equipe precisa configurar a documentação para que o Swagger UI reconheça formalmente esse mecanismo de segurança e permita seu uso nas operações protegidas.

Nesse contexto, assinale a opção que apresenta a medida tecnicamente mais adequada. 
Alternativas
Q4216302 Arquitetura de Software
Uma organização iniciou a modernização de seu sistema corporativo. A aplicação, antes monolítica, foi gradualmente dividida em serviços independentes para atender módulos como autenticação, faturamento e catálogo.

Durante a transição, parte da integração entre sistemas legados permaneceu baseada em contratos formais descritos em XML, enquanto os novos serviços passaram a expor APIs HTTP com troca de mensagens em JSON.

Com base nesse cenário, avalie as afirmativas a seguir.

I. A coexistência, no mesmo ambiente, de serviços que utilizam contratos formais em XML e de APIs HTTP com JSON é compatível com um processo de transição arquitetural, não sendo suficiente, por si só, para descaracterizar uma adoção de microsserviços.
II. Em uma arquitetura de microsserviços, a divisão do sistema em vários serviços garante baixo acoplamento e independência de evolução, mesmo que todos compartilhem o mesmo banco de dados e dependam de mudanças coordenadas no esquema relacional.
III. Os microsserviços podem ser compreendidos como uma abordagem específica de arquitetura orientada a serviços, de modo que nem toda solução orientada a serviços caracteriza, necessariamente, uma arquitetura de microsserviços.

Está correto o que se afirma em
Alternativas
Q4216301 Arquitetura de Software
Uma equipe mantém uma aplicação web estruturada segundo o modelo MVC (Modelo-Visão-Controlador). Após sucessivas evoluções, os controladores passaram a concentrar validações de negócio, cálculos, verificação de permissões e decisões sobre transições de estado.

Como consequência, regras semelhantes começaram a ser repetidas em diferentes controladores, e mudanças em uma mesma política funcional passaram a exigir alterações em vários pontos do sistema. Em uma revisão arquitetural, decidiu-se promover uma refatoração para reduzir esse problema mantendo a separação de responsabilidades e favorecendo a reusabilidade.

Nesse contexto, de acordo com o modelo MVC, assinale a opção que apresenta a medida mais adequada.
Alternativas
Q4216247 Arquitetura de Software

APIs expostas publicamente estão sujeitas a diferentes tipos de uso indevido, como excesso de requisições, tentativas de negação de serviço e exploração de recursos de forma abusiva. Para mitigar esses riscos sem comprometer a disponibilidade para usuários legítimos, mecanismos de controle de tráfego, como rate limiting, são adotados em arquiteturas back-end modernas, equilibrando segurança, desempenho e experiência do consumidor.


Considere uma API REST utilizada por múltiplos clientes externos, com picos de acesso imprevisíveis. A equipe precisa proteger a API contra abusos e sobrecarga, sem impedir o uso legítimo e mantendo previsibilidade no consumo dos recursos.


Nesse contexto, assinale a alternativa que descreve corretamente a função e o benefício técnico do uso de rate limiting em APIs back-end.

Alternativas
Q4216246 Arquitetura de Software

A avaliação de desempenho em sistemas back-end distribuídos exige a identificação precisa de gargalos que limitam escalabilidade e tempo de resposta. Em ambientes de alta concorrência, problemas de desempenho podem estar relacionados a CPU, memória, acesso a banco de dados, comunicação em rede ou sincronização entre componentes, sendo fundamental analisar o comportamento do sistema de forma sistêmica e baseada em evidências.


Considere uma aplicação back-end que passou por escalabilidade horizontal, com aumento do número de instâncias, mas continua apresentando alto tempo de resposta sob carga intensa. Monitoramentos indicam que o consumo de CPU e memória das instâncias estão baixos, enquanto o tempo médio de resposta das requisições permanece elevado.


Nesse contexto, assinale a alternativa que descreve corretamente a hipótese técnica mais plausível para explicar o problema observado e orientar a investigação do gargalo.

Alternativas
Q4216245 Arquitetura de Software

Em sistemas back-end expostos por meio de APIs, a evolução contínua das funcionalidades é inevitável. No entanto, mudanças não planejadas podem quebrar contratos existentes e afetar aplicações consumidoras. Por esse motivo, estratégias de versionamento de APIs são adotadas para permitir evolução controlada, preservando compatibilidade e reduzindo impactos em ambientes distribuídos com múltiplos clientes.


Considere uma API REST amplamente utilizada por aplicações internas e externas. Novos requisitos exigem alterações estruturais nas respostas e inclusão de novos comportamentos que não são compatíveis com versões anteriores da API, sem possibilidade de migração imediata de todos os consumidores.


Nesse contexto, assinale a alternativa que descreve corretamente a estratégia mais adequada para evoluir a API sem causar indisponibilidade ou quebra de compatibilidade para os clientes existentes

Alternativas
Q4216243 Arquitetura de Software

Em sistemas distribuídos e baseados em microsserviços, falhas parciais são esperadas e inevitáveis. Dependências externas podem tornar-se lentas ou indisponíveis, propagando falhas em cascata e degradando a experiência do usuário.


Para mitigar esse risco, padrões de resiliência são adotados com o objetivo de isolar falhas, proteger recursos e permitir recuperação controlada do sistema.


Considere uma API back-end que depende de um serviço externo de pagamento. Em situações de instabilidade desse serviço, a API começa a apresentar lentidão generalizada e falhas sucessivas, afetando usuários que não dependem diretamente da funcionalidade de pagamento.


Nesse contexto, assinale a alternativa que descreve corretamente a aplicação do padrão Circuit Breaker para aumentar a resiliência do sistema.

Alternativas
Q4216242 Arquitetura de Software
Em sistemas back-end de alta demanda, mecanismos de cache são amplamente utilizados para reduzir latência e carga sobre bancos de dados. Soluções como Redis permitem armazenar dados temporários em memória, melhorando o tempo de resposta. Entretanto, o uso de cache introduz desafios relacionados à consistência dos dados, exigindo estratégias adequadas para evitar respostas desatualizadas ou inconsistentes em aplicações distribuídas.
Considere uma API back-end que utiliza um banco de dados relacional como fonte primária de dados e um cache em memória (Redis) para acelerar consultas frequentes. Os dados podem ser atualizados por múltiplas operações concorrentes, e a aplicação deve equilibrar desempenho e consistência.
Nesse contexto, assinale a alternativa que descreve corretamente uma estratégia adequada de uso de cache para reduzir inconsistências sem comprometer significativamente o desempenho da aplicação.
Alternativas
Q4216241 Arquitetura de Software

Considere uma aplicação back-end estruturada em camadas, como apresentação (controllers), negócio (services) e acesso a dados (repositories). Essa organização é comum em frameworks modernos e visa melhorar a qualidade do software ao longo do tempo.


Nesse contexto, assinale a alternativa que descreve corretamente o principal benefício técnico da separação de responsabilidades em camadas no desenvolvimento back-end.

Alternativas
Q4216239 Arquitetura de Software
Sistemas back-end que atendem grande volume de usuários precisam ser projetados para crescer de forma sustentável. A escalabilidade é um requisito arquitetural central e pode ser alcançada por diferentes estratégias, sendo as mais comuns a escalabilidade vertical e a escalabilidade horizontal. A escolha entre essas abordagens impacta diretamente no custo, resiliência, disponibilidade e complexidade operacional do sistema.
Considere uma API corporativa que apresenta picos imprevisíveis de acesso e precisa manter alta disponibilidade mesmo em caso de falha de servidores individuais, além de permitir crescimento gradual da capacidade conforme a demanda.
Nesse contexto, assinale a alternativa que descreve corretamente a estratégia de escalabilidade mais adequada para atender a esses requisitos e a justificativa técnica associada.
Alternativas
Q4216238 Arquitetura de Software

À medida que sistemas back-end evoluem para arquiteturas distribuídas e baseadas em microsserviços, torna-se inviável compreender o comportamento do sistema apenas por meio de testes locais ou depuração tradicional. Nesse contexto, práticas de observabilidade permitemanalisar o estado interno do sistema a partir de seus artefatos externos, possibilitando identificação de falhas, gargalos de desempenho e comportamentos anômalos em ambientes de produção.


Considere uma aplicação composta por diversos microsserviços que se comunicam entre si para atender requisições de usuários. Em produção, a equipe precisa identificar rapidamente a causa raiz de falhas intermitentes e degradações de desempenho que ocorrem apenas sob carga real, sem interromper o serviço.


Nesse cenário, assinale a alternativa que descreve corretamente a combinação de práticas de observabilidade mais adequada para atender a esse objetivo em sistemas distribuídos.

Alternativas
Q4216236 Arquitetura de Software

Em APIs REST bem projetadas, o uso adequado dos métodos HTTP é fundamental para garantir previsibilidade, segurança e correto tratamento de falhas. Entre os princípios envolvidos, a idempotência desempenha papel relevante, pois permite que determinadas requisições sejam repetidas sem produzir efeitos colaterais adicionais no estado do sistema, característica importante em ambientes distribuídos sujeitos a falhas de rede e reenvio de mensagens.


Considere uma API REST utilizada por diferentes clientes, em que falhas de comunicação podem levar ao reenvio automático de requisições. O sistema deve garantir que operações críticas não sejam executadas mais de uma vez de forma indevida. Nesse contexto, assinale a alternativa que descreve corretamente a relação entre idempotência e o uso dos métodos HTTP em APIs REST.

Alternativas
Q4216235 Arquitetura de Software

Sistemas distribuídos modernos frequentemente combinam diferentes modelos de comunicação para atender requisitos de desempenho, escalabilidade e resiliência. A comunicação síncrona, como chamadas diretas via HTTP, oferece simplicidade e resposta imediata, enquanto a comunicação assíncrona, baseada em eventos ou mensageria, reduz acoplamento temporal e aumenta tolerância a falhas, sendo especialmente relevante em arquiteturas de microsserviços.


Considere uma arquitetura de microsserviços em que um serviço de Processamento de Pedidos precisa acionar, de forma confiável, serviços de Faturamento e Notificação. O sistema deve continuar aceitando pedidos mesmo quando um desses serviços estiver temporariamente indisponível, sem bloquear o fluxo principal da aplicação.


Nesse contexto, assinale a alternativa que descreve corretamente a estratégia arquitetural mais adequada para atender a esses requisitos, considerando comunicação entre serviços.

Alternativas
Q4216234 Arquitetura de Software

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.

Alternativas
Q4216233 Arquitetura de Software
Em arquiteturas de microsserviços, a autonomia dos serviços favorece escalabilidade e evolução independente, mas impõe desafios relevantes na gestão de dados. A adoção do princípio “banco de dados por serviço” reduz acoplamento, porém dificulta transações distribuídas tradicionais, exigindo estratégias arquiteturais para manter consistência e confiabilidade em operações que atravessam múltiplos serviços. Uma abordagem recorrente é o padrão Saga, que coordena transações locais e compensações, evitando bloqueios globais típicos de transações ACID distribuídas.
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.
Alternativas
Q4216226 Arquitetura de Software

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.

Alternativas
Q4216225 Arquitetura de Software
A integração entre sistemas distribuídos é um requisito central em arquiteturas modernas, especialmente em ambientes que adotam microsserviços e aplicações web escaláveis. Nesse contexto, APIs REST tornaram-se amplamente utilizadas por adotarem princípios simples de comunicação, baseados no protocolo HTTP, permitindo interoperabilidade entre clientes e servidores de forma padronizada e independente de plataforma. Considere uma aplicação back-end que disponibiliza serviços para diferentes clientes (aplicações web, mobile e outros sistemas), utilizando uma API REST para realizar operações sobre recursos como usuários, pedidos e produtos. Com base nos princípios das APIs REST, assinale a alternativa que descreve corretamente uma prática coerente com esse estilo arquitetural.
Alternativas
Q4216224 Arquitetura de Software
Com a crescente demanda por sistemas escaláveis e de rápida evolução, a arquitetura de microsserviços tem sido amplamente adotada em ambientes corporativos modernos. Nesse contexto, assinale a alternativa que descreve corretamente uma característica essencial da arquitetura de microsserviços.
Alternativas
Q4216223 Arquitetura de Software

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.

Alternativas
Respostas
41: C
42: A
43: C
44: C
45: B
46: D
47: C
48: A
49: D
50: C
51: A
52: D
53: A
54: B
55: D
56: C
57: D
58: B
59: A
60: C