I have just passed the OCP Java 8 today and the OCA Java 8 an year ago. I have decided to share my experience with learning for the exams and hopefully help further candidates.
Java SE 8 Programmer I | 1Z0-808 at July 2019, 87 % (badge)
The only source I learned from was OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide by Jeanne Boyarsky and Scott Selikoff. It was the only study material I used. That time, although I already got some Java experience, I was quite shocked initially about how much I don't know. However, 6 chapters, 8 days: the first day the assessment test (terrible result) with getting familiar with the book... then a chapter a day, writing down some notes and taking the test at the end of the chapter (results listed below)... and the assessment test at the last day. The following week I spent reviewing the notes and filling the gaps (see the chapter results). The test itself wasn't that hard even I felt a little bit anxious and unprepared. It went well and I ended up with 87 % which I consider as a fairly good result for 2-3 weeks of learning. The book covers fully all the topics and I didn't purchase Enthuware mocks at all.
Assessment test: I failed so hard I have forgotten the number
1. Java Building Blocks: 91.30 %
2. Operators and Statements: 80.00 %
3. Core Java APIs: 87.88 %
4. Methods and Encapsulation: 89.66 %
5. Class Design: 60.00 %
6. Exceptions: 95.00 %
Assessment test: 75.00 %
Java SE 8 Programmer I | 1Z0-808 at October 2020, 80 % (badge)
I took a pause from "boosting the career" because I had to finish my Master's thesis, defend it and pass the final state exams to get my degree on June. After a short break I started to learn for the OCP Java 8. Since I have found the mentioned book format very friendly, I have decided to go for the OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide: Exam 1Z0-809 written by the same guys. This time I also purchased the Enthuware mocks after reading the book because I have got an idea how the exam is hard compared to the OCA Java 8. Again, I got through the chapters by "one day = one chapter + notes + its test" (except the Concurrency chapter, which took me 2 afternoons because is quite rich). Each chapter session took me over 4 hours. I am naturally a very lazy person, so this took me over 2-3 weeks to read the whole book. I also found a lot of concepts new to me, especially the last 4 chapters (Concurrency, IO, NIO.2 and JDBC) which I have never used in the practice (Spring programmer here). Although I was experienced with asynchronous processing, things like CyclicBarrier, ForkJoin and some concurrent implementations (ConcurrentSkipListSet, blocking implementations etc...)) were totally new. On the other hand, I am sad there is not included CountDownLatch which I find the most useful and the most used at all from the concurrency patterns. I also found the bounded generic types hardest to understand and queue/deque methods hardest to remember what they do, so I found my own stupid way to remember (if empty... poll and peek can return null because "peek", "poll" and "null" have 4 letters, the rest throws an exception instead - remove/pop/element). The results from the book weren't as good as I achieved from the previous book so I have decided to go for Enthuware and it was the best investment in my life, because of the large set of questions and a solid explanation. Here are my results:
Assessment test: I failed so hard I have forgotten the number
1. Advanced Class Design: 71.42 %
2. Design Patterns and Principles: 75.00 %
3. Generics and Collections: 60.00 %
4. Functional Programming: 70.00 %
5. Dates, Strings, and Localization: 75.00 %
6. Exceptions and Assertions: 65.00 %
7. Concurrency: 54.54 %
8. IO: 52.17 %
9. NIO.2: 30.00 % (cringe, I have never seen that before)
10. JDBC: 80.00 %
I found Concurrency the most enjoyable and IO/NIO.2 quite boring. I skipped most of the book at Functional Programming as long as I am quite familiar with Java Stream API since I quite contribute often to StackOverflow. The vast majority of the mistakes were caused because I didn't pay enough of focus. This is true also for Enthuware results:
Foundation test: 83 %
Test 1: 64 %
Test 2: 59 %
Test 3: 61 %
Test 4: 69 %
Test 5: 66 %
Last day test: 69 %
I took no more tests but I made myself a favor and checked each answer (both correct and incorrect) and wrote down notes what was still not clear to me or surprising. Getting through Enthuware took me 2 more weeks. The book covered only around 95 % and I discovered tons of gotcha's in Enthuware that was missing in the book. Overall, with some major gaps, I spent learning for 2 months. While I had felt unprepared with 808 so now I definitely felt like that today morning, however, Enthuware helped me a lot.
Disclaimer: I was quite hurry while filling the book/Enthuware and had always more than one hour of time left. In the real test, I really focused and only 16 minutes left to the end. When I focus, I usually achieve better results. The staff there was friendly (Gopas, Prague, Czechia). I feel reaching the average of passing score in Enthuware makes you prepared for the real exam. I cannot say it was harder/easier, I'd say it was comparable to Enthuware, maybe a bit easier (I passed a lot of "real brainers" as well as I failed a lot of "very easy" questions - it's irregular to me).
My overall experience with Java: (26 years old at the time of writing)
2015 - 2018 School and personal projects
2016 - 2018 Java & Spring 2 weeks introduction course, non-Java related programming experience (minor language at the projects)
2018 Java 7, Spring MVC, Thymeleaf and SOAP integration
2018 - January 2020 Java 8-11 Spring REST and some minor integration
Thank you guys for a warm welcome I am sorry, I mean Programmer I the Associate exam and Programmer II the Professional one (I am waiting to the edit review). I will add the link to the post to the Wall of Fame pages.
I seriously think of taking the upgrade to Java 11 as long as the only thing to learn according to the examination content is the 'var' keyword and modules, so it should not be a big deal. I am looking to share that experience as well.
I knew I would regret that burrito. But this tiny ad has never caused regrets: