inícioblogsContratação e recrutamento
100 perguntas comuns de entrevista sobre programação Java

100 perguntas comuns de entrevista sobre programação Java

Se você está tentando contratar um desenvolvedor Java de alto nível para sua equipe, precisa avaliar várias habilidades.

Sua próxima nova contratação deve ter as habilidades interpessoais, as habilidades técnicas e os valores certos que se alinham com a cultura da empresa.

Testes de habilidades e entrevistas com candidatos são duas maneiras fáceis de avaliar as habilidades dos candidatos. Mas e se você ainda não tiver as perguntas certas para a entrevista?

Não precisa entrar em pânico: abaixo, você encontrará 100 perguntas comuns de entrevista sobre programação Java neste artigo para avaliar as habilidades de programação Java e o conhecimento dos candidatos.

Dê uma olhada na lista abaixo para criar um conjunto de perguntas.

15 perguntas comuns de entrevista sobre programação Java

Determine se os candidatos são adequados para a vaga em aberto fazendo a eles estas 15 perguntas comuns de entrevista sobre Java.

  1. Quais habilidades os desenvolvedores precisam para programar em Java?

  2. Quais habilidades interpessoais os desenvolvedores precisam para programar em Java?

  3. Quais são suas habilidades de programação em Java mais fortes?

  4. Quais habilidades de programação em Java você precisa melhorar?

  5. Como você se mantém atualizado com as melhores práticas de programação em Java?

  6. Descreva sua experiência com o Scrum.

  7. Descreva sua experiência de programação em Java.

  8. Descreva seu maior projeto que envolveu programação em Java.

  9. Quais são seus recursos preferidos do Java?

  10. Quais são seus recursos menos preferidos do Java?

  11. Explique algumas vantagens de usar Java para programação.

  12. Explique o que são construtores.

  13. Explique o que é uma classe em Java.

  14. Explique o que é carregamento estático em Java.

  15. Explique o que é carregamento dinâmico em Java.

5 perguntas e respostas comuns de entrevista sobre programação Java

Aqui estão exemplos de respostas para cinco das perguntas gerais de entrevista sobre Java para orientar você na avaliação das respostas dos entrevistados.

1. Quais habilidades os desenvolvedores precisam para programar em Java?

Os candidatos devem saber que as três habilidades críticas necessárias para programar em Java incluem noções de estrutura de dados, noções de algoritmos Java e noções de APIs e bibliotecas.

2. Quais habilidades interpessoais os desenvolvedores precisam para programar em Java?

Os candidatos sabem que as habilidades de comunicação, pensamento crítico e resolução de problemas são habilidades interpessoais vitais para os desenvolvedores? Eles podem dar exemplos de por que essas habilidades interpessoais são importantes?

3. Quais são seus recursos preferidos do Java?

Alguns dos recursos do Java que os candidatos podem mencionar ao responder a essa pergunta da entrevista incluem:

  • O recurso Secure do Java para garantir um sistema livre de vírus

  • O fato de o Java ser uma linguagem de programação orientada a objetos

  • O fato de o Java ser uma plataforma independente e sua máquina virtual interpretar o código

4. Explique o que é carregamento estático em Java.

Seus candidatos devem entender que o carregamento estático é um processo de criação de objetos e instâncias que os desenvolvedores realizam usando novas palavras-chave.

5. Explique o que é carregamento dinâmico em Java.

Os candidatos devem ser capazes de explicar que os desenvolvedores podem concluir o carregamento dinâmico de classes mesmo quando o nome da classe é desconhecido no momento da compilação.

15 perguntas comuns da entrevista de programação em Java sobre strings

