Ya-Hee! Did it today, not bad for an ex-COBOL programmer who worked an hour a day for the last month. Just joking! Well, not about the COBOL bit, but I stopped that in 1987. Despite forcing my way back into programming (in
Java) in summer 2001, I wasn't able to do it continuously, so had only about seven month's Java experience when I started studying for the exam in July 2002.
I got hold of Bill Brogden's Exam Cram (second-hand via amazon.co.uk as it seemed to be out of print). It turned out to be partly useful because I then decided to switch to the 1.4 exam, which meant that the chapters on AWT and IO were not relevant. I would have bought Kathy and Bert's book, but when it came out in January, I thought that I was going to take the exam soon, so didn't bother. I later regretted this - might have got a few more marks!
What really took me aback was how much I didn't know - declarations, fundamentals, flow control - everything. And as it takes me a long time to travel to and from work, I was only able to do serious work at the weekends and during my annual leave.
I prepared mostly by using the internet. I initially participated in one of the Java Usenet newsgroups, and used websites like
www.javaprepare.com/ and Marcus Green's
http://www.jchq.net/ . Jane Griscti's website (
http://www.janeg.ca/index.html ) proved really useful, as well as Roseanne Zhang's website (
http://bobcat.webappcabaret.net/javachina/index.html . But it's been Javaranch which has proved the most valuable in recent months.
I did lots of mock exams, here are the scores of the ones I did in the past few weeks.
1. Sun's ePractice 1.2 7/9 77%
2. Sun's ePractice 1.4 7/9 77%
3. Bill Brogden's hardest 65%
4. Roberts, Heller & Ernest mock 8/10 80%
5. JQ+ 1.2 19/24 79%
6. JQ+ 1.4 34/59 57%
7. Valiveru 26/32 81%
8. JavaCoding 1 30/44 68%
9. JavaCoding 2 32/44 72%
10. Majji 18/27 66%
11. Javaranch Roundup 1 91%
12. Javaranch Roundup 2 100%
13. Javaranch Roundup 1 91%
14. Marcus Green Mock 1 87%
15. Marcus Green Mock 2 81%
14. Marcus Green Mock 3 85%
15. Examulator 1 9/10 90%
16. Examulator 2 9/10 70%
15. Examulator 3 9/10 90%
16. Dan Chisholm 52%
I found the real exam to be a bit more difficult than Marcus Green's three exams, though you have to allow for the fact that Marcus's exams are geared for 1.2 rather than 1.4. Definitely the toughest are Dan's exams, but I'll say that you have got to do them. If you can figure out most of the questions, you will pass!
One of the things I did was to take extensive notes - here they are:
http://www.caribbeanaviation.com/java/Java%20Certification%201.4.doc . It's written in an old (6.0) version of MS
Word, so
you should be able to read it.
As for the exam itself. It's worth reading the terms and conditions you have to wade through
before to get to the exam (it's on the Sun website). There is some more stuff about line numbers which start from 1 indicating that it's a full program listing, but anything not starting from 1 is a code snippet. Why can't this be on the Sun website as well?
During the exam, the first thing I did was to look at the answers. If one of the options is about compilation failure, then you need to look out for it. Sometimes, you are asked about compilation failure on specific lines, eg line 4 or line 8 - this make life easier. You then don't have to check that main method declaration - but you've got to know it by heart for lots of other questions!
If I couldn't answer a question quickly, I marked it. After an hour, I'd answered or marked about 45 questions, so had enough time to revisit everything.
I found the questions varied hugely in difficulty. For instance, I struggled with flow control (not my best subject, admittedly) but found the Collections Framework to be easy. There was no code to decipher, just radio buttons to click. Oh, there was one question which would trip up a lot of people. I won't give the game away, but let's just say that you'd better know what class is to be used to build LRU caches.
I found one question where you had to type the answer into a box. Strange - why not radio buttons? BTW, you can't get this one right if you don't know how Strings and StringBuffers are changed (with the replace method), what is immutable and what isn't, etc).
Questions on assertions were not that difficult. One thing you must know is what the different options are, meaning whether assertions can be applicable to packages, classes and so one.
You have
got to know about the bitwise operators. There were several questions which required a knowledge of things like true ^ false, 4 | 3. It's really useful to be able to quickly scribble out something like this.
OK, I did't get anything on Octal numbers, but you get the point. The highest binary number I had to deal with was 1 0000 (decimal 16).
Oh, here are my scores.
Declarations and Access Control ..............50%
Flow Control, Assertions, Exception Handling .55%
Garbage Collection ...........................66%
Language Fundamentals ........................90%
Operators and Assignments ....................62%
Overloading, Overriding, Runtime Type and OO 100%
Threads ......................................87%
Fundamental classes in the java.lang.package .83%
The Collections Framework ...................100%
Passing score: 75%
I have to give a huge thanks to everyone who runs all the websites and forums I used, and those who contribute. I know it can't be easy to write good mock exams, so particular thanks to those.
Any questions, just ask!
[ April 29, 2003: Message edited by: Roger Chung-Wee ]