This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
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. Cheers, Rob. 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).]