Questões de Ferramentas de Desenvolvimento de Software (Engenharia de Software)

Limpar Busca

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.

Jenkins é uma plataforma de integração e entrega contínua. Nos arquivos Jenkinsfile, define-se um pipeline que segue uma hierarquia específica.

Considerando essa hierarquia, assinale a alternativa que apresenta a ordem correta, do nível mais alto ao mais baixo.

  • A Pipeline > agent > stage > step > stages.
  • B Pipeline > agent > steps > stage > stages.
  • C Pipeline > agent > steps > stages > stage.
  • D Pipeline > agent > stages > stage > steps.
  • E Pipeline > agent > stages > steps > stage.

Assinale a alternativa que descreve corretamente informações sobre os comandos git merge e git rebase.

  • A git merge combina os históricos de forma linear, enquanto git rebase cria um novo commit de mesclagem.
  • B git rebase é usado em ramos remotos, enquanto git merge é usado apenas em ramos locais.
  • C Ambos os comandos fazem a mesma coisa, apenas com sintaxe diferente.
  • D git rebase é exclusivo do GitHub, enquanto git merge é do Git.
  • E git merge preserva o histórico original de commits, enquanto o git rebase reescreve o histórico de commits movendo os commits para o topo do histórico.

Uma equipe de desenvolvimento de software está migrando para uma abordagem DevOps e pretende utilizar o GitLab como plataforma principal de versionamento e automação de pipeline CI/CD. Considerando o uso da ferramenta GitLab no contexto de infraestrutura de software moderna, assinale a alternativa que contém uma de suas principais funcionalidades integradas.

  • A Gerenciar exclusivamente repositórios Git locais sem suporte à colaboração em nuvem.
  • B Criar pipelines de integração e entrega contínua (CI/CD) integradas com versionamento de código-fonte.
  • C Substituir servidores de aplicação e bancos de dados por containers permanentes.
  • D Monitorar redes físicas de servidores e aplicar atualizações automáticas de sistema operacional.
  • E Realizar backups incrementais automatizados de discos físicos em infraestrutura local.

No desenvolvimento de jogos digitais, os motores de jogo e as bibliotecas gráficas desempenham papéis distintos. Um motor de jogo, como Unreal Engine ou Unity, diferencia-se de uma biblioteca gráfica (ex: OpenGL) por oferecer

  • A licenças proprietárias que impedem a exportação para múltiplas plataformas.
  • B apenas funções de baixo nível para desenho de primitivas gráficas sem gerenciamento de cena e renderização.
  • C suporte exclusivo para desenvolvimento em linguagens assembly.
  • D um ecossistema integrado com ferramentas para física, IA, áudio e editor visual, além de renderização.