Questões de Concurso
Sobre gerência de configuração em engenharia de software
Foram encontradas 569 questões
Nesse arquivo, um comentário é iniciado com o símbolo:
Diante dessa situação, qual comando do Git deve ser utilizado?
Uma equipe de desenvolvimento mantém um sistema corporativo, utilizando Git e pipelines CI/CD automatizados. O pipeline é definido em um arquivo YAML versionado no próprio repositório e contém as seguintes etapas:
Fonte: dados do elaborador Durante o desenvolvimento, a equipe decide integrar um branch de funcionalidades (feature/login) no branch principal (main). Existem dois caminhos possíveis:
1. git merge feature/login : cria um commit de merge, preservando o histórico do branch de funcionalidades.
2. git rebase main feature/login : reaplica os commits do branch de funcionalidades sobre o branch main, criando um histórico linear.
Com base nesse cenário e nos conceitos de DevOps, CI/CD e controle de versão com Git, analise as afirmativas a seguir:
I. A configuração apresentada no arquivo YAML caracteriza um pipeline de integração contínua, pois alterações integradas ao repositório podem acionar automaticamente as etapas de build e testes, ainda que o deploy dependa de aprovação manual.
II. O uso de git merge preserva o histórico completo do branch de funcionalidades, incluindo divergências e commits paralelos, mas pode gerar múltiplos commits de merge que poluem o histórico.
III. O uso de git rebase permite criar um histórico linear ao reaplicar commits sobre outro branch, porém essa operação reescreve o histórico dos commits, podendo causar inconsistências, caso o branch já tenha sido compartilhado com outros desenvolvedores.
IV. A configuração when: manual no job de deploy indica que a etapa de implantação depende de intervenção humana, caracterizando um processo típico de Continuous Deployment, e não de Continuous Delivery.
V. Definir pipelines CI/CD em arquivos YAML versionados no próprio repositório permite que o processo de automação seja rastreável e auditável, o que possibilita o controle de versões também sobre as mudanças no pipeline.
Assinale a alternativa CORRETA:
Uma equipe de desenvolvimento adotou práticas de DevOps em um sistema corporativo. O fluxo definido estabelece que todo o código é versionado em Git, e que a cada push para o repositório remoto é executado automaticamente um pipeline de CI/CD.
Nesse pipeline são realizadas etapas de build, testes automatizados e análise estática de código. Caso todas as etapas sejam concluídas com sucesso, o artefato gerado é automaticamente implantado em ambiente de homologação.
Com base nos conceitos de integração contínua, entrega contínua e automação de pipelines, analise as afirmativas a seguir.
I. A integração contínua (continuous delivery) consiste na prática de integrar alterações de código com frequência em um repositório compartilhado, em que builds e testes automatizados são executados para detectar falhas precocemente no processo de desenvolvimento.
II. A entrega contínua (continuous delivery) pressupõe que o sistema esteja sempre em um estado potencialmente implantável em produção, embora a liberação final para produção dependa de uma aprovação manual.
III. Em pipelines de CI/CD, ferramentas como GitHub Actions e GitLab CI/CD permitem definir workflows ou pipelines automatizados por meio de arquivos de configuração versionados no próprio repositório do projeto.
IV. A cultura DevOps enfatiza a automação de processos de build, teste e deploy, reduzindo a necessidade de interação entre equipes de desenvolvimento e operações ao longo do ciclo de entrega de software.
Assinale a alternativa CORRETA:
Analise as afirmativas abaixo sobre as boas práticas de documentação nesse contexto.
1. A documentação deve incluir as versões exatas dos sistemas operacionais e softwares instalados, pois versões diferentes podem ter comportamentos distintos.
2. O uso de capturas de tela (screenshots) é uma boa prática para ilustrar etapas de configuração em manuais técnicos.
3. A organização dos arquivos de documentação em uma estrutura lógica de pastas e com nomenclatura padronizada facilita a localização e o acesso às informações.
4. Uma vez criada, a documentação técnica não precisa ser atualizada, pois as configurações de TI raramente mudam.
Assinale a alternativa que indica todas as afirmativas corretas.
I.O polimorfismo permite que objetos de diferentes classes derivadas sejam tratados como objetos de uma classe base comum, respondendo de formas distintas à mesma chamada de método.
II.O encapsulamento é a técnica que consiste em expor todos os atributos internos de uma classe como variáveis públicas para permitir o acesso direto e irrestrito por qualquer módulo do sistema.
III.No sistema de versionamento Git, o comando de envio é utilizado para transferir as alterações confirmadas do repositório local para um repositório remoto compartilhado.
Está correto o que se afirma em:
Acerca do uso do Revit como ferramenta digital aplicada à gestão de obras e aos projetos técnicos, julgue o item a seguir.
O controle de versões no Revit permite o rastreamento de modificações e o gerenciamento da evolução do projeto ao longo do tempo.
I.Ao executar git cherry-pick de um commit da branch develop, o Git cria um novo commit na branch hotfix com conteúdo equivalente, porém, com identificador (SHA) distinto do commit original.
II.Caso seja necessário aplicar uma sequência de commits consecutivos da branch develop, é possível utilizar um intervalo (por exemplo, A..B), e o Git aplicará os commits respeitando a ordem topológica, gerando múltiplos commits na branch hotfix.
III.Se um dos commits selecionados for um commit de merge, será necessário indicar explicitamente qual dos pais deve ser considerado como base, utilizando opção apropriada; caso contrário, a operação não será concluída.
É correto o que se afirma em:
I. Git é um sistema de controle de versão distribuído, o que significa que cada desenvolvedor possui uma cópia completa do repositório, incluindo todo o histórico de mudanças.
II. Uma branch (ramificação) permite que você trabalhe em uma cópia do código separadamente do resto do projeto. Isso é útil para desenvolver novas funcionalidades, corrigir bugs ou experimentar novas ideias sem afetar o código principal.
III. Criar um clone de um repositório significa copiar um repositório inteiro da sua máquina local para um servidor.
IV. O pull é o processo de enviar suas mudanças locais para um repositório remoto.
Um dos maiores benefícios dos sistemas de controle de versão distribuídos é a capacidade de alternar rapidamente entre diferentes contextos de trabalho. Considere o seguinte cenário:
Um desenvolvedor estava trabalhando ativamente em um repositório local, inserindo código na branch novo-botao-save. Antes de concluir a funcionalidade, recebeu um chamado urgente para corrigir um bug crítico na tela de login que já estava em produção. Para resolver o problema partindo de uma base de código estável, ele guardou temporariamente suas alterações inacabadas e utilizou o comando git _______ master para mudar seu diretório de trabalho para a branch principal (master). Logo em seguida, para manter o isolamento da correção, ele criou e acessou simultaneamente uma nova branch chamada correcao-bug-login por meio do comando git _______ -b correcao-bug-login. Após realizar as correções necessárias e registrar o commit localmente, ele finalizou sua tarefa atualizando o repositório remoto com a nova branch utilizando o comando git _______ origin correcao-bug-login.
Assinale a alternativa que preenche, correta e respectivamente, as lacunas do trecho acima.