Perguntas de entrevista para DevOps sênior em sistemas de produção

Milad Bonakdar
Autor
Prepare-se com perguntas práticas sobre Kubernetes, estado do Terraform, GitOps, segurança, observabilidade, incident response e decisões de produção.
O que uma entrevista DevOps sênior avalia
Entrevistas DevOps sênior normalmente avaliam se você sabe operar sistemas em produção, não apenas citar ferramentas. Espere cenários sobre falhas em Kubernetes, segurança do estado do Terraform, rollouts GitOps, resiliência em nuvem, controles de segurança, observabilidade e resposta a incidentes.
Use este guia para praticar respostas com critério: o que verificar primeiro, qual risco reduzir, como validar a correção e como explicar o trade-off para engenharia, segurança ou produto.
Kubernetes Avançado
1. Explique a arquitetura do Kubernetes e a função dos principais componentes.
Resposta: O Kubernetes usa uma arquitetura com plano de controle e nós de trabalho. Uma boa resposta sênior explica os componentes e como o estado desejado percorre o sistema:
Componentes do Plano de Controle:
- API Server: Frontend para o plano de controle do Kubernetes, lida com todas as solicitações REST
- etcd: Armazenamento de chave-valor distribuído para o estado do cluster
- Scheduler: Atribui pods aos nós com base nos requisitos de recursos
- Controller Manager: Executa processos do controlador (replicação, endpoints, etc.)
- Cloud Controller Manager: Integra-se com as APIs do provedor de nuvem
Componentes do Nó:
- kubelet: Agente que garante que os contêineres estejam em execução nos pods
- kube-proxy: Mantém as regras de rede para a comunicação do pod
- Container Runtime: Executa contêineres (Docker, containerd, CRI-O)
Como funciona:
- O usuário envia a implantação via kubectl
- O API Server valida e armazena no etcd
- O Scheduler atribui pods aos nós
- O kubelet no nó cria contêineres
- O kube-proxy configura a rede
Raridade: Muito Comum Dificuldade: Difícil
2. Como você soluciona um pod preso em CrashLoopBackOff?
Resposta: Abordagem de depuração sistemática:
Causas comuns:
- Aplicativo falha na inicialização
- Variáveis de ambiente ausentes
- Configuração incorreta da sonda de liveness
- Recursos insuficientes (OOMKilled)
- Erros de pull de imagem
- Dependências ausentes
Exemplo de correção:
Raridade: Muito Comum Dificuldade: Média
3. Explique a rede do Kubernetes: Services, Ingress e Network Policies.
Resposta: Camadas de rede do Kubernetes:
Services: Tipos de exposição de serviço:
Ingress: Roteamento HTTP/HTTPS:
Network Policies: Controlar a comunicação pod-a-pod:
Raridade: Muito Comum Dificuldade: Difícil
4. Como você implementa o autoscaling no Kubernetes?
Resposta: Várias estratégias de autoscaling:
Horizontal Pod Autoscaler (HPA):
Vertical Pod Autoscaler (VPA):
Cluster Autoscaler: Ajusta automaticamente o tamanho do cluster com base nos pods pendentes:
Raridade: Comum Dificuldade: Média
Terraform Avançado
5. Explique o gerenciamento de estado do Terraform e as melhores práticas.
Resposta: O estado do Terraform rastreia a infraestrutura e é fundamental para as operações.
Configuração de Estado Remoto:
Bloqueio de Estado:
Melhores Práticas:
1. Nunca envie arquivos de estado para o Git
2. Use workspaces para ambientes
3. Importe recursos existentes
4. Manipulação de estado (use com cuidado)
5. Faça backup do estado antes de grandes alterações
Raridade: Muito Comum Dificuldade: Difícil
6. Como você estrutura o código Terraform para grandes projetos?
Resposta: Estrutura modular para manutenção:
Estrutura de Diretórios:
Exemplo de Módulo:
Usando Módulos:
Raridade: Comum Dificuldade: Difícil
Arquitetura de Nuvem
7. Projete uma arquitetura multi-região altamente disponível na AWS.
Resposta: Arquitetura multi-região para alta disponibilidade:
Componentes-chave:
1. DNS e Gerenciamento de Tráfego:
2. Replicação de Banco de Dados:
3. Replicação de Dados:
Princípios de Design:
- Configuração ativo-ativo ou ativo-passivo
- Failover automatizado com verificações de saúde
- Replicação de dados com atraso mínimo
- Implantação consistente em todas as regiões
- Monitoramento e alertas para ambas as regiões
Raridade: Comum Dificuldade: Difícil
GitOps e CI/CD
8. Explique GitOps e como implementá-lo com ArgoCD.
Resposta: GitOps usa o Git como a única fonte de verdade para infraestrutura e aplicativos declarativos.
Princípios:
- Configuração declarativa no Git
- Sincronização automatizada
- Controle de versão para todas as alterações
- Reconciliação contínua
Implementação do ArgoCD:
Estrutura de Diretórios:
Kustomization:
Benefícios:
- Git como trilha de auditoria
- Rollbacks fáceis (git revert)
- Estado desejado declarativo
- Detecção automatizada de desvios
- Gerenciamento multi-cluster
Raridade: Comum Dificuldade: Média
Segurança e Conformidade
9. Como você implementa as melhores práticas de segurança no Kubernetes?
Resposta: Abordagem de segurança em várias camadas:
1. Pod Security Standards:
2. RBAC (Controle de Acesso Baseado em Função):
3. Network Policies:
4. Secrets Management:
5. Security Context:
6. Image Scanning:
Raridade: Muito Comum Dificuldade: Difícil
Observabilidade e SRE
10. Projete uma pilha de observabilidade abrangente.
Resposta: Três pilares da observabilidade: Métricas, Logs, Traces
Arquitetura:
1. Métricas (Prometheus + Grafana):
2. Logging (Loki):
3. Tracing (Jaeger):
4. Regras de Alerta:
5. Monitoramento de SLO:
Raridade: Comum Dificuldade: Difícil
Recuperação de Desastres
11. Como você implementa a recuperação de desastres para um cluster Kubernetes?
Resposta: Estratégia de DR abrangente:
1. Estratégia de Backup:
2. Backup do etcd:
3. Procedimento de Restauração:
4. Failover Multi-Região:
5. Metas de RTO/RPO:
- RTO (Recovery Time Objective): < 1 hora
- RPO (Recovery Point Objective): < 15 minutos
- Simulações de DR regulares (mensais)
- Runbooks documentados
- Failover automatizado sempre que possível
Raridade: Comum Dificuldade: Difícil
Service Mesh
12. Explique a arquitetura de service mesh e quando usá-la.
Resposta: Um service mesh fornece uma camada de infraestrutura para comunicação serviço a serviço.
Componentes Principais:
Implementação do Istio:
Quando usar:
- Comunicação complexa entre microserviços
- mTLS, autorização e regras de tráfego consistentes
- Canary releases, divisão de tráfego e melhor isolamento de falhas
- Observabilidade comum para chamadas entre serviços
Atenção: Um service mesh adiciona complexidade, latência e esforço operacional. Em entrevistas sênior, explique por que o benefício compensa esse custo no sistema específico.
Conclusão
Não se prepare apenas para definições de ferramentas. Em cada resposta, mostre como você isolaria um problema de produção, priorizaria riscos, validaria a correção e transformaria o aprendizado em uma melhoria permanente.