Teste o conhecimento dos entrevistados sobre strings em Java com as perguntas de entrevista desta seção.

  1. Como você inverteria strings em Java?

  2. Explique o que é uma string de anagramas.

  3. Como você escreveria um programa para verificar se duas strings são anagramas?

  4. Como você determinaria se todos os caracteres de uma string são únicos?

  5. Que método você usaria para saber se uma string é uma rotação de outra?

  6. Explique como você encontraria um caractere duplicado em uma string.

  7. Explique como você encontraria o primeiro caractere não repetido de uma string.

  8. Como você encontraria todos os substrings de uma string?

  9. Como você descobriria o comprimento de uma string em Java?

  10. Como você imprimiria todas as permutações de strings em Java?

  11. Como você descobriria se há uma vogal em uma string?

  12. Como você determinaria se um número é um número primo em uma string?

  13. Explique o que trim() faz.

  14. Explique o que strip() faz.

  15. Explique o que são espaços em branco em strings.

5 perguntas e respostas comuns da entrevista de programação Java sobre strings

Aqui estão as respostas para cinco das perguntas acima sobre strings. Use-as para avaliar as respostas de seus desenvolvedores.

1. Como você inverteria strings em Java?

Embora não exista um método utilitário reverse() na classe string, os métodos que seus candidatos podem mencionar ao responder a essa pergunta da entrevista incluem:

  • Uso de um método stringBuffer

  • Uso de um método de recursão

  • Uso de um método for loop

2. Como você determinaria se todos os caracteres de uma string são únicos?

Dois métodos que os candidatos podem descrever ao explicar como determinar se todos os caracteres de uma string são únicos são:

  • Usando um método indexOf e lastIndexOf

  • Usando um método HashSet

3. Que método você usaria para saber se uma string é uma rotação de outra?

Os candidatos devem mencionar algumas etapas ao responder a essa pergunta da entrevista. Primeiro, eles podem rotular as duas strings envolvidas no processo (por exemplo, str5 e str6) e, em seguida, desenvolver os seguintes processos:

  • Faça uma nova string: str7 = str5 + str5

  • Verifique se str7 contém str6

  • Se str7 contiver str6, str6 é uma rotação de str5

  • Se str 7 não contiver str 6, str6 não é uma rotação de str5

4. Explique o que são espaços em branco em strings.

Seus candidatos podem explicar que espaços em branco são caracteres que representam espaços em strings? Eles também podem explicar que os caracteres de espaço em branco podem afetar o tamanho do código-fonte de um desenvolvedor.

5. Explique como você encontraria o primeiro caractere não repetido de uma string.

Os entrevistados podem explicar que os desenvolvedores podem encontrar o primeiro caractere não repetido de uma string usando dois métodos:

  • O método linkedHashMap

  • O método indexOf e lastIndexOf

15 perguntas comuns da entrevista de programação Java relacionadas a matrizes

Faça aos entrevistados algumas dessas 15 perguntas de entrevista sobre Java relacionadas a matrizes para saber se as habilidades deles se alinham com os requisitos da vaga em aberto.

  1. Explique o que é uma matriz em Java.

  2. Como você encontraria o menor elemento em uma matriz?

  3. Como você encontraria o maior elemento em uma matriz?

  4. Como você encontraria um número ausente em uma matriz?

  5. Como você encontraria o elemento mínimo em matrizes ordenadas e rotacionadas?

  6. Como você ordenaria uma matriz em Java?

  7. Como você escreveria um programa para determinar a soma de elementos em matrizes de números inteiros?

  8. Qual método você usaria para embaralhar matrizes em Java?

  9. Explique como as matrizes são diferentes de ArrayList em Java.

  10. Como você separaria 0s e 1s em uma matriz?

  11. Como você separaria números pares e ímpares em uma matriz?

  12. Explique o que é um elemento de pico em uma matriz.

  13. Explique o que é um elemento líder em uma matriz.

  14. Explique o que é uma permutação de uma matriz.

  15. Explique como você encontraria mínimos locais em uma matriz em Java.

5 perguntas e respostas comuns de entrevista sobre programação Java relacionadas a matrizes

Aqui está uma seleção de cinco das perguntas de entrevista sobre programação Java acima relacionadas a matrizes, juntamente com exemplos de respostas para avaliar a profundidade do conhecimento dos candidatos.

1. Explique o que é uma matriz em Java.

