Questões de Concurso Comentadas sobre arquitetura de software
Foram encontradas 7.401 questões
Na arquitetura e no projeto de software, a aplicação de Padrões de Projeto (Design Patterns) é fundamental para resolver problemas recorrentes com soluções previamente testadas e otimizadas pela engenharia. Contudo, a eficácia dessas soluções depende da escolha do padrão correto para o cenário arquitetural adequado, evitando a inserção de complexidade desnecessária no código. Relacione a Coluna 1 à Coluna 2, associando os padrões de projeto às suas respectivas situações de aplicabilidade prática.
Coluna 1
1. Singleton.
2. Factory Method.
3. Observer.
Coluna 2
( ) Quando a mudança do estado interno de um objeto precisa ser percebida (mas com baixo acoplamento) por outros objetos, gerando um gatilho para, por exemplo, criação de outros objetos, execução de funções ou recuperação de uma instância única de um objeto, entre outros.
( ) Quando for necessário que uma única instância possa ser visível e acessível globalmente, não sendo possível instanciar duas ou mais instâncias distintas da mesma classe.
( ) Quando uma classe quer delegar a criação de objetos para suas subclasses, encapsulando o conhecimento sobre as subclasses criadas em uma única superclasse.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
No contexto do padrão arquitetural MVC (Model-View-Controller), analise as assertivas abaixo e julgue-as em Verdadeiras (V) ou Falsas (F):
( ) O Model encapsula os dados da aplicação e pode incluir regras de negócio associadas a esses dados.
( ) A View é responsável por controlar o fluxo da aplicação e tratar as entradas do usuário.
( ) O Controller é responsável pela apresentação dos dados ao usuário por meio da interface.
( ) O padrão MVC organiza o sistema em componentes com responsabilidades distintas, favorecendo manutenção e evolução.
Qual alternativa preenche, CORRETAMENTE, de cima para baixo, os parênteses acima?
No contexto dos Padrões de Projeto (Design Patterns), as soluções são classificadas em categorias conforme seu propósito na construção e organização de sistemas orientados a objetos. Diante disso, relacione os padrões da Coluna I às suas respectivas categorias, dispostas na Coluna II:
Coluna I:
(1) Padrões Criacionais.
(2) Padrões Estruturais.
(3) Padrões Comportamentais.
Coluna II:
( ) Singleton.
( ) Adapter.
( ) Observer.
( ) Strategy.
( ) Flyweight.
( ) Builder.
Qual alternativa preenche, CORRETAMENTE, de cima para baixo, os parênteses acima?
No contexto do desenvolvimento de sistemas em Java, um Analista de Sistemas está analisando o funcionamento interno da JVM (Java Virtual Machine) para otimizar o desempenho de uma aplicação crítica de uma agência de fomento. Durante a execução do programa, observou-se que parte do código bytecode é convertida dinamicamente para código nativo, visando melhorar a performance em tempo de execução, especialmente em trechos frequentemente utilizados. Considerando os componentes da JVM, assinale a alternativa que indica CORRETAMENTE o responsável por realizar essa compilação para código nativo.
Considerando as boas práticas de desenvolvimento móvel, bem como os mecanismos de persistência de dados e de comunicação cliente-servidor, assinale a alternativa CORRETA.
Em um projeto de uma API HTTP para um sistema corporativo, um programador pretende alinhar a interface aos princípios de integração entre sistemas e ao uso adequado da semântica dos métodos e códigos de status. Nesse contexto, analise as sentenças a seguir:
I- Em HTTP, o método GET é classificado como seguro e idempotente, razão pela qual seu uso é compatível com operações de recuperação de representação sem alteração intencional do estado do recurso.
II- Uma resposta 201 indica que a requisição resultou na criação de um ou mais recursos, e o recurso principal criado pode ser identificado, em regra, pelo cabeçalho “location” ou, na sua ausência, pela URI efetiva da requisição.
III- Em arquiteturas REST, a manutenção obrigatória de estado de sessão no servidor entre requisições é requisito estrutural para garantir consistência na interação cliente-servidor.
IV- A substituição de PUT por POST preserva, por si só, a propriedade de idempotência em operações de atualização repetidas sob falha de comunicação.
Analisadas as sentenças, estão CORRETAS apenas:
Em um projeto de veículos autônomos, o tempo de resposta para a tomada de decisão (latência) deve ser mínimo. Para isso, o processamento dos dados dos sensores não ocorre em um data center centralizado a milhares de quilômetros, mas sim em pequenos centros de dados localizados fisicamente próximos às rodovias.
Na situação apresentada, a arquitetura é um exemplo de
Na situação hipotética apresentada, a abordagem arquitetural mais adequada consiste em
I Model é responsável por representar os dados da aplicação e implementar as regras de negócio associadas.
II View recebe as entradas do usuário e coordena a interação entre os componentes do sistema.
III Controller tem como função principal apresentar as informações ao usuário final, refletindo o estado do model.
Assinale a opção correta.
Um arquiteto de software está projetando um framework em linguagem Java para o processamento de diferentes tipos de transações financeiras. Para isso, ele define:
• Uma classe abstrata AbstractTransaction, que contém estado compartilhado e parte da implementação comum.
• Duas interfaces, Auditable e Reversible, cada uma declarando contratos de comportamento e fornecendo alguns métodos default.
• Uma classe concreta PixTransfer, que deve reutilizar a implementação comum de AbstractTransaction e também oferecer suporte a auditoria e reversão.
Durante a revisão do projeto, o arquiteto avalia diferentes decisões de projeto, com o uso de diferentes combinações de herança para maximizar reuso e flexibilidade. Qual decisão de projeto é válida?