Entrevistas de DevOps e SRE têm menos a ver com citar ferramentas e mais com julgamento sob restrições: o que reverter primeiro, sobre o que alertar, e o que deixar de propósito quebrado até de manhã. Abaixo estão as perguntas mais frequentes, cada uma com uma resposta modelo. Junior: teoria básica, definições e casos práticos simples.
1
Qual é a diferença entre um liveness probe e um readiness probe?
Resposta
O readiness controla se o tráfego é enviado ao pod; o liveness controla se o container é reiniciado. Apontar um liveness probe para uma dependência compartilhada faz um banco de dados lento virar uma tempestade de reinícios no cluster inteiro, porque todas as réplicas falham a mesma checagem ao mesmo tempo. Uma falha de readiness só tira um pod da rotação, e o resto continua atendendo.
2
Qual é a diferença entre uma imagem Docker e um container?
Resposta
Uma imagem é o sistema de arquivos imutável mais os metadados; um container é uma instância em execução dela, com uma camada gravável por cima. Imagens são construídas em camadas e cacheadas por camada, por isso a ordem das instruções no Dockerfile decide quanto tempo leva um rebuild — colocar a instalação de dependências antes da cópia do código-fonte faz com que uma mudança no código não invalide o cache.
3
Qual é a diferença entre um Deployment e um StatefulSet?
Resposta
Um Deployment trata os pods como intercambiáveis e dá nomes aleatórios a eles; um StatefulSet dá identidades estáveis e armazenamento estável, e sobe e desliga os pods em ordem. Você precisa de um StatefulSet quando a identidade importa — um replica set de banco de dados, qualquer coisa com um volume por instância. Usar um StatefulSet onde um Deployment bastaria deixa os rollouts mais lentos sem nenhum ganho.
4
O que fazem os resource requests e limits?
Resposta
O request é o que o scheduler reserva ao posicionar o pod; o limit é o teto aplicado em runtime. Não definir um request faz o scheduler não assumir nada e permite sobrecarregar um nó; um limite de memória baixo demais faz o container ser morto por OOM sob carga normal. O throttling de CPU no limite é a falha mais silenciosa, porque o pod continua de pé e só fica lento.
5
Qual é a diferença entre um ConfigMap e um Secret?
Resposta
Os dois injetam configuração; um Secret é pensado para valores sensíveis e fica em base64 no etcd, o que é codificação, não criptografia, a menos que a criptografia em repouso esteja ativada. A regra prática é que um Secret mantém os valores fora do manifesto e dos logs, mas não é um cofre de verdade — para gestão real de segredos você quer um store externo.
6
O que um pipeline de CI básico faz, e em que ordem?
Resposta
Checkout, install, build, test, e só depois gera um artefato — uma imagem ou um pacote — e então faz o deploy. A ordem importa porque cada etapa deveria falhar o mais cedo e mais barato possível: lint antes dos testes, testes unitários antes dos de integração. Um pipeline que faz deploy antes de testar não é um pipeline, é um script de deploy com passos a mais.
7
A quais comandos do Linux você recorre quando um serviço está se comportando mal?
Resposta
Comece vendo o que está rodando e o que está fazendo: ps ou systemctl status, depois journalctl ou o arquivo de log, depois df para disco e free para memória, porque um disco cheio e uma heap esgotada parecem igualmente um bug da aplicação. Depois ss ou netstat para saber se a porta sequer está escutando. Ler o log primeiro é um hábito que vale muito mais do que ficar chutando.
8
Qual é a diferença entre um hard link e um symlink, e o que é um inode?
Resposta
Um inode é o registro real do arquivo — permissões, timestamps, ponteiros para os dados — e o nome do arquivo é só uma entrada de diretório apontando para ele. Um hard link é um segundo nome para o mesmo inode, então os dados sobrevivem até que o último nome seja removido. Um symlink é um arquivo pequeno contendo um caminho, então ele quebra se o alvo se mover, e consegue atravessar sistemas de arquivos, o que um hard link não consegue.
9
O que é um processo zumbi, e o que o load average realmente significa?
Resposta
Um zumbi já terminou, mas o processo pai não leu o exit status, então a entrada continua na tabela de processos — inofensivo isoladamente, um bug do pai quando se acumulam. O load average é o número de processos rodando ou esperando, incluindo espera por disco, por isso uma máquina com load 8 e CPUs ociosas geralmente está travada em I/O, e não com falta de processador.
10
Qual é a diferença entre TCP e UDP?
Resposta
O TCP estabelece uma conexão, garante entrega e ordem, e desacelera quando a rede está congestionada. O UDP só envia pacotes — sem handshake, sem retransmissão, sem ordenação — por isso é mais rápido e é o que você quer quando dado atrasado é pior que dado ausente: vídeo, voz, consultas DNS, telemetria. Escolher TCP para um fluxo de métricas te custa head-of-line blocking sem nenhum benefício.