Questões de Arquitetura de Software

Limpar Busca

No desenvolvimento de software moderno, a aplicação de princípios de design e metodologias ágeis visa aumentar a qualidade e a manutenibilidade do código. Considerando os princípios SOLID e a prática de testes, assinale a alternativa CORRETA sobre a arquitetura de software.

  • A Metodologias ágeis como o Scrum desencorajam a realização de testes unitários automatizados, priorizando apenas a entrega de funcionalidades visuais ao cliente ao final de cada sprint.
  • B O Princípio da Responsabilidade Única (SRP) define que uma classe deve ter múltiplos motivos para mudar, permitindo que ela centralize diversas funcionalidades relacionadas para simplificar o acoplamento global.
  • C O Princípio da Inversão de Dependência (DIP) sugere que módulos de alto nível devem depender diretamente de módulos de baixo nível para garantir que a implementação concreta dite a arquitetura do sistema.
  • D O Princípio da Substituição de Liskov (LSP) estabelece que subclasses devem ser capazes de substituir suas classes base sem alterar a corretude do sistema, garantindo que as extensões não quebrem o comportamento esperado da abstração.
  • E Testes de integração possuem como objetivo principal validar a lógica interna de uma única função ou método isolado, sem considerar a comunicação entre diferentes módulos ou bancos de dados.

O uso de cache é uma estratégia essencial para reduzir a latência e a carga em sistemas de backend. Acerca das estratégias e operação de sistemas de cache, marque V para as afirmativas verdadeiras e F para as falsas.

( ) A estratégia Write-Through atualiza simultaneamente o cache e o banco de dados principal, garantindo alta consistência dos dados em troca de uma maior latência nas operações de escrita.
( ) O algoritmo LRU (Least Recently Used) descarta o item do cache que não é acessado há mais tempo, baseando-se no princípio da localidade temporal dos acessos.
( ) A taxa de Cache Hit representa a porcentagem de requisições que não foram encontradas no cache e precisaram ser buscadas na fonte de dados original (banco de dados).
( ) Sistemas de cache distribuído, como o Redis, são limitados apenas ao armazenamento de strings simples, não suportando estruturas complexas como listas, conjuntos ou hashes.

Após análise, assinale a alternativa que apresenta a sequência CORRETA dos itens acima, de cima para baixo:

  • A F, V, F, V.
  • B V, V, V, F.
  • C V, F, V, V.
  • D F, F, V, V.
  • E V, V, F, F.

De acordo com o art. 4º da Resolução CNJ nº 335/2020, a Plataforma Digital do Poder Judiciário Brasileiro (PDPJ-Br) deve adotar, obrigatoriamente, soluções que abranjam o seguinte conceito (dentre outros):

  • A Baixa coesão.
  • B Alto acoplamento.
  • C Arquitetura monolítica.
  • D Microsserviços.
  • E Utilização preferencial de tecnologias com código fechado proprietário, cujo fornecedor possa ser responsabilizado em caso de problemas.

No Kubernetes, o componente kube-scheduler

  • A observa pods recém criados sem nó (node) associado, e seleciona um nó para eles executarem.
  • B serve como um runtime de contêiner, possibilitando que o Kubernetes efetivamente execute contêineres.
  • C provê a integração do cluster com a API de um provedor de nuvem pública.
  • D consiste em um key-value store de alta disponibilidade para armazenar dados do cluster.
  • E server como um proxy de rede que executa em cada nó (node) do cluster.

Assinale a opção que corresponde a uma vantagem da arquitetura serverless.

  • A baixo custo para aplicações de longo tempo de execução
  • B quick start (execução imediata da primeira função)
  • C baixa complexidade para desenvolvimento
  • D facilidade para o diagnóstico de problemas de desempenho
  • E escalabilidade automática