Questões de Concurso
Sobre gerência de configuração em engenharia de software
Foram encontradas 585 questões
Em uma empresa que adota práticas de integração e entrega contínua (CI/CD), a equipe de DevOps enfrenta inconsistências entre ambientes (desenvolvimento, homologação e produção), além de falhas decorrentes de configurações manuais em servidores e recursos de nuvem. Para resolver esses problemas, a equipe decide adotar a abordagem de Infrastructure as Code (IaC) integradas ao pipeline de deploy . Com base nesse cenário, assinale a alternativa correta:
( ) O comando git clone cria uma cópia completa do repositório remoto, incluindo todo o histórico de commits.
( ) O comando git commit registra alterações no repositório local, mas não envia nada automaticamente para o repositório remoto.
( ) O comando git merge integra o histórico de outra branch à branch atual, preservando os commits originais.
( )O comando git pull atualiza o repositório local trazendo alterações do repositório remoto, sem realizar merge automaticamente.
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:
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.
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.O parâmetro --force permite sobrescrever o histórico do repositório remoto independentemente do estado atual da branch remota, podendo substituir alterações enviadas por outros colaboradores.
II.O parâmetro --force-with-lease força o envio das alterações apenas se o histórico remoto não tiver sido modificado por outros colaboradores desde a última atualização local.
III.O parâmetro --set-upstream é utilizado para definir a branch remota padrão associada à branch local, não estando relacionado à proteção contra sobrescrita do histórico remoto.
É 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.
Em projetos de desenvolvimento de software, o Git é amplamente utilizado como sistema de controle de versão distribuído, permitindo o gerenciamento do histórico de alterações no código-fonte e a colaboração entre desenvolvedores. Considere o seguinte fluxo de comandos executado em um repositório Git:
git add arquivo.c
git commit -m "Implementa nova funcionalidade"
git push origin main
Assinale a alternativa que descreve a função desses comandos no processo de versionamento.
Considerando os comandos Git a seguir, assinale a alternativa que informa CORRETAMENTE a função do comando especificado.
Analise as afirmativas a seguir:
I. A definição de uma baseline (linha de base) de requisitos estabelece um conjunto de itens formalmente aprovado, que passa a servir como referência para o controle de mudanças ao longo do projeto.
II. A garantia da qualidade de software tem como foco exclusivo a detecção de defeitos no produto final, não abrangendo atividades relacionadas à definição, ao acompanhamento ou à melhoria do processo de desenvolvimento.
III. Mesmo após a validação dos requisitos, mudanças podem ocorrer ao longo do projeto, tornando necessário um processo estruturado de controle de mudanças.
IV. A rastreabilidade de requisitos torna-se desnecessária em processos de desenvolvimento iterativos ou ágeis, uma vez que as entregas frequentes eliminam a necessidade de controle sistemático entre requisitos e artefatos.
V. A rastreabilidade de requisitos contribui para a qualidade do software ao permitir verificar se todos os requisitos definidos foram adequadamente implementados e testados.
Está CORRETO o que se afirma em: