Just passed the new exam with 96% and thought i'd attempt one of those inspirational postings that so
helped me when I was considering giving up and going back to being a C programmer! The exam is
straightfoward as long as you're very comfortable with the basics. There's a lot of overriding/
overloading questions so spend a lot of time on that. I agree with many of the other posts in
that the best way to do that is to write a lot of code. The biggest piece of advice I have is
not to worry about the little idiosyncracies of the language. In the ideal situation everyone would have
two years to prepare for the exam and learn the language back to front. In reality you may have
six weeks and trying to learn every minute detail just isn't possible. When going through the
various mocks I met so many questions which relied on knowing facts like passing a string
other than "true" or "false" to a Boolean constuctor would result in a value of false which to me are
pretty irrelevant. In the real world you're never going to write or have to read code like that
and checking those things out when you have to is what the API documentation is for. I agree
wholeheartedly that there is a difference between learning the language properly and just learning
it for the exam but I don't think knowing these sorts of things makes you a better programmer. Writing lots
and lots of code and reviewing code other people have written is a better way. The good thing is
the exam doesn't test you on these things, it just tests you on the basics - but you do need to know them thoroughly. The
questions were all worded better than any of the mocks I took - there was never any ambigiouty. As
for the time, I only had 18 minutes to check through which meant I could only review the half a dozen questions I'd
marked. I would have a good stab at each question the first time through. Something
that worked for me was that I spent about 5 minutes before starting the exam just writing out on the paper
that they provide the important class hierarchies, stuff like IO, Events, Containers, Collections. This meant
that when I had a question which relied on remembering what inherited from where, I could just look at these notes
and not work myself into a frenzy and possibly making a stupid mistake by trying to remember. Ok, a few more specific points:
1) IO stuff was very straightforward. Nothing on any of the more obscure classes like PushbackReaders etc.
Focussed on things like File, InputStreamWriter, DataInputStream, FileInputStream etc.
2) Collections. Very easy. No API calls to remember - just the characteristics of the collections -
ability to contain duplicates, natural ordering etc.
3) Overriding/Overloading - loads of stuff on this. Also a lot
of questions which relied on knowing whether you could change the modifiers of methods defined in
abstract classes or interfaces which the class extended/implemented.
4) Definitely read the tips/traps section in the Javaranch FAQ. A lot of these came up - calling
non-static methods from static ones, = instead of ==, that sort of thing.
5) AWT wasn't too bad. Focussed on layout managers. I did get a question about GridBagLayout and
you need to know the implications of nested containers with different layout managers and the
effect that will have on the contained components when they're resized.
6) Threads - wasn't as bad as I was expecting. Big emphasis on synchronisation and I found it
really helped to draw out pictorially what was happening in terms of threads/locks etc.
Hmm...can't really think of much else. Don't get too worried about mock scores. I was scoring 85 - 95 on the
ones I took (Marcus Green, Jxam) but there was always at least one question which could be interpreted in
a different way or was badly worded which just won't happen in the exam. As for the exam, I got 2 wrong in
Declaration/Access control. Everything else was 100%
I haven't checked out all the various Java sites that are available, but this one seems excellent. I don't
know how the moderators find the time to answer so many questions and in such detail but you're all doing a
great job. Good luck to anyone else taking it in the near future.
PS - Meant to mention this initially. I referred to Ivor Horton's Beginning Java 2 for the basics. Its very good with lengthy explanations and then it was onto to trusty Billy Brogden's Exam Cram which really makes you focus on whats important (for the exam). I read the JLS a couple of times, but its so dry its hard to remember stuff from it and then I would just go through every post on Javaranch each day. Oh, and of course, Mahas site with the various discussions and mock exams which is excellent.
[This message has been edited by rob mcfarland (edited October 17, 2000).]