Oh boy that was crazy! I took the OCP exam this morning and found it so tough that I thought I might actually fail it... I was a nervous wreck by the time I finished, thankfully I didn't have to wait too long for Oracle's email telling me my results are available. And then I saw the "91%" and my brain went *doesnotcompute*
Here's the summary of my experience:
Resources used: OCA/OCP Java SE 7 Programmer I & II Study Guide by Kathy Sierra & Bert Bates
Enthuware Mock Exams OCP SE7
Time spent: 3 months (total of 203 hours dedicated study time)
My Preparation: I started studying a week after I had passed the OCA Exam. (you can read my OCA-story here )
This really helped because all the basics were still fresh in my mind. It's easy for me to forget all the weird stuff and the 'special way of thinking' we need for these exams, so I'm really grateful for having had the chance to take both exams in succession - I really recommend doing that.
I took a similar approach as in my OCA preparation and started by working through the OCP chapters of the K&B book. I was a little overwhelmed at first because
* there's 9 chapters plus appendix (OCA was only 6 chapters)!
* most of the stuff was totally new to me (I have zero professional experience in Java & programming in general. I've published one Android app though.)
* there's SO MANY DETAILS to know!!
This time, I needed to go through every chapter at least twice because there was just so much to take in and digest. I tried and tested and played with almost every concept and code snipped by writing hundreds of small programs using only a plain text editor and the command line. No fancy IDEs and no syntax highlighting! I think this really helps train your eyes for the exam-code snippets. I enjoyed doing that and thought it really cool to be able to code EVERYTHING just with notepad and command line, even the JDBC/database stuff!
After every chapter I took the self test, and after I had worked through every chapter at least once (which took me 7 weeks) I started using the Enthuware software. You can see all my results below. Somebody here wrote that they found the actual exam questions similar to the K&B self tests, so I took them all again a couple of days prior to the exam. In the exam today there was more stuff I thought I recognized from Enthuware though. In fact, my immediate impression was, that the K&B book alone wouldn't have prepared me enough - I'll get back to this in a minute...
Like before, I was very thorough with the Enthuware software - reading through all the explanations for every single question of every test after I took it. After I was done with the Enthuware standard tests, I started using "Leitner mode". I think this is a great way of really testing your knowledge and understanding because you can have it not show you how many options you're supposed to choose. So guessing the answer gets harder
I also took a lot of my own notes when working with the K&B book, and then even started making my own flash cards, which helped me get the insane amount of details under control. The week before my exam I went through all the notes and flash cards again, read my OCA-notes again, and read through all the 2-minute drills of the OCP-section in the K&B book.
When taking the Enthuware mock exams, I noticed that unlike in my OCA-preparation, I seemed to have more than enough time. I finished every Enthuware test before time. I kept my approach from OCA and went through all the questions once, answering everything I could on the spot, only marking those that I didn't know or wasn't sure about. And then in the end I went back to the marked ones and answered them. After that I was usually so exhausted that I finished the test...
In the real exam today, I only had 4 minutes left when I decided that I was done. I had marked a LOT of questions for review. More than twenty I think, but I managed to review/answer them all. No time to go through ALL the questions again though.
*** My Mock Exam Scores: ***
K&B Self Tests - average: First time (April/May): 77%
Second time (June): 84%
My K&B Mock Exam Scores (not the self tests, the software): OCP Exam 1: May 10: 68%
OCP Exam 2: May 14: 70%
My Enthuware Mock Exam Scores: Test 1 - May 17: 75%
Test 2 - May 30: 83%
Test 3 - June 2: 79%
Test 4 - June 5: 91%
Test 5 - June 13: 78%
Last Day Test - June 21: 88%
(Real OCP Exam - June 23: 91%)
In preparing for the OCA I actually went for a 100% score, and so did everything I possibly could to know and understand every detail. Which left me really exhausted towards the end - but it got me a 93% score (it was dummy mistakes that kept me from the full 100). This time, with the OCP, I didn't do that. I just wanted to be prepared well enough so I wouldn't have to fear failure. Still, in the end I was getting really tired of studying and now I'm glad it's over.
The difference between OCA and OCP, for me, was that the OCA exam asks you to *understand* a lot of concepts, to know the rules of the language. OCP is more about specific knowledge of classes and how to use them. This is why I found it harder to prepare for - so much new stuff to learn! But a lot of it is actually really useful! Like the Calendar/Date/Formatting stuff, regex/globs, understanding generics... Geez, there's so much! Some stuff I'll probably never use again, because I'll be doing Android from here on out - but it was still fun to learn - Love Java!!
Today I went into the exam nervous but confident that I would pass - after all, you "only" need 65%... And then I sat there with all those weird questions and suddenly was very glad I "only" needed 65...!
So back to the fact that I'm glad I didn't rely on the K&B book alone: When I started doing the Enthuware tests, I read the word "RandomAccessFile" for the first time in my life. I had gone through the entire K&B book and not seen it once! And then on the exam I get like 2 (or even 3?) questions involving RandomAccessFile!! I ALSO got Stream questions (Input/OutputStream) even though the book says there won't be any Streams. There were. Those were the kind of questions were I really had to guess, even though I had studied some stream stuff and RandomAccessFile-stuff in the Enthuware software - but apparently not enough.
Oh, and I also encountered enums and serialization questions. Actually, it seemed like there were questions on EVERYTHING. And so much stuff where I just wasn't sure what the answer was. A couple of times it happened that I was sure I knew the answer...but there was no option for it! That's why I was so confused and discouraged afterwards. And then 91%, haha - I don't know what happened, maybe all those weird questions were the ones that didn't count (as in the OCA exam, the intro said that not every question would be included in the final score).
So, apparently my preparation was enough after all, and now I really recommend the K&B book in combination with the Enthuware software!
Congratulations. Have one question about preparation time - how much daily you have prepared?did you have regular work when prepared?
also thanks for topic that i not expected RandomAccessFile, Input/OutputStream.
Your speed is great, just like superman (about preparation)
@Sergej: No, I didn't have a job during my preparation time. Else I couldn't have done it! At least not beside a full-time job. I usually studied for a few hours each day. I logged all my time, so I COULD tell you the exact amount of time I studied every day, but that would be a long post, haha. The first few weeks I didn't do that much, just a couple of hours a week. But then when I had made the decision that I would take the exam before getting serious with looking for a job, I got busier: sometimes I put in over 30 hours in a week, but mostly it was like 12 hours a week. My study record hours-per-day-wise was eight hours! But that was rare, as it really took a LOT of energy and most days I did like 2 or three hours. Sometimes only one hour, or half an hour. In the beginning, when I went rather slow, I noticed that I forgot stuff pretty quickly. I would study a concept and then move on in the book, studying the next topic, and after a few days I had totally forgotten the previous topics. That got a lot better when I did 3 or more hours a day.
Anyway, 203 hours in 13 weeks would be an average of 2,2 hours per day.
The study time is excluding breaks, by the way.
Something I forgot to mention in my first post: I also got a question on ArrayDeque - which I was prepared for thanks to the Enthuware software.
And there was at least one StringBuilder question.