Perguntas e respostas da entrevista Devops 2022 - Mais frequentes
Publicados: 2021-01-08Índice
Perguntas e respostas da entrevista de DevOps
Você é um engenheiro devops e agora está procurando emprego, então vamos dar uma olhada nas perguntas mais frequentes da entrevista Devops
Comparado a outros campos da ciência da computação, o DevOps não é muito popular. Mas isso é porque simples e complexo de entender.
Para começar, não é uma ferramenta ou software. Em vez disso, é um tipo de cultura e metodologia de trabalho em que as equipes de desenvolvimento (desenvolvedores de software) e de operações (implantadores) são combinadas para desenvolvimento, integração, teste, implantação e monitoramento contínuos. O objetivo final é criar e entregar um produto mais rápido, com a menor taxa de falhas possível. Complementa e trabalha com a metodologia Agile, mas não se assemelha a ela.
Se você é alguém que está interessado na natureza mista desse campo e deseja trabalhar nele, as seguintes perguntas da entrevista o ajudarão a superar os portões e conseguir o emprego dos seus sonhos.
- Quais são algumas ferramentas populares de DevOps?
• Marionete
• Ansible
• Git
• Especialista
• Chefe de cozinha
• Jenkins
• Janela de encaixe
• Nagios
• ALCE - Quais são as principais operações do DevOps?
• Desenvolvimento
• Controle de versão
• Teste
• Integração
• Desdobramento, desenvolvimento
• Entrega
• Configuração
• Monitoramento
• Comentários - Quais são os 3 KPIs importantes do DevOps?
• Frequência de implantação
• Porcentagem de implantações com falha
• Tempo médio para recuperação de falhas - O que é o sistema de controle de versão?
O VCS é um software que permite que os desenvolvedores de software trabalhem juntos, mantendo todo o histórico do trabalho realizado até qualquer ponto. - Existem 2 tipos de VCS:
- Central VCS. Exemplo: Git
- Distribui/descentraliza VCS. Exemplo: SVN
- A razão pela qual o VCS é parte integrante do DevOps é que:
- Ele permite que os desenvolvedores trabalhem em um pedaço de código juntos
- Não permite que eles sobrescrevam as alterações uns dos outros
- Mantém o histórico de cada versão de sempre
- Qual é a diferença entre Git pull e Git fetch?
Na forma de uma equação simples,
Git pull = Git fetch + Git merge
O comando git pull é usado para puxar quaisquer alterações ou commits recém-feitos para uma ramificação de destino em seu repositório local de uma ramificação do repositório central.
O comando git fetch também tem o mesmo propósito. No entanto, em vez de armazenar as novas alterações e confirmações na ramificação de destino, ele as armazena em uma nova ramificação. Para garantir que as alterações reflitam também no branch de destino, temos que usar o comando git merge.
A equação é útil para lembrar a função de cada comando.
- Como podemos saber se um branch no Git foi mesclado no master?
Usando o comando git branch -merged OU git branch -no-merged.
A primeira exibe todas as ramificações que foram mescladas com a atual, enquanto a segunda exibe as ramificações que ainda não foram mescladas. - Quais estratégias de ramificação estão disponíveis para uso no Git?
- Ramificação de recursos
Nesta estratégia de ramificação, todas as alterações de um recurso são mantidas dentro da ramificação. Quando os testes automatizados testam e validam a ramificação do recurso, a ramificação é mesclada ao mestre. - Ramificação de tarefas
Sob essa estratégia, cada tarefa é implementada em sua própria filial. A chave de tarefa é incluída junto com o nome da ramificação. A presença dessa chave facilita a visualização de qual tarefa é implementada por qual código. - Liberar ramificação
Uma vez que a ramificação de desenvolvimento esteja pronta com seus recursos, ela é clonada para formar a ramificação de lançamento. A criação desta ramificação coloca o ciclo de lançamento em movimento, onde nenhum novo recurso pode ser adicionado. As únicas tarefas que podem ser executadas são: correções de bugs, geração de documentação e outras tarefas relacionadas ao lançamento. A versão é mesclada na master e marcada com um número de versão quando estiver pronta para envio.
- Ramificação de recursos
- O que é o SubGit?
SubGit é uma ferramenta usada para migrar SVN para Git. - Como podemos clonar um repositório Git usando Jenkins?
O primeiro passo é inserir o nome de usuário e o e-mail no sistema Jenkins. Vá para o diretório do seu trabalho e execute o comando 'git config'. - Qual é a diferença entre o Ansible Playbook e as funções?
Manuais:
Conter jogadas
Atuar como mapas entre hosts e funções
Exemplos: webservers.yml, site.yml
Funções:
São subconjuntos reutilizáveis de uma peça
São um conjunto de tarefas para cumprir um determinado papel
Exemplo: comum, servidores web - O que é Docker?
Docker é um tipo de tecnologia que empacota todas as aplicações e dependências relacionadas em Containers, garantindo assim que sua aplicação funcione sem problemas e sem falhas em qualquer ambiente. As imagens do Docker são usadas para criar esses contêineres.
Ele roda apenas em plataformas Linux e Cloud:


