As 50 principais perguntas e respostas da entrevista sobre DevOps (PDF)
Aqui estão as perguntas e respostas das entrevistas de DevOps para candidatos mais novos e experientes para conseguir o emprego dos sonhos.
Perguntas e respostas da entrevista DevOps para calouros
1) Explique o que é DevOps?
É um termo emergente na área de TI, que nada mais é do que uma prática que enfatiza a colaboração e a comunicação tanto dos desenvolvedores de software quanto da equipe de implantação (operações). Ele se concentra em entregar produtos de software com mais rapidez e reduzir a taxa de falhas de lançamentos.
👉 Download gratuito de PDF: Perguntas e respostas da entrevista sobre DevOps >>
2) Mencione quais são os principais aspectos ou princípios por trás do DevOps?
Os principais aspectos ou princípios por trás do DevOps são
- Infraestrutura como código
- Implantação contínua
- Automação
- do Paciente
- Segurança
3) Quais são as principais operações do DevOps com desenvolvimento de aplicações e com infraestrutura?
As principais operações do DevOps são
Desenvolvimento de aplicações
- Construção de código
- Cobertura de código
- Teste unitário
- Embalagens
- desenvolvimento
Infraestrutura
- Provisioning
- Configuração
- Orquestração
- desenvolvimento
4) Explique como o “código de infraestrutura” é processado ou executado na AWS?
Na AWS,
- O código da infraestrutura estará no formato JSON simples
- Este código JSON será organizado em arquivos chamados templates
- Esses modelos podem ser implantados no AWS Devops e depois gerenciados como pilhas
- Later o serviço CloudFormation fará a operação de criação, exclusão, atualização, etc.
5) Explique qual linguagem de script é mais importante para um engenheiro DevOps?
Uma linguagem de script mais simples será melhor para um engenheiro de DevOps. Python parece ser muito popular.
6) Explique como o DevOps é útil para os desenvolvedores?
DevOps pode ser útil para os desenvolvedores corrigirem o bug e implementarem novos recursos rapidamente. Também ajuda a uma comunicação mais clara entre os membros da equipe.
7) Liste algumas ferramentas populares para DevOps?
Algumas das ferramentas populares para DevOps são
- Jenkins
- Nagios
- Monit
- ELK (Elasticsearch, Logstash, Kibana)
- Jenkins
- Estivador
- Ansible
- Git
8) Mencione em que instância você usou o SSH?
Usei SSH para fazer login em uma máquina remota e trabalhar na linha de comando. Além disso, também o usei para criar um túnel no sistema, a fim de facilitar comunicações criptografadas seguras entre dois hosts não confiáveis em uma rede insegura.
9) Explique como você lidaria com o controle de revisão (versão)?
Minha abordagem para lidar com o controle de revisão seria postar o código no SourceForge ou GitHub para que todos possam visualizá-lo. Além disso, publicarei a lista de verificação da última revisão para garantir que quaisquer problemas não resolvidos sejam resolvidos.
10) Quais são os tipos de solicitações HTTP?
Os tipos de solicitações HTTP são
- ENTRE
- CABEÇA
- PUT
- POST
- PATCH
- EXCLUIR
- TRACE
- CONECTAR
- OPÇÕES
11) Explique o que você verificaria se um servidor de compilação Linux de repente começasse a ficar lento?
Se um servidor de compilação Linux de repente começar a ficar lento, você verificará as três coisas a seguir
Solução de problemas em nível de aplicativo | Problemas relacionados à RAM, problemas de leitura e gravação de E/S de disco, problemas relacionados ao espaço em disco, etc. |
Solução de problemas no nível do sistema | Verifique o arquivo de log do aplicativo OU o arquivo de log do servidor de aplicativos, problemas de desempenho do sistema, log do servidor Web - verifique os logs HTTP, Tomcat lo, jboss ou WebLogic para ver se o tempo de resposta/recebimento do servidor de aplicativos é o problema de lentidão, vazamento de memória de qualquer aplicativo |
Solução de problemas de serviços dependentes | Problemas relacionados a antivírus, problemas relacionados a firewall, problemas de rede, problemas de tempo de resposta do servidor SMTP, etc. |
12) Quais são os principais componentes do DevOps?
Aqui estão alguns importantes Fases do ciclo de vida do DevOps:
- Desenvolvimento contínuo
- Integração contínua
- Teste Contínuo
- Entrega Contínua
- Monitoramento contínuo
- Feedback Contínuo
- Contínuo Operações
13) Cite algumas plataformas de nuvem usadas para implementação de DevOps
As plataformas populares de computação em nuvem usadas para implementação de DevOps são:
- Google Cloud
- Amazon Serviços web
- e Microsoft Azure
14) Dê alguns benefícios de usar o sistema de controle de versão
- O sistema de controle de versão permite que os membros da equipe trabalhem livremente em qualquer arquivo a qualquer momento.
- Todas as versões e variantes anteriores estão compactadas dentro do VCS.
- Um VCS distribuído ajuda você a armazenar o histórico completo do projeto para que, em caso de falha no servidor central, você possa usar o repositório Git local do membro da sua equipe.
- Permite que você veja quais alterações exatas são feitas no conteúdo do arquivo
15) Explique Git Bisect
Git bisect ajuda você a encontrar o commit que introduziu um bug usando pesquisa binária.
16) Qual é a construção?
Uma construção é um método no qual o código-fonte é reunido para verificar se funciona como uma unidade única. No processo de criação do build, o código-fonte passará por compilação, inspeção, teste e implantação.
17) O que é fantoche?
Fantoche é uma ferramenta útil de gerenciamento de projetos. Ajuda você a automatizar tarefas de administração.
18) Explique a autenticação de dois fatores
A autenticação de dois fatores é um método de segurança no qual o usuário fornece duas formas de identificação em categorias separadas.
19) Explique o termo 'Canary Liberar'.
Uma versão canário é um padrão que reduz o risco de introdução de uma nova versão de software no ambiente de produção. Isso é feito disponibilizando-o de forma controlada para um subconjunto do usuário. Antes de disponibilizá-lo para todo o conjunto de usuários.
20) Que tipos de testes são importantes para garantir que o novo serviço esteja pronto para produção?
Você precisa realizar testes contínuos para garantir que o novo serviço esteja pronto para produção.
Perguntas e respostas da entrevista DevOps para experientes
21) O que é vagabundo?
Um vagrant é uma ferramenta que pode criar e gerenciar ambientes virtualizados para teste e desenvolvimento de software.
22) Qual é a utilidade do PTR no DNS?
O registro de ponteiro, também conhecido como (PTR), é usado para pesquisa reversa de DNS.
23) O que é Chef?
É uma poderosa plataforma de automação que transforma infraestrutura em código. Nesta ferramenta, você pode usar scripts de gravação que são usados para automatizar processos.
24) Quais são os pré-requisitos para a implementação do DevOps?
A seguir estão os pré-requisitos úteis para implementação de DevOps:
- Pelo menos um software de controle de versão
- Comunicação adequada entre os membros da equipe
- Teste automatizado
- Implantação automatizada
25) Cite algumas práticas recomendadas que devem ser seguidas para o sucesso do DevOps.
Aqui estão as melhores práticas essenciais para implementação de DevOps:
- A velocidade de entrega significa o tempo necessário para qualquer tarefa colocá-los no ambiente de produção.
- Acompanhe quantos defeitos são encontrados nos vários
- É importante medir o tempo real ou médio necessário para a recuperação em caso de falha no ambiente de produção.
- A quantidade de bugs relatados pelo cliente também impacta a qualidade da aplicação.
26) Explique a ferramenta SubGit
SubGit ajuda você a migrar SVN para Git. Ele também permite que você construa um espelho Git gravável de um repositório Subversion local ou remoto.
27) Cite algumas ferramentas importantes de monitoramento de rede
Algumas ferramentas de monitoramento de rede mais importantes são:
- Splunk
- Icinga 2
- Wireshark
- Nagios
- OpenNMS
28) Se sua placa de vídeo pode funcionar Unity como você saberia?
Quando você usa um comando
/usr/lib/Linux/unity_support_test-p
ele fornecerá resultados detalhados sobre Unitye, se forem atendidos, sua placa de vídeo poderá executar o Unity.
29) Explique como ativar o som de inicialização em Ubuntu?
Para ativar o som de inicialização
- Clique na engrenagem de controle e depois clique em Aplicativos de Inicialização
- De acordo com o relatório Preferências do aplicativo de inicialização janela, clique em Adicionar para adicionar uma entrada
- Em seguida, preencha as informações nas caixas de comentários como Nome, Comando e Comentário
/usr/bin/canberra-gtk-play—id= "desktop-login"—description= "play login sound"
- Saia e faça login quando terminar
Você também pode abri-lo com a tecla de atalho Ctrl+Alt+T
.
30) Qual é a maneira mais rápida de abrir um Ubuntu terminal em um diretório específico?
Para abrir um Ubuntu terminal em um diretório específico, você pode usar um atalho de teclado personalizado.
Para fazer isso, no campo de comando de um novo teclado personalizado, digite genoma – terminal – – working – directory = /path/to/dir.
31) Explique como você pode obter a cor atual da tela atual no Ubuntu Área de Trabalho?
Você pode abrir a imagem de fundo no The Gimp (editor de imagens) e depois usar a ferramenta conta-gotas para selecionar a cor em um ponto específico. Fornece o valor RGB da cor naquele ponto.
32) Explique como você cria lançadores em um desktop em Ubuntu?
Para criar iniciadores em uma área de trabalho em Ubuntu você pode usar
ALT + F2 e digite “gnome-desktop-item-edit –create-new~/desktop”, ele iniciará a caixa de diálogo antiga da GUI e criará um inicializador em sua área de trabalho
33) Explique o que é Memcached?
Memcached é um sistema de cache de objetos de memória distribuído gratuito e de código aberto e de alto desempenho. O objetivo principal do Memcached é melhorar o tempo de resposta para dados que poderiam ser recuperados ou construídos a partir de alguma outra fonte ou banco de dados. É usado para evitar a necessidade de operar banco de dados SQL ou outra fonte repetidamente para buscar dados para uma solicitação simultânea.
Memcached pode ser usado para
- Redes Sociais-> Cache de Perfil
- Agregação de conteúdo-> HTML/cache de página
- Segmentação de anúncios-> Rastreamento de cookies/perfil
- Relacionamento-> Cache de sessão
- Comércio eletrônico -> Cache de sessão e HTML
- Serviços baseados em localização-> Dimensionamento de consulta de banco de dados
- Jogos e entretenimento-> Cache de sessão
Memcache ajuda em
- Acelere os processos de aplicação
- Determina o que armazenar e o que não armazenar
- Reduza o número de solicitações de recuperação para o banco de dados
- Reduz o acesso de E/S (entrada/saída) (disco rígido)
A desvantagem do Memcached é
- Não é um armazenamento de dados persistente
- Não é um banco de dados
- Não é um aplicativo específico
- Não é possível armazenar em cache objetos grandes
34) Mencionou alguns recursos importantes do Memcached?
Recursos importantes do Memcached incluem
- Tokens CAS: Um token CAS é anexado a um objeto recuperado de um cache. Você pode usar esse token para salvar seu objeto atualizado.
- Chamadas de retorno: Isso simplifica o código
- obterAtraso: Reduz o tempo de atraso do seu script que está aguardando o retorno dos resultados de um servidor
- Protocolo binário: Você pode usar o protocolo binário em vez do ASCII com o cliente mais recente
- Igbinário: Anteriormente, um cliente sempre fazia a serialização do valor com dados complexos, mas com o Memcached você pode usar a opção igbinary.
Perguntas e respostas da entrevista de DevOps para mais de 5 experiências
35) Explique se é possível compartilhar uma única instância de um Memcache entre vários projetos?
Sim, é possível compartilhar uma única instância do Memcache entre vários projetos. Memcache é um espaço de armazenamento de memória e você pode executar o memcache em um ou mais servidores. Você também pode configurar seu cliente para se comunicar com um conjunto específico de instâncias. Assim, você pode executar dois processos Memcache diferentes no mesmo host e ainda assim eles serem completamente independentes. A menos que você tenha particionado seus dados, será necessário saber de qual instância obter ou colocar os dados.
36) Você está tendo vários servidores Memcache, nos quais um dos servidores Memcache falha e contém seus dados. Ele tentará obter dados importantes daquele servidor com falha?
Os dados no servidor com falha não serão removidos, mas há uma provisão para falha automática, que você pode configurar para vários nós. O failover pode ser acionado durante qualquer erro no nível do soquete ou do servidor Memcached e não durante erros padrão do cliente, como adicionar uma chave existente, etc.
37) Explique como você pode minimizar as interrupções do servidor Memcached?
- Quando uma instância falha, várias delas ficam inativas, e isso colocará uma carga maior no servidor de banco de dados quando os dados perdidos forem recarregados quando um cliente fizer uma solicitação. Para evitar isso, se o seu código foi escrito para minimizar a debandada do cache, ele deixará um impacto mínimo
- Outra maneira é abrir uma instância do Memcached em uma nova máquina usando o endereço IP da máquina perdida
- O código é outra opção para minimizar interrupções do servidor, pois dá a você a liberdade de alterar a lista de servidores Memcached com o mínimo de trabalho
- Definir o valor do tempo limite é outra opção que alguns clientes Memcached implementam para interrupção do servidor Memcached. Quando o seu servidor Memcached ficar inativo, o cliente continuará tentando enviar uma solicitação até que o tempo limite seja atingido
38) Explique como você pode atualizar o Memcached quando os dados mudam.
Quando os dados mudam, você pode atualizar o Memcached
- Limpando o cache proativamente: Limpando o cache quando uma inserção ou atualização é feita
- Redefinindo o cache: É semelhante ao primeiro método, mas em vez de apenas excluir as chaves e aguardar a próxima solicitação de dados para atualizar o cache, redefina os valores após a inserção ou atualização.
39) Explique o que é o efeito Dogpile? Como você pode evitar esse efeito?
O efeito Dogpile refere-se ao evento em que um cache expira e os sites são atingidos por várias solicitações feitas pelo cliente ao mesmo tempo. Este efeito pode ser evitado usando um bloqueio de semáforo. Neste sistema quando o valor expira, o primeiro processo adquire o bloqueio e passa a gerar novo valor.
40) Explique como o Memcached não deve ser usado?
- O uso indevido comum do Memcached é usá-lo como armazenamento de dados e não como cache
- Nunca use o Memcached como a única fonte de informações necessárias para executar seu aplicativo. Os dados também devem estar sempre disponíveis por meio de outra fonte
- Memcached é apenas um armazenamento de chave ou valor e não pode realizar uma consulta sobre os dados ou iterar sobre o conteúdo para extrair informações
- Memcached não oferece nenhuma forma de segurança, seja em criptografia ou autenticação
41) Quando um servidor é desligado, os dados armazenados no Memcached ainda estão disponíveis?
Os dados armazenados no Memcached não são duráveis, portanto, se um servidor for desligado ou reiniciado, todos os dados armazenados no Memcached serão excluídos.
42) Mencione qual é a diferença entre Memcache e Memcached?
- Memcache: É uma extensão que permite trabalhar por meio de interfaces procedurais e orientadas a objetos (OOPs). Ele foi projetado para reduzir a carga do banco de dados em aplicativos da web dinâmicos.
- Memcache: É uma extensão que usa o libmemcached biblioteca para fornecer API para comunicação com servidores Memcached. Ele é usado para aumentar os aplicativos da web dinâmicos, aliviando a carga do banco de dados. É a API mais recente.
43) Explique o padrão de implantação azul/verde
O padrão de coloração Azul/Verde aborda os desafios mais importantes enfrentados durante o processo de implantação automática. Na abordagem de implantação azul/verde, você precisa garantir dois ambientes de produção idênticos. No entanto, apenas um deles está AO VIVO em um determinado momento. O ambiente LIVE é denominado ambiente Azul.
Quando a equipe prepara a próxima versão de seu software, ela conduz a etapa final de testes em um ambiente conhecido como ambiente Verde. Uma vez verificado, o tráfego é encaminhado para o ambiente Verde.
44) Quais são os contêineres?
Os contêineres são de virtualização leve. Eles oferecem isolamento entre processos.
45) O que é reunião post mortem com referência ao DevOps?
A reunião post mortem é feita para discutir o que deu errado e quais etapas você precisa tomar para evitar falhas.
46) Qual é o método mais fácil para construir uma pequena nuvem?
VMfres é uma das opções mais eficazes para tornar a nuvem IaaS a partir do Virtual Box VMs rapidamente. No entanto, se você deseja PaaS leve, então Dokku é uma boa opção porque o script bash pode ser PaaS a partir de contêineres Dokku.
47) Cite duas ferramentas usadas para redes docker.
Para redes docker, você pode usar Kubernetes e Docker swarm.
48) Cite algumas das áreas onde o DevOps é implementado
DevOps são usados para produção, operações de TI, feedback de produção e desenvolvimento de software.
49) O que é CBD?
CBD ou Desenvolvimento Baseado em Componentes é uma forma única de abordar o desenvolvimento de produtos. Neste método, os desenvolvedores sempre procuram componentes existentes bem definidos, testados e verificados para compor e montá-los em um produto, em vez de desenvolver do zero.
50) Explique a programação em pares com referência ao DevOps
A programação em pares é uma prática de engenharia de Regras de Programação Extrema. Neste método, dois programadores trabalham no mesmo sistema, no mesmo design/algoritmo/código.
Um programador atua como um “motorista”. Outros atuam como “observadores” que monitoram continuamente o andamento de um projeto para identificar problemas. Os papéis podem ser invertidos a qualquer momento, sem qualquer aviso prévio.
51) Explique o Teste de Resiliência
O teste que garante a recuperação sem perda de dados e funcionalidades após uma falha é chamado de testes de resiliência.
52) Cite três KPIs DevOps importantes
Os três KPIs DevOps mais comuns são:
- Enquanto isso, para recuperação de falhas
- Frequência de implantação
- Porcentagem de implantações com falha
Essas perguntas da entrevista também ajudarão em sua viva (oral)