Os candidatos conseguem explicar que as matrizes são objetos contêineres com um determinado número de valores de um tipo específico? Eles sabem que os desenvolvedores podem determinar o comprimento de uma matriz quando a criam, pois o comprimento não muda depois?

2. Como você ordenaria uma matriz em Java?

Os candidatos devem saber que, se um desenvolvedor quiser classificar uma matriz primitiva, pode implementar o método arrays.sort():

int[] array = { 1, 2, 4, -1, -2, 4 };

Arrays.sort(array);

System.out.println(Arrays.toString(array));

Podem explicar que, ao classificar uma matriz de objetos, os desenvolvedores devem implementar uma interface comparável.

3. Como você escreveria um programa para determinar a soma de elementos em matrizes de números inteiros?

Seus candidatos podem fornecer o seguinte exemplo de programa para calcular a soma de elementos em matrizes de números inteiros:

int[] array = { 9, 8, 7, 6, 5 };

int sum = 0;

for (int i : array)

sum += i;

System.out.println(sum);

4. Explique o que é uma permutação de uma matriz.

Os candidatos podem explicar que uma permutação de uma matriz é o rearranjo dos elementos da sequência para produzir uma nova sequência? Podem dar um exemplo para explicar com mais detalhes, usando um exemplo semelhante ao abaixo:

  • O número total de novas permutações da sequência [w, x, y, z] é 24, algumas das quais são: [x, w, z, y], [z, w, x, y] e [w, z, x, y]

5. Explique o que é um elemento líder em uma matriz.

Os candidatos devem saber que um elemento é líder se todos os elementos em seu lado direito forem inferiores a ele e, em uma matriz, o elemento no lado mais à direita é sempre o líder.

10 perguntas comuns de entrevista sobre programação Java relacionadas a stacks

Determine se o conhecimento dos candidatos sobre stacks em Java está de acordo com suas expectativas fazendo algumas dessas 10 perguntas de entrevista.

  1. Como você implementaria stacks com matrizes?

  2. Como você implementaria listas vinculadas com stacks?

  3. Como você implementaria stacks com duas filas?

  4. Explique o que significa LIFO em uma stack.

  5. Explique o que é uma stack em Java.

  6. Quais são as vantagens das stacks em Java?

  7. Como você usaria stacks para determinar se os parênteses estão equilibrados em Java?

  8. Como você usaria a recursão para classificar uma stack?

  9. Como você localizaria os parênteses duplicados de uma expressão?

  10. As stacks são chamadas de estruturas de dados recursivas. Explique por quê.

5 perguntas e respostas comuns da entrevista de programação Java relacionadas a stacks

Aqui estão as respostas para cinco das perguntas da entrevista de programação Java relacionadas a stacks. Use-as para avaliar o conhecimento de seus candidatos.

1. Explique o que significa LIFO em uma stack.

Seus candidatos podem explicar que uma stack sempre usa o princípio LIFO, que significa "Last In First Out" (Último a Entrar, Primeiro a Sair), quando os desenvolvedores inserem ou removem os objetos dentro do contêiner.

2. Explique o que é uma stack em Java.

Os desenvolvedores de Java devem saber que uma stack é uma estrutura de dados que contém objetos que os programadores inserem e removem. Eles podem explicar que os desenvolvedores podem inserir, excluir ou exibir itens da stack (conhecidos como push, pop e peek, respectivamente).

3. Quais são as vantagens das stacks em Java?

As stacks em Java:

  • São fáceis de aprender e implementar

  • Não exigem muito do hardware

  • Permitem que os desenvolvedores resolvam facilmente problemas de recursão

  • Ajudam a controlar a alocação e a desalocação de memória

  • Permitem que os desenvolvedores implementem processos eficientes de gerenciamento de dados

4. Como você implementaria listas vinculadas com stacks?

