Dicas de questÕes para a scjp 5.0 - pass 88%

SCJP 5.0 ? 88% pass!! Ufa!

Bom, depois de um bom tempo de estudos, finalmente consegui alcançar o meu objetivo. Estudei no total de 4 meses para a prova programados da seguinte maneira:

Nos três primeiros meses basicamente pelo livro da Kathy Sierra.

E no último mês fazendo Mocks.

No segundo mês de estudo comecei as aulas no DFJUG.

Me senti preparado para a prova quando já tinha praticamente decorado as questões de três mocks: Whizlabs, Kathy Sierra e esse (http://www.examulator.com/phezam/exam.php).

A prova tem duração de 3:30. Pessoalmente, achei muito tempo, até para quem não está realmente preparado. Na verdade, se vc não estiver realmente preparado não te aconselho a fazer a prova. Não por ser muito difícil, pq se for analisar bem ela não é. Os mocks são muito mais difíceis. Mas tem muita questão que te deixa na dúvida, que se vc não estiver preparado / confiante pra seguir sua resposta, vai ter uma opção para te enganar. Teve uma questão com 4 itens para escolher um que eu cheguei a marcar os 4!!! hehehe!

Bom, acabei a prova sobrando 1:50, então revisei as questões marcadas e depois a prova inteira. Acabei a prova sobrando 1 hora.

Minha prova teve muitas “tricky questions” (como a de todo mundo), mas felizmente visivelmente identificados, como variáveis declaradas em um escopo e sendo usada em outro. Era facilmente identificadas pois não tinha muito código, por exemplo, era um for que declarava uma variável e usava fora dele. Se tivesse muito código em volta dele era mais difícil de enxergar.

O pessoal sempre fala que cai muito sobre Thread, que tem que dominá-las para ir bem no exame. E eu reitero o que esse pessoal diz. Definitivamente eu estava muito bem em Threads, nos mocks, era a parte que eu mais gostava, quase sempre gabaritava, diferentemente de Generics e API contents (odeio date, dateFormat e outros). Curiosamente na prova, fiquei com 75% em Threads e 100% em API e Generics.

Me preocupei muito ( e acho que até demais) com expressões regulares, como montar classe Macher, Pattern, enfim, a única coisa que caiu era pra dizer o que significava \d.

Algumas questões como final e static devem estar bem claras. Por exemplo, ambos não podem ser override, mas o segundo por ser redefinido pela classe filha.

Saber identificar também quando um objeto PODE ser coletado pelo GC, mas principalmente, saber quando ele não será. Na minha prova caiu uma “island of objects”;

Saber identificar também erros de nullPointerExpection. Eu pesanva que esse erro só me perseguia nos sistema que eu faço manutenção, mas felizmente ou infelizmente ele foi muito cobrado na prova. O problema é que ele não dá como opção o erro de nullPointer, ele só fala que vai dar erro de RunTime. Então tinha uns códigos até grandes, de 15 a 20 linhas, e ele tava usando uma variável que não tinha sido construída, como por exemplo uma Wrapper.

Não caiu nada de arrays na minha prova, em compensação caíram muitos métodos da classe Arrays… inclusive um deles era os asList. Dae fazia uma modificação na lista e perguntava o que acarretaria no array e vice-versa.

CONSTRUCTORS ? Que eu me lembre, foram 2 questões simples, mas difíceis de serem visualizadas pois eram códigos grandes (20 linhas). Simples pois era uma classe filha que o construtor do pai pedia um argumento. Ou seja, a filha deve passar um super com o argumento em seu construtor.

GENERICS ? tirando Threads, acho que foi a parte mais difícil da prova. Consegui 100%, mas contei com um pouco da sorte. Para a prova vc deve saber:

Não pode ser usar wildcard na criação de classes genéricas.

Ao fazer Collection<?> ou <? Extends AlgumaCoisa> não pode add nada nesta collection, mas se for <? super AlgumaClasse> pode.

Equals / HashCode -> caiu uma questão fácil, ponto ganho. Perguntando qual era a assinatura destes dois métodos. (Muita sorte -> =)

Assert -> Ponto ganho também, pedindo pra identificar o melhor uso deles.

Collections -> saber sobre TreeSet e o método compareTo da interface Comparable que ele utilizada. Saber que os hashs utilizam o hashCode, se vc não implementar, poderá ocorrer algumas anomalias ao utilizá-lo como key em um HashMap por exemplo.

Classe Collections -> saber métodos como binarySearch, reverseOrder and sort.

Uma questão ele usava binarySearch sem ter ordenado primeiro.

Na outra questão ele usava o reverseOrder, e praticamente perguntava qual era o retorno dele. Deve-se saber que é um Comparator.

Threads / innerClass ->

Básicas como quais são os métodos garantidos.

Questão chata, como usando sleep fora do try/ catch e sem throws. Ou seja, dava erro de compilação pq ele joga uma InterruptedException.

Wait, notify. Caiu uma pergunta qual era o jeito mais garantido de “acordar” uma thread que tinha dado um wait em um determinado objeto.

Difíceis como identificação de DeadLocks ou não, possíveis resultados quando várias threads estão executando em um objeto com método não synchronized, uso do synchronized.

Todas as Threads que caíram eram implementadas anonimamente, por isso deve-se dominar conceitos de inner class. Saber também sobre static class e sua relação com as outras classes…

Teve uma questão meio absurda mais um pouco fácil de cair, afirmava que uma classe anônima podia declarar construtor.

Bom, fiz esse resumo para ajudar a quem está aí nessa luta para buscar a SCJP. Espero que ajude.

Abraços e Boa Sorte!

parabens raphael!!! e excelente guia pra quem quer saber no que se focar.

Parabéns kaiak23, seu post serve de motivação, fique ainda mais motivado a ter a minha.
E estou estudando…

Nossa, até o meu ídolo Paulo Silveira passou por aqui…
Paulo, meu sonho é trabalhar na CAELUM, acabei de fazer o FJ-91! Excelente, aconselho a todos aqui deste Fórum…

A Caelum está recebendo currículos??

parabens. e excelente post mesmo… grande ajuda para os estudantes :slight_smile: que venha a proxima…

Parabéns, cara quem sabe vou postar o meu mês que vem.

olha adorei o teu post, eu tambei entrei neste barco estou estudando a quase 1 mes para o scjp, mas o meu problema é que eu tenho pouco tempo (trabalho, negocios, estudo, namorada, playstation 3) mas o que eu notei pelo teu post e pelo de muitos que eu ja li e fazendo um resumo geral,
eu notei que a prova varia muito não tem um padrão bem definido, talvez o unico padrão é que sai perguntas da maioria dos capitulos, mas o melhor mesmo, e estudar tudo detalhe por detalhe.

estas de parabens um abraço
:slight_smile:

Muito bom o post. Espero dá uma contribuição semelhante em breve.

Parabéns Rafael :!:

Mandou bem com o relato.

ps. post antigo o Rafa ja tirou a SCWCD tbm rsrs

Sucesso na SCEA.

[]'s

Parabêns continue assim e vá para a próxima

great!