Questões de Concurso
Sobre arquitetura de software em arquitetura de software
Foram encontradas 493 questões
O padrão de projeto de arquitetura de software a ser implementado para interromper chamadas a um serviço que está a falhar, permitindo que o sistema degrade graciosamente em vez de colapsar, é o
Em arquiteturas modernas baseadas em microsserviços, é comum a utilização de uma API Gateway, que atua como um ponto único de entrada para requisições externas. Esse componente integra a camada de middleware, sendo responsável por funções como roteamento de requisições, autenticação, transformação de mensagens, controle de acesso e aplicação de políticas de segurança, permitindo que clientes acessem múltiplos serviços de backend de forma transparente.
Considere o seguinte exemplo de configuração simplificada de um gateway para registrar um serviço e criar uma rota de acesso:

Clientes podem acessar o serviço por meio do endpoint:

O gateway encaminhará automaticamente a requisição para o serviço backend correspondente.
Com base no funcionamento de API Gateways em arquiteturas distribuídas, analise as afirmativas a seguir.
I. A configuração apresentada permite que o cliente acesse o recurso /usuarios pelo gateway, sem precisar conhecer diretamente o endereço ou a porta do serviço backend responsável pelo processamento da requisição.
II. A presença da API Gateway na arquitetura implica que os serviços internos deixam de se comunicar diretamente entre si, passando toda interação obrigatoriamente pelo gateway.
III. A centralização do acesso aos serviços em uma API Gateway possibilita a implementação de mecanismos comuns, como autenticação, registro de logs e limitação de requisições, em um único ponto da arquitetura.
Assinale a alternativa CORRETA:
Entre as soluções utilizadas para comunicação assíncrona estão os message brokers, que implementam o modelo de fila de mensagens, no qual produtores enviam mensagens para uma fila e consumidores as processam posteriormente.
Considere o seguinte código em Python, que utiliza a biblioteca pika para consumir mensagens de uma fila em um broker implementado com RabbitMQ.
Esse código ilustra um consumidor de mensagens que se conecta a um broker RabbitMQ e recebe mensagens publicadas em uma fila.
Com base no conceito de middleware e no funcionamento de sistemas de mensageria em arquiteturas distribuídas, analise as afirmações a seguir:
I. O programa estabelece uma conexão com um servidor de mensageria e passa a atuar como consumidor de mensagens da fila denominada “tarefas”.
II. Para toda mensagem entregue ao consumidor a partir da fila tarefas, a função callback será executada para processar o conteúdo recebido.
III. A utilização de um middleware de mensageria como o RabbitMQ implica que produtores e consumidores precisam estar em execução simultaneamente para que a comunicação ocorra de maneira síncrona.
Assinale a alternativa CORRETA.
Assinale a alternativa correta considerando o requisito segurança e sua relação com a arquitetura de software.
Ao avaliar a eficiência e a confiabilidade de uma arquitetura de sistemas, o analista deve considerar que:
Com base nos conceitos relacionados aos fundamentos da computação, julgue o item a seguir.
No modelo PaaS, o provedor abstrai a infraestrutura subjacente ao desenvolvedor, sem afastar, em regra, a necessidade de configuração lógica dos serviços consumidos pela aplicação.
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:
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.
Na situação hipotética apresentada, a abordagem arquitetural mais adequada consiste em
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?