Os candidatos devem saber que os desenvolvedores podem usar duas stacks para simular listas vinculadas. Eles podem explicar que a primeira stack é chamada de "lista" e que os desenvolvedores usam a segunda para armazenamento temporário. Os desenvolvedores podem adicionar, remover ou inserir itens da stack depois de concluírem as etapas a seguir:

  • Incluir os arquivos de cabeçalho que o programa usa

  • Declarar as funções definidas pelo usuário

  • Definir estruturas de nós

  • Definir ponteiro de nó e definir o ponteiro como NULL

  • Implementar métodos principais exibindo a lista de operações do menu

5. As stacks são chamadas de estruturas de dados recursivas. Explique por quê.

Seus candidatos podem explicar que as stacks são estruturas de dados recursivas porque os desenvolvedores as utilizam para implementar a recursão, e a recursão utiliza o espaço da stack. Também podem mencionar que a recursão se refere a uma etapa em que uma função obtém dados de si mesma.

15 perguntas comuns de entrevista sobre programação em Java relacionadas a listas vinculadas

Qual é o nível de conhecimento de seus candidatos sobre listas vinculadas em Java? Faça algumas destas 15 perguntas comuns de entrevista sobre programação Java para descobrir.

  1. Explique o que é uma lista vinculada em Java.

  2. Como você reverteria uma lista vinculada?

  3. Como você encontraria o elemento do meio de uma lista vinculada?

  4. Como você encontraria o enésimo elemento de uma lista vinculada a partir de seu final?

  5. Como você detectaria loops em listas vinculadas?

  6. Como você descobriria se uma lista vinculada é um palíndromo?

  7. Explique o que é um loop em uma lista vinculada.

  8. Explique o que é uma lista vinculada individualmente.

  9. Explique o que é uma lista duplamente vinculada.

  10. Como você encontraria o nó inicial de uma lista vinculada?

  11. Como você determinaria se uma lista de números inteiros tem apenas números ímpares?

  12. O que é o algoritmo de classificação de mesclagem?

  13. Qual método você usaria para mesclar duas listas?

  14. Como você implementaria uma lista duplamente vinculada?

  15. Como você encontraria as interseções de duas listas vinculadas?

5 perguntas e respostas comuns de entrevista sobre programação Java relacionadas a listas vinculadas

Aqui estão as respostas para cinco das perguntas sobre listas vinculadas. Use-as para avaliar as respostas de seus candidatos e contratar um desenvolvedor de software qualificado.

1. Explique o que é uma lista vinculada em Java.

Uma lista vinculada é um conjunto de elementos de dados ordenados e que apresentam um link para sucessores e, ocasionalmente, predecessores. Seus candidatos podem explicar que as listas vinculadas individualmente e duplamente são dois exemplos de listas vinculadas em Java.

2. Explique o que é um loop em uma lista vinculada.

Se uma lista vinculada não tiver um fim, os desenvolvedores rotulam isso de loop. Seus candidatos podem mencionar que os desenvolvedores podem usar hashing para remover loops de listas vinculadas, o que funciona por meio da passagem por listas vinculadas e da inserção dos nós encontrados em um conjunto de hash. Se os desenvolvedores descobrirem que o nó já está no conjunto de hash, isso significa que ele já foi visto.

3. Explique o que é uma lista vinculada individualmente.

Os desenvolvedores especialistas devem saber que as listas vinculadas individualmente são unidirecionais. Eles podem explicar que os desenvolvedores podem percorrer esse tipo de lista somente em uma direção, da cabeça para a cauda.

4. Explique o que é uma lista duplamente vinculada.

Os candidatos familiarizados com listas ligadas devem saber que os desenvolvedores podem navegar em listas duplamente vinculadas em ambas as direções, ou seja, para trás e para frente.

5. Como você reverteria uma lista vinculada?

Os candidatos podem explicar que um programador pode escrever uma solução recursiva especificamente para fins de reversão de lista vinculada? Os candidatos podem mencionar que o uso de decendingIterator() retornará um iterador que os desenvolvedores podem usar para criar uma lista vinculada diferente com elementos ordenados inversamente.

15 perguntas comuns de entrevista sobre programação Java relacionadas a árvores binárias

