Questões de Concurso Sobre gerência de configuração em engenharia de software

Foram encontradas 569 questões

Q4126658 Engenharia de Software
No sistema de controle de versões Git, o arquivo .gitignore é utilizado para indicar quais arquivos não rastreados devem ser ignorados.

Nesse arquivo, um comentário é iniciado com o símbolo:
Alternativas
Q4104670 Engenharia de Software
No âmbito de um Ministério Público Estadual, a equipe de Tecnologia da Informação desenvolveu um sistema eletrônico para gestão de denúncias recebidas pela Ouvidoria. Após seis meses de operação, a Procuradoria-Geral solicitou a elaboração de parecer técnico avaliando a conformidade do sistema com requisitos institucionais previamente definidos. Durante a análise, verificou-se que o sistema não possui trilha de auditoria detalhada sobre alterações realizadas nos registros nem mecanismos formais de controle de versionamento das modificações efetuadas pelos usuários internos. À luz das atribuições institucionais e do papel do setor técnico no assessoramento ao Ministério Público Estadual, a conclusão tecnicamente fundamentada que deve integrar o parecer é que
Alternativas
Q4104669 Engenharia de Software
Uma equipe de desenvolvimento mantém uma aplicação web conteinerizada e versionada em um repositório Git hospedado no GitHub. A equipe deseja implementar uma prática de Integração Contínua e Entrega Contínua (CI/CD) para que, a cada push realizado na branch principal, sejam executados automaticamente: (i) build da imagem Docker, (ii) execução de testes automatizados e (iii) publicação da imagem validada em um registry, com posterior deploy em ambiente de homologação. Considerando o uso do GitHub Actions ou GitLab CI como ferramentas de automação, a abordagem tecnicamente adequada para implementar esse fluxo é
Alternativas
Q4104668 Engenharia de Software
Em uma equipe de desenvolvimento que adota o modelo GitFlow para organização do versionamento, o desenvolvedor finalizou a implementação de uma nova funcionalidade na branch feature/login-social, criada a partir da branch develop. Após a conclusão dos testes locais e validação do código, ele precisa reintegrar essa funcionalidade ao fluxo principal de desenvolvimento, garantindo que a branch de origem permaneça corretamente identificada. Sendo o merge com etapa concluída do ciclo da feature. Nessa situação, a ação correta para realizar a integração conforme a prática recomendada do GitFlow é
Alternativas
Q4092983 Engenharia de Software
Um desenvolvedor realiza operações destrutivas, como git reset --hard e git rebase, que podem fazer com que commits recentes deixem de ser referenciados por qualquer branch ou tag , tornando-os aparentemente perdidos. Para recuperar esses commits , o Git oferece mecanismos internos de rastreamento de referências. Assinale a alternativa que apresenta corretamente o funcionamento do comando git reflog: 
Alternativas
Q4089424 Engenharia de Software
No desenvolvimento de suas atividades como técnico de tecnologia da informação no IFCE, você está auxiliando na manutenção de um sistema acadêmico versionado com a ferramenta Git. Durante a atualização do repositório local, surge a necessidade de buscar as alterações existentes no repositório remoto, apenas para verificar o que foi modificado por outros membros da equipe, sem realizar a mesclagem (merge) automática dessas alterações na branch local.
Diante dessa situação, qual comando do Git deve ser utilizado?
Alternativas
Q4071611 Engenharia de Software
Considere a seguinte situação hipotética:
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: 
Imagem associada para resolução da questão
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:
Alternativas
Q4071610 Engenharia de Software
Considere a seguinte situação hipotética:

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:
Alternativas
Q4065567 Engenharia de Software
Um técnico de informática da prefeitura de Florianópolis precisa documentar o processo de configuração de uma nova estação de trabalho.

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.
Alternativas
Q4058158 Engenharia de Software
 A programação moderna utiliza paradigmas que buscam aproximar a representação do software aos conceitos do mundo real, facilitando a reutilização e a manutenção do código. Considerando os princípios da Programação Orientada a Objetos e o uso de sistemas de controle de versão, analise as afirmativas a seguir:

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: 
Alternativas
Q4055108 Engenharia de Software

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.

 

