Questões de Concurso Sobre arquitetura de software
Foram encontradas 8.274 questões
Ao projetar um novo sistema para um ministério, o arquiteto de software precisa decidir entre uma arquitetura monolítica e uma arquitetura de microsserviços. O sistema terá módulos com diferentes demandas de escalabilidade: um módulo de consulta pública com picos de acesso sazonais e um módulo de processamento em lote com uso intensivo de CPU. A equipe de desenvolvimento é grande e distribuída.
Analise as seguintes proposições sobre a escolha do padrão arquitetural indicada para este cenário:
I. Uma arquitetura monolítica seria a indicada, pois a implantação única facilita a gestão da infraestrutura e garante a consistência transacional entre os módulos, mesmo que isso signifique escalar a aplicação como um todo para atender aos picos de um único módulo.
II. A arquitetura de microsserviços é a escolha ideal, pois permite escalar o serviço de consulta pública de forma independente do serviço de processamento em lote, otimizando o uso de recursos. Além disso, facilita o trabalho paralelo de equipes distribuídas em serviços autônomos.
III. A complexidade da comunicação entre serviços e a necessidade de um gateway de API para expor as funcionalidades ao cliente são desvantagens da arquitetura de microsserviços que a tornam inviável para o setor público, que preza pela simplicidade operacional.
Está correto o que se afirma em:
I. Web Services são projetados para serem independentes de plataforma e linguagem de programação, permitindo que diferentes sistemas e aplicativos se comuniquem entre si.
II. HTML, XML e JSON são exemplos de formatos adotados por Web Services para enviar e receber dados.
III. REST é um estilo arquitetural para sistemas distribuídos, muitas vezes utilizado para construir Web Services leves e escaláveis.
IV. Um dos princípios de REST é a adoção de URL única para acesso a todos os recursos (dados, serviços).
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.
Acerca de arquiteturas serverless e event-driven, de balanceamento de cargas e de autoescalonamento, julgue o item a seguir.
Em arquiteturas event-driven serverless, a execução de funções é interrompida por eventos publicados por serviços produtores e modificada por consumidores de forma desacoplada, sendo incomum a utilização de mecanismos de mensageria ou de streams para intermediar a entrega desses eventos.
Acerca de arquiteturas serverless e event-driven, de balanceamento de cargas e de autoescalonamento, julgue o item a seguir.
Em infraestruturas com balanceadores de carga, o autoescalonamento horizontal consiste em aumentar dinamicamente a capacidade computacional de uma instância já existente, enquanto o balanceador distribui requisições entre múltiplas instâncias dessa mesma máquina virtual.