Saiba se os candidatos têm conhecimento abrangente sobre árvores binárias em Java fazendo-lhes algumas das perguntas de entrevista abaixo.

  1. O que é uma árvore binária?

  2. Explique o que significa a travessia de árvores binárias.

  3. O que é a travessia pré-ordem da árvore binária?

  4. O que é a travessia em ordem da árvore binária?

  5. O que é a travessia pós-ordem da árvore binária?

  6. O que é a travessia de árvore binária em nível de ordem espiral?

  7. Como você imprimiria os nós de folha de uma árvore binária?

  8. Como você contaria os nós folha de uma árvore binária?

  9. Como você imprimiria cada caminho da raiz até a folha em uma árvore binária?

  10. Como você encontraria o nível de um nó em uma árvore binária?

  11. Qual método você usaria para encontrar o elemento máximo de uma árvore binária?

  12. Qual método você usaria para encontrar o menor ancestral comum de uma árvore binária?

  13. Explique o que é o menor ancestral comum.

  14. Qual método você usaria para percorrer os limites de uma árvore binária?

  15. Como você imprimiria a soma vertical de uma árvore binária?

5 perguntas e respostas comuns de entrevista sobre programação Java relacionadas a árvores binárias

Abaixo, você encontrará as respostas para cinco das perguntas comuns de entrevista sobre programação Java relacionadas a árvores binárias para lhe ajudar a avaliar as respostas dos entrevistados.

1. Explique o que significa a travessia de árvores binárias.

Os desenvolvedores qualificados devem saber que a travessia de árvores binárias envolve visitar cada nó da árvore sistematicamente e apenas uma vez. Eles podem explicar que os programadores percorrem árvores binárias para exibir cada elemento ou executar uma operação em cada elemento.

2. Explique o que é o menor ancestral comum.

Os candidatos devem saber que a raiz de dois nós em uma árvore binária é chamada de menor ancestral comum. Eles também podem explicar que existem caminhos entre dois nós e o nó-raiz em uma árvore binária.

3. O que é a travessia pré-ordem da árvore binária?

Seus candidatos conseguem explicar que os desenvolvedores processam os nós antes das subárvores na travessia pré-ordem da árvore binária? Em outras palavras, os desenvolvedores visitam os nós antes dos filhos dos nós durante a travessia.

4. O que é a travessia em ordem da árvore binária?

Os entrevistados conseguem explicar que, na travessia em ordem da árvore binária, os desenvolvedores processam os nós usando o método Left Root Right? Sabem que os desenvolvedores percorrem primeiro a subárvore esquerda antes de se concentrarem no nó raiz e, finalmente, na subárvore direita na passagem de árvore em ordem?

5. O que é a travessia pós-ordem da árvore binária?

Os candidatos devem saber que, na travessia pós-ordem da árvore binária, os desenvolvedores processam os nós visitando a subárvore esquerda, a subárvore direita e, depois, o nó.

15 perguntas comuns de entrevista sobre programação em Java relacionadas a ordenação

Faça aos seus entrevistados algumas dessas 15 perguntas sobre ordenação em Java para avaliar seu conhecimento mais a fundo.

  1. Como você implementaria um algoritmo de bubble sort?

  2. O que significa bubble sort em Java?

  3. Como você implementaria um algoritmo de insertion sort?

  4. O que significa insertion sort em Java?

  5. Como você implementaria um algoritmo de selection sort?

  6. O que significa selection sort em Java?

  7. Qual método você usaria para implementar o heap sort em Java?

  8. O que significa heap sort em Java?

  9. Qual método você usaria para implementar o quick sort em Java?

  10. O que significa quick sort?

  11. Qual método você usaria para implementar o shell sort?

  12. O que significa shell sort?

  13. Qual método você usaria para implementar o counting sort?

  14. O que significa counting sort?

  15. Qual método você usaria para localizar um elemento em uma matriz ordenada?

5 perguntas e respostas comuns de entrevista sobre programação Java relacionadas a ordenação