Alternativas
Q4052688 Engenharia de Software
Durante o desenvolvimento de uma aplicação versionada com o sistema Git, uma equipe mantém múltiplas branches ativas. Em determinado momento, um desenvolvedor precisa aplicar, na branch de correção (hotfix), alterações específicas que já foram implementadas em outra branch (develop), sem integrar todas as demais modificações dessa branch. Para isso, ele opta por utilizar o comando git cherry-pick. Analise as afirmativas a seguir sobre esse cenário:
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:
Alternativas
Q4052485 Engenharia de Software
Durante uma revisão de código em um repositório Git devidamente atualizado, um desenvolvedor precisa identificar quais branches (locais e remotos rastreados localmente) contêm um determinado commit referenciado pela tag v2.3.0. O comando mais apropriado para essa tarefa é:
Alternativas
Q4052481 Engenharia de Software
Durante uma sessão de desenvolvimento utilizando o Git, um engenheiro precisa descartar todas as modificações locais não comitadas no working directory, incluindo arquivos rastreados e não rastreados, sem remover arquivos ignorados. Assinale o comando que realiza essa operação de forma direta e explícita: 
Alternativas
Q4041480 Engenharia de Software
Mudanças são inevitáveis quando um software é construído e podem causar confusão quando os membros de uma equipe estão trabalhando num projeto. Se as alterações não forem controladas, elas controlarão o processo. Por isso a importância da gestão de configuração de software. Em um sistema de controle desse tipo de gestão, quatro importantes conjuntos de elementos devem existir. Um deles deve conter uma coleção de procedimentos e tarefas que definem uma abordagem eficaz de gestão de alterações (e atividades relacionadas) para todas as partes envolvidas em gestão, engenharia e uso do software. Este conjunto é composto pelos elementos:  
Alternativas
Q4038043 Engenharia de Software
Analise as afirmativas a seguir a respeito da ferramenta de versionamento Git e assinale a alternativa correta.

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.
Alternativas
Q4033741 Engenharia de Software

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.

Alternativas
Q4033740 Engenharia de Software
Durante o processo de versionamento de um software utilizando o Git, um desenvolvedor executou um commit em seu repositório local. Imediatamente após a ação, ele percebeu que havia executado o comando muito cedo: esqueceu de adicionar um arquivo importante à área de preparação (stage) e escreveu a mensagem descritiva de forma equivocada. Como o commit ainda não foi enviado para o repositório remoto, o desenvolvedor deseja refazê-lo, incorporando o arquivo esquecido e corrigindo a mensagem, de modo a sobrescrever o registro anterior sem criar um commit adicional no histórico. Após adicionar o arquivo pendente ao stage, qual é o comando a se executar para atingir esse objetivo diretamente, sem a necessidade de comandos adicionais?
Alternativas
Q4032128 Engenharia de Software
O trunk-based development é uma estratégia de gerenciamento de código-fonte que preconiza a integração frequente e direta das alterações de todos os desenvolvedores em um único branch principal, como base para viabilizar a entrega contínua de software. Diante disso, assinale a alternativa CORRETA sobre os princípios e características do trunk-based development.
Alternativas
Q4031792 Engenharia de Software
Um técnico de TI utiliza git para versionar os scripts de automação de rede da organização. Durante uma reunião de alinhamento, a equipe discutiu os conceitos fundamentais do git para padronizar o uso da ferramenta. Analise as definições abaixo e assinale a alternativa que apresenta uma definição INCORRETA: 
Alternativas
Respostas
1: A
2: C
3: D
4: E
5: D
6: E
7: B
8: D
9: B
10: C
11: C
12: E
13: E
14: X
15: A
16: B
17: A
18: A
19: E
20: D