Hello everyone. I finally passed OCP exam today with an unexpected result. This is going to be along post, I want to tell my story for anyone who is interested in taking the exam.
I am a computer science Engineering student from India and I am currently in the 4th and final year of my Engineering degree. I came to know about OCA through a teacher in my university and later I did some research and instantly decided that I shall prepare for these certifications. Previously I had experience in C,C++ and
java but honestly after passing the exams I feel I knew nothing about java back then.
Since I already knew the basics of programming like variables , loops ,switch case , etc for OCA I only studied the new topics like the Date and Time API , etc. I directly started with the practice tests
book on OCA/OCP by Jeanne and Scott and then used enthuware.
I have written a story about my OCA exam
here.
Now lets talk about OCP. After I passed OCA on February, 2018 I started preparing for OCP from March, 2018. For OCP the case was completely different I knew nothing when I saw the OCP syllabus so this time I had to read a text book.
With out looking any where I ordered probably the best and most common book, yea Jeanne and Scott's OCP
book.
I read every chapter thoroughly then solved the 20 questions at the end of the chapter , then I went to the practice
test questions ( about 40 questions per chapter) from the practice test book. I made many mistakes, studied parts again, searched java
doc , wrote small code snippets and if nothing worked I posted stuff here in coderanch.
After all this I used the same strategy as I did for OCA I made a notes copy. In this copy I wrote all the tricky stuff I found , I wrote, scribbled stuff, drew diagrams in a way so that I can later understand the stuff when I read it again.
Honestly making notes was very frustrating as I had to write a summary of the chapter , at times it seemed redundant but I knew it would help later. After every chapter I left 4-5 pages because I knew I would encounter lots of new stuff on the chapter when I will go through enthuware.
In this way I completed 4 chapter then I had to take a break of 1 month due to my university exams after which I resumed studying. It was very hard I had to parallely manage college studies as well as OCP.
So to sum it up , preparation for ever chapter involved the following steps..
Read the text book
Solve end of chapter questions from text book
Solve questions from that chapter from the practice test book
Work on all mistakes you made and make notes of everything in your notes copy.
After I had finished doing this for all the chapters I now thought of enthuware but before that I found that I had to revise everything once again because while studying the 10th chapter on
JDBC I forgot stuff I read on the 1st chapters like Collections ,streams ,etc.
So I revised everything once again from my notes (not from book).
I bought enthuware and gave the foundation test passed with 80% next I took the first standard test, this is where I faced a big blow...
I FAILED WITH 59% and took 30 min extra time.
I had taken all enthware exams for OCA I never failed in any of them and scored >70 always this was a huge blow to my confidence for once I thought I may not pass OCP. For me 85 questions in 150 min time seemed impossible.
I was so frustrated and demotivated I wrote a post for that
here.
So I went through all the mistakes took notes and added stuff in my notes copy. I couldn't afford to fail in the next test so I revised the entire syllabus from my notes once again, I made a strategy for time management and took the next exam...
I passed with 77% and completed 10 min before. This was a huge morale
boost.
I completed all the next exams within time and kept updating my notes regarding all mistakes and new stuff I learned.
Enthuware seemed very difficult I found a lot of small stuff like many methods , some classes , etc which I didn't find in the book (I also wrote a post about it
here.). I didn't know whether they where in syllabus or not so I studied everything. When ever I found a new classes or method I searched for it in java docs and added a note on it in my copy.
At last I gave the last exam on enthuware and felt confident enough , I revised everything once again( 3rd time) from my notes copy and finally took the exam.
Honestly I just wanted to pass I was worried. My enthuware average was 72% . The exam went pretty well but the results where completely unexpected..
I passed with 92%. WHAAAAAT I couldn't believe myself.
I was extremely happy..
Now lets talk about the exam..
I finished the exam with only 3 mins remaining. I went through 4 or 5 questions that I had marked and time was up. Overall I was satisfied with the exam and I was confident that I would pass.
The exam was not easy off course but it was much easier compared to enthuware. Enthuware is THE ULTIMATE resource and a must for the exam I feel. I found a lot of similar questions as in enthuware and also some methods
which were not present in the book but I found them in ethuware. For example the book didn't say much about the comparing() and thencomparing() methods of Comparator but the exam had questions directly on these methods luckily I had found them in
enthuware questions and knew about them. Then their where some other questions like a lambda as a parameter. Again I found this in enthuware and the exam had a similar question. It was something like IntFunction<IntUnaryOperator> fo = a->b->a-b;
I must say there where some questions which I was not sure about like whether it could be an exception or a compile error but I made good guesses which where mostly correct. I think making a right guess is all about experience, when you have solved
thousands of questions and then when you encounter something new most of the time you can make a calculated guess from your experience which is mostly correct.
I am very happy that I ultimately did it... I would like to thank Jeanne and Scott for the excellent book which taught me the concepts and would like to thank the enthuware team for the awesome software which filled the gaps in my knowledge
and reinforced it.
Lastly I want to thank all the talented people in this forum who helped me throughout my journey.
Now I present my scores in the various preparation exams...
This is the marks I got in the chapter wise practice tests ( 40 to 50 questions) :
Java Class Design - 78%
Advanced Java Class Design - 80%
Generics and Collections - 77.5%
Lambda Build-in Functional interfaces - 65%
Java Streams API - 60%
Exceptions and Assertions - 60%
Use Java SE 8 Date/Time API - 77.5%
Java I/O Fundamentals - 62.5%
Java File I/O (NIO.2) - 62.5%
Java Concurrency - 60%
Building Database Applications using JDBC - 77.5%
Localization - 75%
This were my enthuware scores...
Foundation test : 80%
Test 1 : 59% ( took 30 min extra time)
Revised entire syllabus from my notes and worked on time management.
Test 2 : 77%
Test 3: 75%
Test 4: 74%
Revised entire syllabus once again..
Test 5: 63% (bad day I guess
)
Last Day Test : 76%
Enthuware average : 72%
Actual exam score : 92%
Preparation time : About 4.5 months
All this scores are my first attempt scores. I never gave an exam twice. In total I took about 1200 questions (enthuware+book).
Result:
My notes copys played a huge role. It was like a custom designed notes made for me (by me). It contained all my mistakes important points tricky stuff and stuff which I repeatedly made mistakes on.
By the end I had two big copys..
I had a package in eclipse where I made programs to test stuff out apart from this I wrote many small snippets to test stuff out..
Well thats all. Now I can go back to my college studies and I hope this certs help me in my upcoming job interviews.
I could go on and on but lets end it here. I hope this post helps people who plan to take the exam and I wish them best of luck. Thank you coderanch.