Pular para conteúdo

Entrevistas técnicas: formatos e como se preparar

Esta página mapeia como são os processos seletivos técnicos e como treinar para cada etapa. As perguntas de conteúdo ficam nas páginas de tema (veja os links ao final). Para a parte comportamental, consulte Comportamento em entrevistas e Perguntas de RH.

Não existe formato padrão

Cada empresa monta o seu processo. Antes era comum uma única entrevista técnica; hoje é frequente haver até seis etapas (do desafio de código à apresentação de system design), que podem durar dias ou semanas, com várias fases eliminatórias. Pergunte ao recrutador quais etapas existem para não se preparar só para uma delas.

Visão geral das etapas

flowchart LR
    A["Triagem (RH)"] --> B["Projeto prático (take-home)"]
    B --> C["Entrevista técnica conversacional"]
    C --> D["Live coding / algoritmos"]
    D --> E["System design (sênior+)"]
    E --> F["Entrevista comportamental / gestor"]
    F --> G["Proposta"]

(Sequência ilustrativa: a ordem e a presença de cada etapa variam.)

Etapa O que avalia Como se preparar
Projeto prático (take-home) Atendimento aos requisitos, testes, organização do código, boas práticas e deploy Pratique projetos completos; entregue por pull request no GitHub; conteinerize (Docker) e escreva README e testes
Técnica conversacional Conhecimento de linguagem, banco, arquitetura e como você explica decisões Revise os fundamentos da sua stack e explique os projetos do currículo (decisões, desafios, resultados)
Live coding Raciocínio, depuração e comunicação em tempo real (em IDE, plataforma online, às vezes até em bloco de notas) Pratique resolver problemas falando em voz alta; grave-se explicando a solução como numa aula
Algoritmos Correção da solução, estruturas de dados, complexidade e debugging Treino constante em plataformas (HackerRank, LeetCode, GeeksforGeeks)
System design Decisões em cenários complexos, escalabilidade, desempenho, segurança, confiabilidade, adaptação a mudanças Estude os blocos básicos e desenhe soluções em voz alta
Comportamental Cultura, comunicação, colaboração, motivação Pesquise a empresa e prepare exemplos concretos

Live coding

O avaliador quer ver como você pensa, não só o resultado. Mesmo bons profissionais cometem erros sob olhar atento e pressão moderada.

  • Comunique o raciocínio continuamente: reformule o problema, faça perguntas, diga o plano antes de codificar, explique escolhas e trade-offs.
  • Domine estruturas de dados e a linguagem que você escolher (use a que se sente mais à vontade).
  • Complemento: comece por uma solução simples e correta, teste com exemplos (inclusive casos de borda), só depois otimize; se travar, verbalize o que sabe e peça uma dica.

Entrevistas de algoritmos

Comuns em grandes empresas (as "FAANG": Meta, Amazon, Apple, Netflix, Google). Avaliam:

  1. A solução: funciona para todos os casos e por que foi escolhida.
  2. Estruturas de dados e algoritmos: complexidade de tempo e espaço (Big O), arrays, grafos, busca binária, heaps, árvores.
  3. Comunicação: explicar o raciocínio enquanto resolve.
  4. Debugging: achar e corrigir erros.

Estratégia: primeiro uma resposta funcional, depois preocupação com casos extremos e só então refatoração/otimização. Os problemas independem de linguagem; use uma de alto nível e fácil (como Python) se ajudar. Conteúdo em Estrutura de Dados (listas, pilhas, filas, árvores, grafos, heaps, tabelas de dispersão, recursividade e a complexidade de cada uma) e em Python.

Entrevista de system design

Aplicada em geral a partir do nível sênior ou arquiteto. Avalia como você aborda um problema de desenho de sistema, decide em situações complexas e se adapta a mudanças de requisitos, considerando escalabilidade, desempenho, segurança e confiabilidade.

Estude os tópicos separadamente antes de juntar tudo:

Tópico Onde estudar nesta base
Balanceamento de carga SRE: escalabilidade e Spring: escalabilidade horizontal
Cache (leitura e escrita) Spring: estratégias de cache
DNS e CDN Redes e Sistemas Operacionais
Bancos SQL e NoSQL, teorema CAP SQL e NoSQL
Mensageria e eventos Event-Driven Architecture
Armazenamento de objetos (blob store) Nuvem
Arquitetura de aplicação Padrões arquiteturais, Microsserviços, DDD

Como treinar: assista a conteúdos de system design, desenhe a solução no papel ou em uma ferramenta de diagramas (ex.: draw.io), explique a um colega e colete feedback para achar falhas. Complemento — roteiro de resposta: (1) esclareça requisitos funcionais e não funcionais e a escala esperada; (2) estime carga e armazenamento; (3) desenhe a visão geral (clientes → balanceador → serviços → dados); (4) aprofunde nos gargalos; (5) discuta trade-offs, falhas e evolução.

Projeto prático (take-home)

A empresa envia um enunciado com regras de negócio e um prazo (geralmente cerca de uma semana); você entrega no GitHub, normalmente por pull request. Pode ser eliminatório. Avaliam se atende aos requisitos e se está bem testado; ajuda executar em contêiner, o que mostra boas práticas de deployment. Ter praticado projetos pessoais reduz o tempo e as surpresas.

Complemento — checklist: README com decisões e como rodar, testes automatizados, tratamento de erros e validações, histórico de commits limpo, docker compose up funcionando, sem segredos no repositório, não ultrapassar o escopo pedido.

Preparação comportamental (resumo)

  • Pesquise a empresa: modelo de negócio, valores e cultura.
  • Tenha exemplos concretos de como suas contribuições geraram resultados.
  • Seja honesto(a) sobre os motivos de buscar novas oportunidades, focando no positivo da experiência anterior.
  • Demonstre interesse genuíno: pergunte sobre o negócio, o fluxo de trabalho e as metodologias.
  • Esteja pronto(a) para explicar em detalhe cada projeto do currículo e do GitHub.
  • Equilibre competência técnica e habilidades interpessoais.

Detalhes e roteiros de resposta em Comportamento em entrevistas.

Perguntas técnicas frequentes por tema

Tema Onde encontrar respostas e resumos de entrevista
Orientação a objetos, SOLID, padrões OO, Boas práticas, Padrões
Java e JVM Java, Java Avançado
Python Python (tabela de perguntas)
Go Go (tabela de perguntas)
Linux e infraestrutura Sistemas Operacionais (tabela de perguntas)
APIs, HTTP, REST, autenticação Backend, Segurança
Testes Qualidade
Bancos de dados SQL, Modelagem, NoSQL
Observabilidade, incidentes, SLO SRE
Agilidade e requisitos Gestão de projetos, Requisitos