I have been an application architect for several years working in both .Net and Java technologies, so I have had some Java programming experience behind me, but I have never been a full time Java coder. What I have focused on is object oriented designs and decisions concerning specific technology stacks (like the Java stack using stuff like Swing, Hibernate, RDBMS, J2EE servers, etc). If you look at my scores below, I think you will see how my exam reflected my strengths and weaknesses in regard to Java technology. I think this is a great testament to the meaningfulness of this exam as Sun designed it. As I understand it, this exam is focused less toward full time programmers, and more toward project managers, architects, and other similar technology leads.
While I started studying for this about a year and a half ago, I stopped abruptly after about a month of light study due to a reorg in our company. I picked it up again at the beginning of last month and it took about 4 weeks of preparation (with several hours of study each day).
Other than some previous Java experience (no full time programming work experience), I only used Cameron McKenzie's SCJA certification guides. I can't say enough about these books - they were awesome!! Also, don't buy the white study guide without buying the black Mock Exam Questions book. There is a reason why he published both books together - they are essentially one package. If you are suffering from sticker shock (the books are $54.99 each), let me give you a tip: If you are working on the certification through your work, the price of these two books is a great bargain for you company compared to the price of a training class or conference (remember air-fair and hotel aren't cheap either). While $110 may seem a lot to you personally, it is chump change for your company. They wasted more than that already in this morning's meeting on those two managers who sat their mutely and everyone was like "why are they here?" - that's project billable time people!
Seriously, if you are going for your SCJA - you need these books. Period.
Total Score: 82%
Fundamental OO Analysis:....................................87%
UML Representation of OO Concepts: ..................100%
Java Implementation of OO Concepts: ..................87%
Algorithm Design and Implementation: .................50%
Java Development Fundamentals: ........................83%
Java Platforms and Integration Technologies: ......100%
Client Technologies: ...........................................60%
Server Technologies: ..........................................85%
There were two particularly challenging things about this exam. The first was the algorithm design. While this might not be difficult for a full time programmer, I found the looping structures to be very confusing. These are not simple "real world" scenarios. The areas I suggest candidates look out for in this area are:
- Break and Continue
- The intricacies of the different kinds of loops (For Each, While, Switch, etc) and the appropriateness of each in a given code scenario
- Passing Objects around (and the crazy By Ref and By Val rules in relation to Objects and Primitives)
- Array iteration
- String functions (startswith, trim, etc)
- char vs String and when to use double and single quotes
This is not to disparage the exam at all. The OO design was intense - both in diagrams AND code. I came away from the test as a much better designer. Coding reviews used to make me a little nervous (don't tell anyone!) because I always figured the developers had a serious advantage over me at the deep code level. NO MORE! I feel like I could walk into any code review now and not only ask questions, but even provide some refactoring code of my own!
Thanks again to the awesome JavaRanch community and thanks to Cameron for his great books!