I'm just back from the testing center, and I am proud to tell you that I am now certified with a perfect grade of 100% ! Woohoo !
I must especially thank Kathy and Bert for their excellent book, and for this forum. If you ever come in Paris, I owe you a drink ! Also, thank you to all the javaranch community for its support !
Some side notes on the exam :
The exam's drag'n'drop system is A LOT better than Whizlabs'.
The same for the "Review marked questions" system.
In my testing center, no drinking was allowed, so you must drink before.
Questions are unambiguous, so don't stress about not being able to understand what is really asked. This won't happen.
Some notes on my preparation :
I bought the K&B book as soon as it got published, updated it with the errata found on javaranch, read it many times and annotated it. Tip : use a yellow marker. I will help you browse the book and immediately see what is important to remember.
For the last 6 months, I've been analyzing it chapter by chapter, sentence by sentence, and I wrote lots of small example programs. Don't hesitate to write programs that don't work, too.
Last month, I took the 6 Whizlabs mock exams, and the K&B master exams last weekend.
And there I am : certified !
Now I can take some rest... until the next certification :roll:
The K&B book and Whizlab's kit are sufficient to pass this exam.
However, I strongly advise to study the Javadoc of all classes that appear in the book : Object, Thread, all collection classes, Scanner, I/O classes, etc. Reading the Java Language Spec. can help you understand some hard topics, too (I used it to understand the subtleties of Enums, for example).
The only thing you'll have to learn by yourself is the Thread.interrupt() method : it is not explained in the K&B book, but definitely IS on the exam.
If I may suggest : keep the Whizlabs tests for the last month, when you feel you have mastered all the book's content. When taking them, keep a piece of paper at hand. Write down everything you're not absolutely sure about when answering the questions (ex: "what does null instanceof Object return ?"). When the test is over, find the answers and write small programs to bury them deep in your brain.
Since I've had many private messages or emails asking me how I prepared and what advices I could give, here it is :
The K&B book is excellent. Read it, learn it, mark it. Sleep with it, eat with it, bath with it.
I would also recommend buying the Whizlab SCJP5 preparation kit, as it ships with 6 full mock exams. That helped me a lot. These exams are harder than the actual exam, and this is a good thing : when you get high score at them, you know you'll perform well at the actual exam. I scored 73% at the beginning, and ~90% for the last three.
When taking the exam, I would recommend doing this : First, take a look at the possible answers. - If they do NOT include "Does not compile", you can read the code and try understand what it does. Easy. - If it DOES include the evil "Does not compile" answer, do the following : * If the code shows the import statement, verify it. Ex : the code uses "Date" but does not import java.util.* or java.util.Date -> Compilation error. * Verify that no static method tries to access non-static variables. * Verify that no final variable is reassigned a new value. * Verify the scope of variables. Ex: a variable is declared in a loop body, but used outside the loop. * Verify the constructors. Ex: Class A has only a "A(int i)" constructor, but some code tries to call "new A()". * Verify pretty much all the other rules that are explained in the "Exam Watch" sections of the K&B book.
Ofter, out of the 5 or 6 possible answers to a question, you can outright eliminate 1 or 2, because they are nonsense. Then you can concentrate on the others answers.
Write lots of small programs to test every notion in the book. Try to take 2 rules that you know and see how they interact with each other. Ask yourself "what if..." and find the answer. Ex : the Boolean wrapper has a constructor that takes a string. What if I pass it null ? or an empty string ? or some random string ? Is it case-sensitive ? Etc.
Take all the required time to prepare yourself, do not rush for the exam, even if your boss wants you certified before the end of the month (or the week). You won't pass if you're not WELL prepared.
I've been programming in Java since 2001. But it took me more than 6 months to know the entire K&B book (especially the new Java5 features : enums, generics...), and a full-time month with the Whizlabs exams to feel confident enough to take the real exam.
But that may be different for you, depending on how much time you can spend every day to prepare, your current level, and your expectations (if you really want 100%, or just be certified with 60%...)
Firstly congratulation for your amazing score !!! I am in paris and i would take the exam for the end of month, but i don't know which is the best exam center in Paris. Which exam center did you take the SCJP ? Thank you for your answer and the tips you gave in your previous post.