Questões de Concurso Comentadas sobre arquitetura de software
Foram encontradas 7.584 questões
O IFCE está desenvolvendo um novo portal acadêmico utilizando tecnologias web modernas. Durante a implementação do frontend, a equipe identificou que diferentes componentes da interface precisam ser reutilizados em múltiplas páginas, mantendo separação entre estrutura, estilo e comportamento. O analista de tecnologia da informação propôs a adoção de um padrão arquitetural que organiza a aplicação em camadas distintas, promovendo separação de responsabilidades entre dados, interface e controle de eventos.
Assinale a alternativa que apresenta o padrão de frontend mais adequado ao cenário descrito.
Em uma atualização do sistema provedor, a equipe pretende alterar a estrutura da mensagem de resposta, com renomeação de alguns elementos e mudança de tipos de dados, sem adotar uma estratégia de versionamento compatível, sob o argumento de que o endpoint e o protocolo de transporte permanecerão inalterados.
Com base nesse cenário, analise as afirmativas a seguir.
I. A renomeação de elementos na mensagem de resposta não compromete a compatibilidade da integração, porque os consumidores podem consultar o WSDL atualizado, que define o contrato de comunicação do serviço, e passar a interpretar os novos nomes corretamente.
II. Em arquiteturas baseadas em SOAP, a interoperabilidade entre consumidor e provedor depende também da aderência das mensagens ao contrato formal do serviço, e não apenas da possibilidade de troca de documentos XML entre as partes.
III. A manutenção do mesmo endpoint e do mesmo protocolo de transporte não é suficiente, por si só, para preservar a compatibilidade da integração, quando a resposta do serviço deixa de corresponder à estrutura contratualmente esperada pelos consumidores.
Está correto o que se afirma em
( ) Em APIs REST, a semântica do método HTTP integra o contrato da operação, de modo que a leitura de um recurso não deve ser modelada com método cujo significado indique alteração de estado.
( ) A criação de novos recursos em uma coleção pode ser realizada por meio de requisição PUT dirigida ao endpoint correspondente à coleção, com retorno de um novo identificador gerado pelo servidor.
( ) Em APIs REST, a utilização de um código HTTP uniforme para respostas de êxito e de falha não compromete a semântica da interação, desde que o corpo da mensagem descreva adequadamente o resultado da requisição.
As afirmativas são, respectivamente,
</> JSON {"time":"10:01:02","service":"gateway","level":"INFO","message" :"Requisição recebida","request_id":"abc123"} {"time":"10:01:02","service":"A","level":"INFO","message":"Pedid o recebido","request_id":"abc123"} {"time":"10:01:03","service":"B","level":"INFO","message":"Proce ssando pagamento","request_id":"abc123"} {"time":"10:01:03","service":"C","level":"ERROR","message":"Err o no estoque","request_id":"abc123"} {"time":"10:01:04","service":"B","level":"WARN","message":"Retr y pagamento","request_id":"abc123"} {"time":"10:01:05","service":"D","level":"INFO","message":"Notifi cação enviada","request_id":"abc123"} {"time":"10:01:06","service":"gateway","level":"ERROR","messag e":"Falha na requisição","request_id":"abc123"}
Durante a análise de um incidente, a equipe conseguiu reconstruir o fluxo completo da requisição entre os diferentes serviços envolvidos, identificando o ponto exato de falha e as tentativas de recuperação.
Nesse cenário, assinale a opção que identifica corretamente a prática de estruturação de logs que foi determinante para viabilizar essa análise.
http_requests_total{job="api", instance="10.0.0.5:8080", method="GET", code="500"}
A equipe deseja calcular, no Prometheus, a taxa média por segundo de crescimento dessa métrica ao longo dos últimos 5 minutos, suavizada ao longo da janela de tempo completa, para alimentar um painel de erro no Grafana.
Assinale a opção que apresenta a expressão em PromQL conceitualmente mais adequada para esse objetivo.
Devido a requisitos de segurança e experiência do usuário, a equipe de desenvolvimento precisa garantir que falhas críticas no processamento do servidor (erros da classe 5xx) não exponham informações técnicas do ambiente ou páginas padrão do servidor web.
Com base nesse contexto, avalie as afirmativas a seguir.
I. Uma possível solução é configurar o servidor web como proxy reverso para interceptar respostas de erro 5xx provenientes do backend e retornar, em seu lugar, uma resposta padronizada ao cliente.
II. O frontend pode ser o responsável por capturar o código de status da resposta HTTP e decidir a forma de apresentação da falha, garantindo que a aplicação cliente mantenha o controle do fluxo de navegação.
III. O tratamento de erros deve ser delegado integralmente ao servidor web, para que o desacoplamento entre as camadas seja preservado e o frontend permaneça agnóstico às falhas ocorridas no backend.
Está correto o que se afirma em
• a Proposta A usa uma abordagem em que todo o processamento de regras de negócio e acesso a dados ocorre no lado do servidor, e o lado do cliente recebe apenas páginas renderizadas;
• a Proposta B adota um modelo em que parte significativa da lógica de negócio é executada diretamente no navegador do usuário, com o servidor funcionando basicamente como uma camada de persistência e serviços.
Sobre a classificação dessas propostas quanto à arquitetura de três camadas, assinale a afirmativa correta.
Considerando as características técnicas típicas de cada componente, assinale a afirmativa correta.
- "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
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.
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.
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.
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
Nesse contexto, assinale a opção que apresenta uma prática correta relacionada ao foco de navegação.
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,
As tecnologias que se associam as aplicações mencionadas são, respectivamente,