Like the subject says, I passed my Sun Certified Programmer For Java2 this morning, with 55 out of 59 questions correct.
To prepare, I used "A Programmer's Guide to
Java Certification" by Mughal and Rasmussen. Actually, this was with a group of people from work, and we covered one chapter per week. On my first pass through the book, there was a lot that didn't stick. I made a second pass through the book on my own, and made detailed notes on things that weren't clear to me. That helped a lot. I made only one additional pass through my detailed notes. The value there was in writing them in the first place.
I also read this forum a lot. Following the discussions of mock exam questions, and the Java language in general, has been very helpful. Being on JavaRanch helped me a lot.
I took a lot of Mock exams. At least two per day for the last two weeks. Pretty much in order:
JavaRanch Rules Roundup 100% usually, by the end
Marcus Green 1 82%
Applied Reasoning 73%
John Hunt 86%
Marcus Green 2 83%
Brogden 80's to 90's
Brogden Hardest 89%
Khalid Mughal 86%
Boone 81%
RHE (CD borrowed from a friend) 84%
RHE Bonus 1 on CD 92%
MindQ (???)
Guoqiao Sun 1
http://www.geocities.com/sun_guoqiao/ 75%
Guoqiao Sun 2 71%
Guoqiao Sun 3 83%
There were a few others I didn't keep track of.
On the mock exams, one third to half my errors were dumb mistakes where I knew better (with the greater percentages on the later exams). About half of what remained were things I did not know. The remainder of the mistakes were due to badly worded and/or erroneous questions. (In spite of what some mock exams say, I still believe you can not get a lock on a synchronized method, only on the underlying Object or class) Also, Guoqiao Sun has a couple of silly questions based on when two computed floating point numbers are compared for equality. I mean, who cares when two computed floating point numbers happen to accidentally be equal. Please don�t think I�m picking on Guoqiao Sun, his mock exams are really very good. Many of the mock exams have silly questions, some of which I missed.
On the real
test, I think I eliminated my dumb errors. I finished one pass through the exam in 55 minutes. I spent maybe 15 minutes on the four hardest questions, and finished the remaining 55 in a half hour. I then had plenty of time to look over each of my responses a second time. I ended up changing a couple of answers on the second pass. I still left the exam with over a half hour of time remaining.
If anyone is still reading this, I'll just add that my background has been mostly C programming for seven years up until two and a half years ago. Then we started doing C++, where I made a conscious effort to learn object oriented programming. For the past year, I've been doing Java at a new job. I was fortunate enough to find an employer who would allow me to learn Java on the job, given my background in object oriented development and SQL. I've been playing at studying for the certification since May. I've been intensly working on it for the past four weeks. Now, I'm certified.