Quate: "This report shows the total 1.4 SCJD points that could have been awarded in each section, and the actual number of points you were awarded. This is provided to give you per-section feedback on your strengths. The maximum possible score is 400; the minimum to pass is 320. General Considerations (maximum = 100): 93 Documentation (maximum = 70): 70 O-O Design (maximum = 30): 30 GUI (maximum = 40): 27 Locking (maximum = 80): 44 Data store (maximum = 40): 40 Network server (maximum = 40): 40 " During an unhappy week with a mistake that sun made, it shows that I had a fetal error about my submission directory, and finally I passed after all. I worried about my documentation because English is not my native language, but my documentation gets 70/70, . It seems that my locking system is poor (44/80), which was the part I feel good. And I take about 10 months to finish the test, it's a shame. So thanks every one who helped me here, I think I can hardly pass whithout you guys, I think I not only passed a test but also learned some useful thoughts here.
Hi Biang, Congratulations on passing the SCJD. Thanks for posting your detailed feedback.
Originally posted by biang lin: I worried about my documentation because English is not my native language, but my documentation gets 70/70, . It seems that my locking system is poor (44/80), which was the part I feel good. And I take about 10 months to finish the test, it's a shame.
I'm not surprised about your documentation score because I suspect content is much more important than style in this category. This is a world-wide test so Sun must expect that a good number of the candidates won't be native English speakers. Locking is the trickiest area on the exam because if you make a mistake in your design or implementation it's not guaranteed that you'll catch it during your testing. Best wishes for your future efforts. [ February 24, 2004: Message edited by: George Marinkovich ]
SCJP, SCJD, SCWCD, SCBCD
Joined: Jun 02, 2003
Thank you George, So you mean there is something wrong with my locking? Now I'm not sure that my locking is not good enough or it just doesn't work in reality.
Joined: Apr 15, 2003
Biang, Originally posted by biang lin: So you mean there is something wrong with my locking? Now I'm not sure that my locking is not good enough or it just doesn't work in reality.
Well, I don't know what could be wrong in your case. But there should be something wrong with your locking, otherwise I would have expected you to get 80/80. Many people have received 44/80 for locking. Many people have speculated on the reason for this but I'm not sure we know the answer. It's not even clear that people received this score for the same reason; in other words, there may be multiple deficiencies that lead to this score. Also, to say that there is a problem with locking doesn't mean that under some (maybe most) circumstances your locking doesn't work. I would speculate that there's some sort of test suite that the examiner runs on your Data class. Maybe there are 20 different locking scenarios that are tested. Perhaps if you pass 17 or more of the 20 tests your design is considered sufficient and you get the full 80/80 score for locking. Maybe if you pass more than 10 but less than 15 of the tests then Sun deducts 36 points from your locking score. But this is all guess work and speculation. Perhaps, one way to get to the bottom of this would be for me to send you my locking test suite (off-line) and then have you adapt it to your application and run the tests. If you didn't get the expected results then that may indicate to you where a potential problem was lurking in your code. Of course it's always possible that your code could pass my test suite and still have some lurking problems that weren't caught by my test suite but were caught by Sun's. By the way, my test suite is based on Max's so if you have his book you could try running your application against his test suite (the one discussed in his book) instead. It's a complicated area because even if your Data class is perfect (with respect to locking) it also matters how your locking scheme is used by the client. Maybe there are deductions (say 10 pts) if you lock a record, try to perform a database operation that fails and then your code doesn't unlock the record. Maybe your raf isn't protected from simultaneous access under some circumstances (maybe that results in a 10 point deduction).