Questões de Concurso Sobre arquitetura de software
Foram encontradas 8.215 questões
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,
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
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.
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
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
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.
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.
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.
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
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.
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.
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.
Considere uma API corporativa que apresenta picos imprevisíveis de acesso e precisa manter alta disponibilidade mesmo em caso de falha de servidores individuais, além de permitir crescimento gradual da capacidade conforme a demanda.
Nesse contexto, assinale a alternativa que descreve corretamente a estratégia de escalabilidade mais adequada para atender a esses requisitos e a justificativa técnica associada.
À medida que sistemas back-end evoluem para arquiteturas distribuídas e baseadas em microsserviços, torna-se inviável compreender o comportamento do sistema apenas por meio de testes locais ou depuração tradicional. Nesse contexto, práticas de observabilidade permitemanalisar o estado interno do sistema a partir de seus artefatos externos, possibilitando identificação de falhas, gargalos de desempenho e comportamentos anômalos em ambientes de produção.
Considere uma aplicação composta por diversos microsserviços que se comunicam entre si para atender requisições de usuários. Em produção, a equipe precisa identificar rapidamente a causa raiz de falhas intermitentes e degradações de desempenho que ocorrem apenas sob carga real, sem interromper o serviço.
Nesse cenário, assinale a alternativa que descreve corretamente a combinação de práticas de observabilidade mais adequada para atender a esse objetivo em sistemas distribuídos.
Em APIs REST bem projetadas, o uso adequado dos métodos HTTP é fundamental para garantir previsibilidade, segurança e correto tratamento de falhas. Entre os princípios envolvidos, a idempotência desempenha papel relevante, pois permite que determinadas requisições sejam repetidas sem produzir efeitos colaterais adicionais no estado do sistema, característica importante em ambientes distribuídos sujeitos a falhas de rede e reenvio de mensagens.
Considere uma API REST utilizada por diferentes clientes, em que falhas de comunicação podem levar ao reenvio automático de requisições. O sistema deve garantir que operações críticas não sejam executadas mais de uma vez de forma indevida. Nesse contexto, assinale a alternativa que descreve corretamente a relação entre idempotência e o uso dos métodos HTTP em APIs REST.
Sistemas distribuídos modernos frequentemente combinam diferentes modelos de comunicação para atender requisitos de desempenho, escalabilidade e resiliência. A comunicação síncrona, como chamadas diretas via HTTP, oferece simplicidade e resposta imediata, enquanto a comunicação assíncrona, baseada em eventos ou mensageria, reduz acoplamento temporal e aumenta tolerância a falhas, sendo especialmente relevante em arquiteturas de microsserviços.
Considere uma arquitetura de microsserviços em que um serviço de Processamento de Pedidos precisa acionar, de forma confiável, serviços de Faturamento e Notificação. O sistema deve continuar aceitando pedidos mesmo quando um desses serviços estiver temporariamente indisponível, sem bloquear o fluxo principal da aplicação.
Nesse contexto, assinale a alternativa que descreve corretamente a estratégia arquitetural mais adequada para atender a esses requisitos, considerando comunicação entre serviços.