10 perguntas mais difíceis da entrevista sobre Java.
Perguntas e respostas desafiadoras sobre Java O que são perguntas desafiadoras da entrevista sobre Java ? Por que as pessoas os estudam antes de ir para uma entrevista? Bem, é natural que as pessoas se preparem para perguntas difíceis, mesmo que não esperem receber perguntas difíceis do Java . Preparar-se para perguntas difíceis e complicadas aumentará sua confiança e o ajudará a responder a quaisquer outras perguntas. Por outro lado, se você não se preparar para questões difíceis, o aparecimento delas durante uma entrevista ou prova escrita será uma surpresa desagradável para você. Mas a definição do que é considerado uma questão difícil não é universal; a mesma questão pode ser difícil para um programador e simples para outro. Portanto, prepare melhor sua lista pessoal de perguntas difíceis antes de comparecer para uma entrevista sobre Java . Neste artigo, compartilharei com você minha própria lista de dez questões desafiadoras que podem ajudá-lo. 10 perguntas difíceis da entrevista sobre Java e respostas para elas Como já escrevi, aqui estará uma lista de 10 perguntas difíceis com um truque que você pode encontrar durante as entrevistas. Estas questões dizem respeito apenas ao
kernel Java e não afetam
o J2EE . Como eu disse, essas perguntas podem ser simples para você e você já sabe a resposta. Mesmo assim, eles se deparam com eles durante as entrevistas e conheço pessoalmente pessoas que não souberam respondê-las.
Por que os métodos wait() e notify() são declarados na classe Object e não no Thread? Por um lado, não foi você quem desenvolveu a
linguagem Java , como saber por que foi feito desta forma e não de outra forma? Mas se você aplicar bom senso e conhecimento profundo de
programação Java , poderá encontrar facilmente a resposta. Leia esta postagem -
por que wait() e notify() são declarados na classe Object e não Thread .
Por que a herança múltipla não é suportada em Java? A dificuldade com esta pergunta é principalmente que sua resposta pode não satisfazer o questionador. Na maioria dos casos, são necessários exemplos específicos e, se você listá-los, a pessoa que o entrevistou ficará feliz. Mais uma vez, darei a você um link para meu próprio blog -
por que Java não oferece suporte a herança múltipla para responder a essa pergunta.
Por que Java não suporta sobrecarga de operador? Outra questão difícil
sobre Java da mesma categoria.
C++ suporta sobrecarga de operador, por que Java não? As pessoas podem fornecer este e outros argumentos semelhantes, e às vezes até dizer que o
operador + está sobrecarregado em
Java para mesclar strings, mas não se engane. Leia
por que a sobrecarga do operador não é suportada em Java para obter uma resposta detalhada a esta pergunta complicada.
Por que as strings são imutáveis em Java? Minha pergunta favorita da entrevista, é difícil e complicada, mas também muito útil. Você também pode se perguntar por que as stringssão declaradas
como finais em Java . Leia aqui
porque as strings em Java são finais e imutáveis .
Por que uma matriz de caracteres é melhor que uma string para armazenar senhas em Java? E mais uma pergunta complicada sobre strings, e acredite, poucos
programadores Java podem respondê-la. Esta é uma pergunta realmente difícil sobre o
núcleo do Java e requer conhecimento completo da classe
String para ser respondida . Ler
por que uma matriz de caracteres é melhor do que uma string para armazenar senhas para descobrir a resposta.
Como criar um singleton thread-safe em Java usando bloqueio verificado duas vezes? Outra maneira de formular essa questão é o que é
um singleton thread-safe e como criá-lo . Antes do
Java 5, a única maneira de criar um singleton thread-safe era por meio de bloqueio duplo; caso contrário, se vários threads tentassem acessar um singleton ao mesmo tempo, cada um obteria uma instância diferente. A partir do
Java 5, esse problema foi resolvido usando Enum . Mas se a pessoa que está entrevistando você insistir, escreva este código para ela. Só não se esqueça de configurá-lo para
volátil . Mais detalhes aqui
10 perguntas sobre singletons em Java Escreva um programa Java que crie um impasse e corrija-o. Uma das perguntas clássicas, mas ainda assim difíceis, cuja resposta requer experiência na escrita de aplicativos multithread. Leia
como criar ou evitar conflitos em Java. O que acontece se sua classe Serializable contiver um campo não-Serializável. Como corrigi-lo? Qualquer tentativa de serializar tal classe lançará
NotSerializableException , e a maneira mais simples de corrigir isso é declarar tal campo
transient . Leia
as 10 principais perguntas sobre serialização se precisar de mais detalhes.
Por que wait e notify são chamados de métodos sincronizados em Java? E mais uma pergunta sobre o núcleo
Java . Eles são chamados a partir de
métodos sincronizados ou de um bloco sincronizado , porque
wait() e
notify() requerem um mutex no objeto no qual são chamados. Bem, você pode ler a resposta completa aqui -
por que wait() e notify() precisam ser chamados em um contexto sincronizado .
Você pode substituir um método estático em Java? Se eu criar um método com o mesmo nome em uma classe descendente, isso causará um erro de compilação? Não, você não pode substituir
métodos estáticos em Java . Mas se você criar um método estático em uma classe descendente com o mesmo nome da classe ancestral, isso não causará um erro de compilação. Isso é chamado de "ocultação de método". Você pode ler uma resposta mais detalhada aqui:
você pode substituir um método estático em Java Esta foi minha lista de questões difíceis em
Javae respostas para eles. Para programadores experientes, alguns deles não parecem tão complicados, mas contêm truques e respondê-los não será tão fácil para um programador iniciante. Se você encontrar alguma dúvida difícil
sobre Java , compartilhe conosco.
Artigo original
GO TO FULL VERSION