Aqui estão cinco perguntas e respostas comuns de entrevistas de programação em Java relacionadas à classificação em Java. Confira as respostas para avaliar as respostas de seus candidatos.

1. O que significa bubble sort em Java?

Seus candidatos conseguem explicar que bubble sort é um tipo de algoritmo usado para comparar os elementos adjacentes de uma matriz? Sabem que o bubble sort troca os elementos quando o elemento do lado direito é menor do que o do lado esquerdo?

2. O que significa insertion sort em Java?

Seus entrevistados devem saber que o insertion sort é um algoritmo usado para classificar os elementos de uma matriz um de cada vez. Eles podem explicar que o insertion sort funciona usando um método de classificação in-place, em que os desenvolvedores modificam a matriz original e não precisam de estruturas temporárias.

3. O que significa selection sort em Java?

Os candidatos devem ser capazes de explicar que selection sort envolve a ordenação de elementos em uma matriz, trocando o elemento de menor tamanho com o primeiro elemento e, em seguida, o segundo menor elemento com o segundo elemento.

4. O que significa heap sort em Java?

Os entrevistados devem saber que heap sorting é um método de ordenação usado pelos desenvolvedores. Ele envolve encontrar o elemento mínimo e colocá-lo no início. O processo remove os elementos da parte "heap" da lista e os move para a parte "sorted" da lista.

5. O que significa counting sort?

Os candidatos devem saber que counting sort é um tipo de algoritmo que os desenvolvedores usam para classificar elementos em uma matriz. O algoritmo funciona contando as ocorrências de elementos únicos na matriz.

Que outros métodos você pode usar para avaliar as habilidades em Java?

Antes de prosseguir com as entrevistas, nas quais você pode fazer aos candidatos algumas das perguntas de entrevista sobre Java acima, recomendamos que você avalie suas habilidades em Java com a ajuda de uma avaliação de habilidades (uma combinação de testes de habilidades).

Uma avaliação de habilidades pré-emprego ajudará você a avaliar as habilidades interpessoais, as habilidades técnicas e os valores dos candidatos de uma só vez.

Cada teste de habilidades é classificado automaticamente e, no final, você obtém informações objetivas e confiáveis sobre as habilidades de cada um dos candidatos. Você pode compará-las facilmente e convidar os desenvolvedores mais habilidosos para uma entrevista para avaliar melhor seus conhecimentos.

É importante usar avaliações de habilidades no início do processo de contratação, antes de convidar os candidatos para uma entrevista, pois isso ajuda a fazer uma seleção e entrevistar apenas os melhores candidatos.

Leitura recomendada: 29 habilidades técnicas e interpessoais essenciais para desenvolvedores Java

Contrate os melhores talentos usando as perguntas certas de entrevista sobre programação Java

Há muitas habilidades que você precisa avaliar para contratar os melhores talentos para uma função de desenvolvedor Java, mas não entre em pânico.

Tudo o que você precisa é de uma plataforma de avaliação de habilidades de primeira linha, como a TestGorilla, para criar sua avaliação de habilidades e as perguntas de entrevista sobre programação Java deste artigo.

Contrate talentos excepcionais usando as perguntas certas de entrevista sobre Java e vá para a biblioteca de testes da TestGorilla para encontrar os testes de habilidades mais confiáveis e elaborados por especialistas. A contratação não precisa ser difícil!

Comece a usar gratuitamente hoje mesmo e comece a tomar melhores decisões de contratação, mais rapidamente e sem vieses.

Contrate as melhores pessoas candidatas com a TestGorilla

Em minutos, você cria avaliações para selecionar as pessoas candidatas ideais, economizar tempo e contratar profissionais excelentes.

Receba as melhores dicas sobre testes de processo seletivo na sua caixa de entrada.

Sem spams. Cancele a assinatura quando quiser.

TestGorilla Logo

Contrate os melhores talentos. Com neutralidade. Sem estresse.

Com nossos testes, fica muito fácil encontrar a pessoa certa para sua vaga e tomar decisões acertadas e justas durante todo o processo.