Sun Certified Java Programmer
By martin on Nov 27, 2006
Last Friday I passed the SCJP exam! I got 69% of the questions right, and you need 59% to pass.
I'm helping my boss to validate the quality of SCJP and SCJD, and unfortunately I had to rush things a bit with the first exam - I have to provide feedback for both exams by the middle of December, and the second certification takes a lot longer to do than the first, as it is a programming task. I am taking both exams just as if I were a regular customer. No hints on the answers and no help you could not get.
I bought the book Complete Java 2 Certification and read chapters 1 to 9, which covers everything you need to know to pass the SCJP exam. As far as I can tell, the book covers the exam topics very well - it should, as the authors wrote the exam questions. The exam covers seven sections:
- Declarations, Initialization and Scoping
- Flow Control
- API Contents
- OO Concepts
First I was stunned at all the things you have to know, I knew most of them - but far from all, and thought it was a bit excessive. I even got worried that I would not pass the exam! :-)
To get a feel for my Java background, I'll give you a short overview: I've been hacking Java on and off for over 11 years, even before it was publicly available as I did alpha testing of the Mac OS JVM for Java 1.0, but as it hasn't been my day job until I started at the Java SE security team, so I can't compare myself to my peers (like Andreas who is a brilliant Java hacker).
The only critique I have of the SCJP exam is that it required a bit too much of API knowledge. I use NetBeans when I write code, and it takes care of that for me, which was reflected on my score in the API section of the exam, where I only got 50% (my lowest score of all sections).
I'm not saying that you don't need to know what classes there are in the core libraries,
but you don't need to know the exact class name and method name,
you can look that up.
Who writes code without access to the documentation?
E.g. in the
is the method which read the next available integer value called
I don't know -
I look that up in
I think the API questions should be more around what types of classes there are,
and what functionality they provide.
Like that a
Map takes a key/value pair,
Set only takes an element -
rather than knowing the verbatim class and method name.
Depending on what you are focused on, you will have dealt with some parts of the API more than others.