Entrevista para desenvolvedor Java: perguntas e preparação

O que perguntam em uma entrevista de Java, como responder sobre JVM, coleções e multithreading e como ensaiar a conversa.

8 min de leitura
Entrevista para desenvolvedor Java: perguntas e preparação

A entrevista Java não testa o conhecimento de sintaxe — qualquer pessoa que já escreveu código sabe isso. O que se avalia é a compreensão da plataforma: como a memória funciona, por que a aplicação cai sob carga e o que acontece nos bastidores do framework que você usa todos os dias.

Entrevista para desenvolvedor Java
Em entrevistas Java, valoriza-se a compreensão da plataforma, não uma lista de bibliotecas.

Do que consiste a entrevista

EtapaO que é avaliado
Triagemexperiência, stack, expectativas salariais
Teoria JavaJVM, memória, coleções, multithreading
Live codingcomo você escreve e raciocina em voz alta
ArquiteturaSpring, BD, transações, filas

Sete tópicos que quase sempre são perguntados

1. Como funciona a JVM

As classes são carregadas pelo ClassLoader e passam por verificação; o bytecode é executado pelo interpretador com compilação JIT dos trechos «quentes». A conclusão prática esperada: o JIT aquece o código, por isso os primeiros segundos de execução são mais lentos — daí o «aquecimento» antes do teste de carga.

2. Modelo de memória e coleta de lixo

O heap é dividido em gerações: jovem (Eden + dois Survivor) e velha. Objetos que sobrevivem a várias coletas migram para a geração velha. O G1 coleta regiões e tenta manter as pausas previsíveis. Muitas vezes perguntam como encontrar um vazamento — a resposta é via heap dump e análise de referências.

3. Coleções

ArrayList versus LinkedList (acesso por índice versus inserção), HashMap e o que acontece em uma colisão, por que a chave deve ser imutável, ConcurrentHashMap versus Hashtable. Aqui valorizam não a definição, mas a escolha para a tarefa.

4. Multithreading

synchronized versus Lock, volatile e suas garantias, happens-before, pools de threads (ThreadPoolExecutor), CompletableFuture. Quase sempre dão uma tarefa: «duas threads incrementam um contador — o que vai acontecer» e esperam a análise da condição de corrida.

5. Spring e injeção de dependências

Ciclo de vida do bean, escopos, proxies e AOP, por que `@Transactional` não funciona ao chamar um método da mesma classe (self-invocation através de proxy). Essa pergunta elimina muitos.

6. JPA, Hibernate e SQL

Consultas N+1, carregamento lazy e eager, caches de primeiro e segundo nível, transações e níveis de isolamento. Muitas vezes pedem para encontrar o problema em um trecho de código com entidades.

7. Testes e build

JUnit e Mockito, testes de integração versus testes unitários, Maven/Gradle, CI. Eles verificam se você leva o código até produção.

Preparação para entrevista técnica de Java
Responder em voz alta revela lacunas que não são visíveis ao ler a teoria.

Como responder a uma pergunta técnica

A estrutura funciona: tese → justificativa → exemplo → limitação. O último passo é o que diferencia quem tem prática.

«Para este caso, eu usaria ConcurrentHashMap. O motivo é que a leitura vem de várias threads, e Hashtable bloqueia o objeto inteiro. No projeto anterior, isso eliminou um gargalo no cache de métricas. Limitação: operações compostas ainda precisam ser envolvidas explicitamente; a atomicidade em uma única chave não resolve».

— exemplo de resposta da prática de análise de entrevistas

Perguntas frequentes

Quanto tempo é necessário para se preparar para uma entrevista de Java?

Uma semana com 30–40 minutos, se houver prática: cobrir os sete tópicos acima, falar as respostas em voz alta e fazer um diálogo completo uma vez. Se algum tópico (por exemplo, multithreading) for obscuro para você — cubra-o primeiro.

Eles perguntam sobre algoritmos e estruturas de dados?

Sim, mas as proporções dependem da empresa. Equipes de produto costumam dar tarefas práticas (analisar um bug, otimizar uma consulta), grandes empresas de tecnologia — problemas clássicos de arrays, strings, tabelas hash.

O que fazer se não souber a resposta?

Diga diretamente e mostre o raciocínio: a que isso se assemelha, como você verificaria. O entrevistador quase sempre distingue «não sei, mas estou pensando» de invenção, e a segunda é um ponto negativo direto.

É necessário conhecer o Spring em nível de código-fonte?

Não, mas é preciso entender como funcionam proxies, transações e o ciclo de vida do bean. São exatamente essas as perguntas mais frequentes, e não se pode respondê-las apenas decorando anotações.

Como responder sobre expectativas salariais?

Com um intervalo, e não um número único, com base no mercado. Análise detalhada — no artigo negociação salarial.

Como praticar entrevista com IA?

Descreva a situação em uma frase — «entrevista para desenvolvedor Java, Spring Boot, cinco anos de experiência» — e faça o diálogo no simulador. O treinador fará perguntas sobre seu cargo e analisará as respostas após a conversa.

O que vem a seguir

Percorra os sete tópicos e marque onde a resposta não fecha. Em seguida, execute o diálogo completo: abra o HintMeTalk AI, modo «Treinador», descreva a vaga em uma frase. Após a análise, fica visível quais respostas estão fracas — geralmente são duas ou três de dez.

Análises de outras funções: frontend, Python, . Preparação geral — no artigo analista de sistemaspreparação para entrevista.

Pratique esta habilidade no HintMeTalk AI

Abrir o app

Fontes