Questões de Concurso Sobre arquitetura de software

Foram encontradas 8.270 questões

Q4217842 Arquitetura de Software
Uma consultoria foi contratada para auditar a infraestrutura de integração de uma sociedade empresária que adota arquiteturas orientadas a serviços. Durante a análise, o auditor encontrou as seguintes descrições em um documento da equipe técnica:

- "usamos um diretório para que novos sistemas consigam localizar automaticamente os serviços disponíveis";
- "cada serviço expõe sua especificação em um documento que outros sistemas leem para saber como invocá-lo".



Considerando os padrões adotados em uma arquitetura SOA, as duas funcionalidades descritas são desempenhadas, respectivamente, por 
Alternativas
Q4217840 Arquitetura de Software
A arquitetura REST (Representational State Transfer), proposta por Roy Fielding, define um conjunto de restrições arquiteturais para o projeto de serviços web escaláveis, baseados no protocolo HTTP. Os serviços RESTful utilizam os métodos HTTP (GET, POST, PUT, PATCH, DELETE) como verbos de operação, URIs como identificadores de recursos, e códigos de status HTTP para comunicar o resultado das operações, promovendo interoperabilidade, desacoplamento entre cliente e servidor e navegabilidade entre recursos.
Considere que uma equipe de desenvolvimento está projetando uma API RESTful para um sistema de gerenciamento de tarefas. A API deverá permitir as operações de criação, leitura, atualização completa, atualização parcial e exclusão de tarefas. A equipe definiu o recurso tarefa e precisa mapear corretamente os métodos HTTP, as URIs e os códigos de status de resposta.
Considerando as restrições arquiteturais REST e as boas práticas de projeto de APIs RESTful, assinale a afirmativa correta. 
Alternativas
Q4217807 Arquitetura de Software
O Spring é um dos frameworks mais consolidados no ecossistema Java para o desenvolvimento de aplicações corporativas.
Por meio de conceitos como Inversão de Controle (IoC) e Injeção de Dependências (DI), o Spring promove o baixo acoplamento entre componentes, enquanto o Spring Boot simplifica a configuração e a inicialização de projetos por meio de convenções e autoconfiguração.
Considere o seguinte trecho de código utilizando Spring Boot:


@RestController @RequestMapping("/produtos") public class ProdutoController {
 @Autowired  private ProdutoService produtoService;
 @GetMapping("/{id}")  public ResponseEntity<Produto> buscarPorId(@PathVariable Long id) {  Produto produto = produtoService.buscarPorId(id);  return ResponseEntity.ok(produto);  }
 @PostMapping  public ResponseEntity<Produto> salvar(@RequestBody Produto produto) {  Produto salvo = produtoService.salvar(produto);  return ResponseEntity.status(HttpStatus.CREATED).body(salvo);  } }




Sobre o código apresentado, considerando os conceitos do Spring Framework e o comportamento padrão do Spring Boot, assinale a afirmativa correta. 
Alternativas
Q4217507 Arquitetura de Software
Uma sociedade empresária de desenvolvimento de aplicações web realizou a migração de seus servidores, antes hospedados em data center próprio, para um serviço em nuvem.
Nessa nova abordagem, os desenvolvedores passaram apenas a submeter código, que é executado automaticamente em resposta a eventos, como requisições de usuários ou alterações em banco de dados. Além disso, o custo do serviço passou a variar conforme a utilização.
Com base no cenário apresentado, assinale a opção que indica o modelo de serviço em nuvem utilizado pela sociedade empresária. 
Alternativas
Q4217148 Arquitetura de Software
Assinale a opção que descreve uma prática correta de acessibilidade para garantir que usuários de leitores de tela compreendam e operem o conteúdo web. 
Alternativas
Q4217147 Arquitetura de Software
Sobre as diretrizes de acessibilidade para conteúdo web, com base nas diretrizes da WCAG 2.1, analise as afirmativas a seguir.

I. De acordo com as diretrizes de acessibilidade, a cor pode ser usada como o único meio visual para transmitir informações ou distinguir elementos em uma página, desde que as cores escolhidas possuam um contraste visual nítido entre si.
II. Segundo o critério de Não Armadilha de Teclado, se o foco puder ser movido para um componente da página usando o teclado, deve ser possível retirá-lo desse componente usando apenas a interface de teclado.
III. Quando uma página pode ser navegada sequencialmente e essa ordem afeta o significado, os componentes que podem receber foco devem fazê-lo em uma sequência que preserve a operabilidade e a compreensão do conteúdo.

Está correto o que se afirma em 
Alternativas
Q4217146 Arquitetura de Software
A navegação por teclado é um requisito essencial de acessibilidade, permitindo que usuários que não utilizam mouse consigam interagir com sistemas digitais.

Nesse contexto, assinale a opção que apresenta uma prática correta relacionada ao foco de navegação. 
Alternativas
Q4217125 Arquitetura de Software
As heurísticas de Nielsen são 10 regras fundamentais de usabilidade para o design de interface.
Elas servem para avaliar e garantir que produtos digitais (sites, apps, softwares) sejam intuitivos, eficientes e proporcionem uma boa experiência ao usuário, prevenindo erros e facilitando a interação.
Neste contexto, analise os itens a seguir e assinale (V) para os que pertencem às heurísticas de Nielsen e com (F) aqueles que não pertencem.

( ) O sistema deve oferecer "saídas de emergência" claras para ações indesejadas.
( ) O sistema deve ser projetado para evitar que erros ocorram, em vez de apenas mostrá-los.
( ) O sistema deve informar ao usuário o que está acontecendo em tempo real.

Os itens são, respectivamente, 
Alternativas
Q4216335 Arquitetura de Software
Comunicação assíncrona é um modelo de interação entre sistemas, em que o emissor envia uma mensagem sem precisar aguardar uma resposta imediata do receptor para continuar sua execução. O receptor processa a mensagem quando estiver disponível e, por vezes, há um intermediário. Em outras palavras, o envio e o processamento da mensagem ocorrem em momentos independentes. Tal abordagem é comumente aplicada em cenários de mensageria, tais como notificações, filas e event streamings.

As tecnologias que se associam as aplicações mencionadas são, respectivamente, 
Alternativas
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
Q4216306 Arquitetura de Software
Considerando a especificação oficial do GraphQL, analise a operação a seguir, elaborada por uma equipe para consultas de clientes e pedidos em uma API. 

Q29.png (340×217)

Com base no código e nas regras da linguagem, avalie as afirmativas a seguir.

I. Os aliases c1 e c2 definem nomes distintos, na resposta, para duas seleções de consulta ao mesmo cliente.
II. Se o campo itens for do tipo objeto ou lista de objetos, a operação será inválida por faltar subseleção para esse campo.
III. Caso a variável $limite não seja informada na execução da operação, será usado o valor padrão 10.

Está correto o que se afirma em 
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
Respostas
101: A
102: B
103: D
104: E
105: D
106: D
107: C
108: B
109: D
110: C
111: A
112: E
113: C
114: C
115: B
116: D
117: C
118: A
119: D
120: C