This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
On July 19, 2010 I answered 48 questions (out of 51) correctly on the exam and scored a 94%.
I know this certification is not intended for people who are already SCJP (and even SCJD), but my target is to collect each possible Sun (Oracle) Java certification, so I just had to get this one. I'm also glad I didn't miss any question about the programming language, but all 3 questions I missed were in the "Technologies" section. I found these questions the hardest, not only because I have a solid understanding of the programming language. The main reason is because these questions contain a lot of English text and as a not native speaker I sometimes had difficulties to understand what was meant (intended). When reading 1 question I even thought none of the answers were possible, but "None of the above" was not an option
I prepared myself by reading the book "SCJA Certification Guide" by Cameron McKenzie a few times. And in the weekend before taking the exam I focused on the Technology part and I took the essay exam (45/51 in 25 minutes without reviewing my answers). I think the book is good for this certification, but I can't find the errata of this book anywhere. On the 1st page of the book a link is provided where you should find the errata, but unfortunately this link ends in a 404-error.
And here is a list of the main (and sometimes major) errors I found in my copy of the book (1st printing of the 2nd edition):
p. 97 + p. 101, question 3: option c) is NOT correct. The given explanation is correct ("entity beans should have local interfaces"), but it is the opposite of option c) in the actual question ("entity beans should have remote interfaces")
p. 193 SimplePolygon: the code snippet will NOT compile, because the nonNullCount variable is declared inside of the for-loop (instead of before this loop) (and also a closing bracket is missing). And even if the scope of this variable should not have been a problem, the code would never create a successful polygon, because the variable is initialized back to 0 with each iteration, its maximum value will be 1, so always less than 3 (but if you fix the scoping problem by moving the declaration and initialization of the nonNullCount variable before the for-loop, the code will compile and work as intended).
p. 251 + p. 258, question 11: options c) and d) are said to be correct, but none of the options will compile (because each method should have a return statement, for example: return null;. And even if in each option this return statement is added, only option d) is correct! The access modifier can NOT be reduced when overriding a method (implementing an interface) and the access modifier of a method in an interface is ALWAYS public, option c) has the "default" access modifier. If you try to compile the code snippet at the bottom of this post, you'll see that only class D will successfully compile.
p. 333 + p. 338, question 13: the same question as question 11 on p. 251 is used again here (but every option has the required return statement). But the 2nd remark I made in the item above still stands: only option d) is correct
p. 399 "late binding": "Late Binding" is the correct answer of question 41 of the mock exam (p. 358 + p. 389), but I couldn't remember having read something about this term in the book. According to the index at the end of the book, "late binding" is used on p. 214 (but this page is about marker interfaces and annotations)
Hopefully these errata will help other people struggling to become a SCJA!