Questões comentadas de Concursos para Analista em Tecnologia da Informação

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.

Tendo em vista o processo de formação de palavras, a palavra “dezembrite” é

  • A um arcaísmo formado por justaposição.
  • B um neologismo formado por derivação prefixal.
  • C um neologismo formado por derivação sufixal.
  • D um estrangeirismo formado por aglutinação.
  • E um estrangeirismo formado por justaposição.

O uso de sistemas de controle de versão é indispensável para o desenvolvimento colaborativo de software. Analise as afirmativas a seguir sobre o funcionamento do Git e fluxos de trabalho.

I- O comando git merge combina históricos de ramos diferentes, criando um commit de mesclagem que preserva a genealogia completa das alterações realizadas em ambos os ramos.
II- O arquivo .gitignore é utilizado para listar arquivos e diretórios que não devem ser rastreados pelo Git, como binários compilados, arquivos de configuração local e dependências.
III- O comando git pull é uma operação atômica que apenas baixa as alterações do repositório remoto sem realizar qualquer alteração ou mesclagem no ramo local de trabalho.
IV- O conceito de 'Head' no Git representa um ponteiro para o commit mais recente no ramo atualmente ativo no diretório de trabalho do desenvolvedor.

Assinale a alternativa que apresenta somente as proposições CORRETAS:

  • A II e III.
  • B I e III.
  • C I, II e IV.
  • D I, II, III e IV.
  • E I, II e III.

O gerenciamento de processos e memória é fundamental para o funcionamento eficiente de um sistema operacional moderno. Analise as afirmativas a seguir sobre os mecanismos de sincronização e memória virtual.

I- O impasse (deadlock) ocorre quando um grupo de processos entra em espera circular, onde cada processo aguarda por um recurso retido por outro processo do mesmo grupo.
II- A paginação é uma técnica que divide a memória física em quadros (frames) de tamanho fixo, permitindo que a memória lógica de um processo seja alocada de forma não contígua.
III- O algoritmo de escalonamento Round Robin prioriza processos com menor tempo de execução restante (Shortest Remaining Time Next), eliminando completamente a chance de inanição (starvation).
IV- A Memória Virtual utiliza uma parte do armazenamento secundário para simular memória RAM adicional, gerenciando a transferência de páginas através da Unidade de Gerenciamento de Memória (MMU).

Assinale a alternativa que apresenta somente as proposições CORRETAS:

  • A I, II e IV.
  • B I, II e III.
  • C I, II, III e IV.
  • D I e III.
  • E II e IV.

A containerização transformou a forma como as aplicações são empacotadas e implantadas em diversos ambientes. Considerando as diferenças entre virtualização tradicional e containers, assinale a alternativa CORRETA.

  • A Docker containers são projetados para serem persistentes por natureza, armazenando todos os dados gerados durante a execução dentro da própria camada de imagem imutável do container.
  • B Containers compartilham o kernel do sistema operacional host, o que os torna mais leves e rápidos do que máquinas virtuais, que exigem a execução de um sistema operacional convidado completo sobre um hypervisor.
  • C O Kubernetes é um motor de containerização que substitui o Docker na criação de imagens, sendo responsável apenas pela execução de processos isolados em um único nó de computação.
  • D A tecnologia de containers requer que o hardware do servidor possua suporte nativo à virtualização Intel VT-x ou AMDV para que o isolamento de processos via namespaces possa ocorrer.
  • E A virtualização baseada em hardware (máquinas virtuais) é tecnicamente menos segura que os containers, pois estes últimos fornecem isolamento total de hardware através de instruções exclusivas da CPU.