My preparation: I prepared for 2 1/2 months with at least 5 hours the day. After my diploma in mathematics, I had a highly theoretical approach to Java (At university I have learned a lot about computer science like finite automats, context-free grammar, analysis of algorithms and so on. But never delved into the depths of any specific programming language) So, I started learnig with the bible about SCJP: K&B. I also rented some other books about this topics, but liked K&B the most: written in a casual tone, but dry and accurate when it has to. And the writers always kept in mind to just give you the informations you'll need for the exam, nothing more and nothing less. Thanks!
It took me 4 weeks to work through this book, taking all the self-tests directly after I made one chapter and scored about 50% on an average. So I started from the beginning, read every chapter a second time and wrote index cards about all the details I already had forgotten (I ended up with 900 of these cards...) All the time I wrote many small programms to check things out. I discovered the Java Language Specification at that time and read most of it, without the claim to memorize all these tiny little distinctions and rules, but it gave me a very good feeling about why things are the way they are in Java.
Now, I really had the feeling to understand every important (for the exam) concept and made the selftests of K&B a second time. This time scored about 70%, feeling very dissatified with my performance. It became clear to me, that my theoretical knowledge of concepts was sufficiant and my weak points were: Memorizing the API and especially: reading code snippets. Memorizing the API lead to another 200 index cards. As I tended to follow the flow of the given code snippets overlooking the basics (like missing imports, visibility of members or syntax like "case default:") I took the masterexam (without time limit) and trained to first scan every code regarding these topics like a compiler would and to spot oddities (like members marked final, explicitly given constructers but missing no-arg-constructers, members marked protected...) I felt really confident with the outcome and signed up for the exam. The last week I just took some other mock exams (K&B Bonus master exam, www.danchisholm.net and inquisition). My plan was to take all the mock-exams from the linklist here at JavaRanch, but I was so fed up with learning, that I only managed these three.
The exam: Don't know what to say. Maybe I had a bit of luck: the questions I got have been absolutely straight-forward. No code snippets with more than 20 lines of code. No confusing thread questions (as others have experienced. I think there have been only about 5 thread-related questions). Many many generics questions. Before reviewing the drag-and-drop questions, a window popped up, warning me that previous answers will be deleted. The amount of right options have been given always. Most of the time there were no "code will not compile" options, but "code will not compile due to an error on line...". All questions I got, could be answered with the informations given in K&B, all! (Thanks again)
Some tips: - It's not only important to understand the concepts but to find your own way of how to read the given code and not to overlook the pennys - Make sure that pencil and paper is allowed in your testing center - If you score 50% or more on the K&B exam (or bonus exam) and do not suffer from extreme exam nerves: You will definately pass the exam. (no responsibility is taken for the correctness of this information ) - If you are now planning to take the exam in the next months: Order the voucher till June 23 and use the code given here: http://www.sun.com/training/savings/retake.xml to get a free retake.
I am also preparing for the exam and going through K&B book second time. Still I am not getting very satisfied scores on mock test. Can you tell me about maintaining index cards? How do you maintain that?