- openSUSE 12.3+
- Gentoo
- ArchLinux
- RHEL 6.5+
- Fedora 20+
- Microsoft Azure
- Rackspace
Para nomear alguns.

- O que é Scrum?
Scrum é como um solucionador de tarefas que usa iterações e práticas incrementais para dividir software complexo e tarefas de desenvolvimento em partes menores. Cada iteração é executada por 2 semanas. - Quais ferramentas SCM são suportadas pelo Jenkins?
• RTC
• Força
• Caixa transparente
• Git
• Subversão
• CVS
A área coberta pelo DevOps é vasta, pois é a amálgama de 2 etapas únicas de criação de software. A lista acima dá uma ideia do tipo de perguntas que são feitas e não é de forma alguma exaustiva. Para um forte avanço, porém, você não pode errar com isso. Boa sorte com sua preparação para a entrevista!
Aprenda cursos de engenharia de software online das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.
Conclusão
Com isso, finalizamos nossas Perguntas e Respostas da Entrevista Devops . Esperamos que nosso guia seja útil. Estaremos atualizando o guia regularmente para mantê-lo atualizado.
Se você estiver interessado em se tornar um engenheiro de DevOps, confira o Programa PG Executivo do IIIT-B & upGrad no Programa de Desenvolvimento de Software Full Stack.
O que é DevOps?
DevOps é um termo usado para descrever a colaboração de desenvolvedores de software, engenheiros de confiabilidade do site e engenheiros de garantia de qualidade. Pode ser visto como uma metodologia ou cultura. É uma filosofia usada para desenvolvimento e entrega de aplicativos por meio da colaboração de desenvolvedores de software e operações de TI. O termo DevOps é uma mistura das duas palavras Desenvolvimento e Operações. Novas práticas de DevOps foram desenvolvidas e implementadas para ajudar os desenvolvedores de software a colaborar de forma mais eficaz uns com os outros e com as operações de TI para entregar software mais rapidamente aos clientes.
O que é uma ferramenta de controle de versão usada no DevOps?
O Git é uma das ferramentas mais populares usadas no DevOps. É um sistema de controle de versão distribuído que é usado principalmente para gerenciamento de código-fonte. O Git armazena cada revisão de um projeto em seu próprio repositório. A melhor característica do Git é sua natureza distribuída. Qualquer programador pode facilmente colaborar e compartilhar código com outras pessoas em seu grupo. A melhor parte é que isso economiza muito tempo dos desenvolvedores enquanto eles codificam, o que leva a um trabalho melhor.
O que um desenvolvedor de DevOps faz?
A palavra DevOps é uma junção de dois termos: Desenvolvimento e Operações. O termo foi cunhado por Patrick Debois e se refere à tendência recente de fundir os dois aspectos do ciclo de vida de desenvolvimento de software e desfocar as linhas tradicionais de suas responsabilidades. Os engenheiros de DevOps trabalham com a equipe que desenvolve o software e a equipe que opera os servidores. O papel de um engenheiro de DevOps pode ser resumido da seguinte forma: Assume a propriedade de todas as coisas relacionadas à entrega de um único serviço ou sistema e todos os serviços e sistemas de suporte, Trabalha com a equipe de desenvolvimento para identificar dependências entre o desenvolvimento e a operação, e Trabalha com a equipe de operações para ajudar a automatizar as operações e o desenvolvimento de um processo de entrega. Atua como um elo entre as equipes de desenvolvimento e operações e a equipe de gerenciamento de produtos e projetos.