I took OCP Java SE 8 (1z0-809) exam on 14.10.2019 and passed with 93%. I will share my exam experience in this post.
I used the following resources for preparation:
- “OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide: Exam 1Z0-809”, Jeanne Boyarsky, Scott Selikoff
- “OCP Java SE 8 Programmer II Exam Guide (Exam 1Z0-809)”, Kathy Sierra, Bert Bates, Elisabeth Robson
- “OCA / OCP Java SE 8 Programmer Practice Tests”, Jeanne Boyarsky, Scott Selikoff
- Enthuware (JQ+ V8 for OCPJP8)
The main study guide which I used is the first book. After reading every chapter I did review questions. Then I read the same chapter from the second study guide and did review questions too. After reading all chapters from both books I started to review all chapters again before beginning to mock exams. I used only first study guide for review. But your aim not only to pass exam and you want to learn some topics deeply the second guide is very helpful. Some topics were written in detail in that book. If you are not good at “Generics and Collections”, “Functional Programming” and “Concurrency” I recommend to read those topics from that book.
I did practice tests from 3rd book after review each chapter from 1st book. My results for review questions were;
For the 1st study guide:
Chapter |
Result |
|
Chapter 1. Advanced Class Design |
95% |
95% |
Chapter 2. Design Patterns and Principles |
90% |
100% |
Chapter 3. Generics and Collections |
76% |
84% |
Chapter 4. Functional Programming |
80% |
75% |
Chapter 5. Dates, Strings, and Localization |
80% |
75% |
Chapter 6. Exceptions and Assertions |
95% |
95% |
Chapter 7. Concurrency |
41% |
59% |
Chapter 8. IO |
70% |
65% |
Chapter 9. NIO.2 |
55% |
70% |
Chapter 10. JDBC |
85% |
85% |
Assessment Test | 90% |
For the 2nd study guide:
Chapter |
|
Chapter 1. Declarations, Access Control, and Enums |
x |
Chapter 2. Object Orientation |
x |
Chapter 3. Assertions and Java Exceptions |
82% |
Chapter 4. Dates, Times, Locales, and Resource Bundles |
58% |
Chapter 5. I/O and NIO |
58% |
Chapter 6. Generics and Collections |
50% |
Chapter 7. Inner Classes |
x |
Chapter 8. Lambda Expressions and Functional Interfaces | |
Chapter 9. Streams |
88% |
Chapter 10. Threads |
56% |
Chapter 11. Concurrency |
84% |
Chapter 12. JDBC |
60% |
For the 3rd book:
Chapter |
|
Chapter 11. Java Class Design |
80% |
Chapter 12. Advanced Java Class Design |
88% |
Chapter 13. Generics and Collections |
88% |
Chapter 14. Lambda Built-in Functional Interfaces |
75% |
Chapter 15. Java Stream API |
75% |
Chapter 16. Exceptions and Assertions |
90% |
Chapter 17. Use Java SE 8 Date/Time API |
88% |
Chapter 18. Java I/O Fundamentals |
65% |
Chapter 19. Java File I/O (NIO.2) |
63% |
Chapter 20. Java Concurrency |
70% |
Chapter 21. Building Database Applications with JDBC |
90% |
Chapter 22. Localization |
75% |
Chapter 23. OCP Practice Exam |
73% |
Then I looked at Sybex online materials which link mentioned in 1st book. I looked through to all flashcards set and then took three practice exams:
- Practice Exam 1 – 68%
- Practice Exam 2 – 70%
- Practice Exam 3 – 87%
Then I solved all questions from online material of 2nd book which link mentioned in “About the Online Content” section and read all explanations.
After all preparation process completed I bought Enthuware product. I had used Enthuware once for my previous OCA Java SE 8 exam and wrote about it in my OCA exam experience. In a word it is amazing. Very, very useful. Thanks to Paul, and his team for this great app.
At first I took all standard tests (except last day test) and read/investigate all explanations. I learned new facts from some explanations. Some questions which belong the same topic but different result/output confused me. So I decided to create “Custom Tests” per topics and review all questions topics by topics again. Last Day Tests were repeated in Custom Tests, so I asked about it from Paul. After a day he sent me new upgraded version of Enthuware app which “Exclude questions from Last Day Test” feature added. Thanks a lot to him for prompt support!
In addition I want to say that I used “Add note” feature of Enthuware to add important and new facts for me. After finished review process I looked through again to my notes before taking Last Day Test. My Enthuware results were:
Standard Tests |
Result |
Foundation Test |
85% |
Test 1 |
71% |
Test 2 |
73% |
Test 3 |
77% |
Test 4 |
78% |
Test 5 |
76% |
Last Day Test |
80% |
But I had a problem time management. I passed over time limit 7 and 3 minutes in Test 1 and Test 2 accordingly. But I reviewed all questions again.
On 14.10.2019 I took real exam and passed with 93%:
I had a time problem again in real exam. After finished all questions once I had only 18 or 20 minutes remained. And I had approximately 15 questions as marked. So I decided to review only marked questions. It was very helpful because I looked at those questions deeply and did important changes. But I had no enough time to review other questions, finished exam at the last 5 seconds. So it is pity that I can’t remember most questions.
It seems that I have answered 6 questions incorrectly according to my exam score. According to the feedback of Examination Score Report I found my 3 wrong answers.
First was regarding AtomicInteger
. I couldn’t decide between two choices. They were very closed to each other. I changed my answer about four times and finally I chose wrong option 🙂
Second was regarding LocalDate
. I think this question was not fair. You had to find correct output after some manipulating. In really this was easy question but the weird point here was that it was required to know the year is a leap year or not. Moreover the possible appropriate two options existed too. I chose wrong option again.
Third was regarding groupingBy()
method. I removed two wrong options and remained two possible options. The option values were the same but reverse order. I think it was weird to exist both outputs at the same time. It seems I chose the wrong option again. I asked about it in detail in this link.
One of interesting point which I remember is about BufferedReader
lines()
method. I know about Files.lines(path)
method, but I can’t remember I came across BufferedReader lines()
method in study guides or Enthuware. This method also returns Stream<String>
. I answered this question correctly by analyzing options.
In generally I can say that exam was hard. The above resources which I used are enough to pass exam, they covered exam topics quite. Thanks to authors a lot!
In above section I mentioned that I can’t remember most questions because I had no enough time to review questions. Approximately I can say that the most asked topics are (descending order):
- Class Design, Functional Programming;
- Collections/Generics, IO/NIO.2, Concurrency;
- Try with resources, JDBC;
- Date, Localization, Assertions etc.
If you have any questions you may ask. Good luck!
Good job. Congratulations.
I am preparing me now too for the OCP Exam.
I am using the same materials. For now my tests results are not so good, but i am working hard
and i will try reread the books and do all tests again.
Hom much time did you spend for Exam preparation?
My English is not so good, but for OCP Exam i think is enough.
Thank you, Victor. My exam preparation took about 6 months. I believe you will pass exam if working hard. Good luck!
Hi Mushfiq, excellent information for me because nowadays I’m preparing to take this certification. I’ll will take your recommendations. I’m using the first book for now. After this certification are you thinking to take the next OCP Java SE? Java 11 for example.