Hello, I am a junior
java dev with less than a 1 year of experience. I passed 819 today with a score of
84%. I decided to share with that's on my mind, as that may be helpful to some.
I started learning 2 months ago from the
Complete Study Guide. I took my time going through that book, spending a reasonable part of each weekend for learning.
Last week I have been studying at least 8 hours a day: 5 days ago I have started the
OCP Practice Tests book, and 2 days ago I also started
Enthuware tests. In total I think I spent somewhere around 100 hours to go through all the materials.
------------------------------------------------------------------------------------------------------------------------------------------------------------
Enthuware:
I had enough time to run only 9 Enthuware tests. The minimum score was 68%, maximum 85% and weighted average of all tests was
77%. I answered correctly only 1 out of total 13 Security questions, which is disturbing.
I felt like I was guessing
way too much on the Enthuware tests. Overall, I believe the Enthuware questions sometimes are slightly more difficult than the below sources, but it was also easier to eliminate wrong answers.
OCP Practice Tests:
I ran only one out of three tests and got 86%.
I ran all the 13 chapters. My maximum score was 90% (modules) and minimum 56% (concurrency), IO (60%). Weighted average of all chapters was
79%.
Complete Study Guide:
Now this is something that I did not collect data for, however, my minimum score was below 50% and it was the Chapter 8. I rushed way too fast through this chapter, and this was the only chapter that I re-read. I think I initially had some real problems with understanding things like valid overrides, etc., and now after I took the time to re-understand the chapter, it is my strong point.
Other chapters were usually around
70%.
I decided to make some simple notes going through the book. Overall, I very much recommend this book. If you are very experienced, you can probably blast through the book looking just at the relevant code blocks with "// DOES NOT COMPILE" comments. If you feel super confident, you can perhaps skip the book and go straight to Enthuware. I think Enthuware is a must.
------------------------------------------------------------------------------------------------------------------------------------------------------------
I never wrote any code when studying, except for some command line for Modules. I kept my
IDE opened though, as I often wanted to quickly look-up some method's header, and I prefer to do it in IDE rather than documentation.
I never ran out of time when doing the Enthuware tests. I decided not to skip any questions, because perhaps it'd be unlikely to later magically remember something that I never knew in the first place.
With that being said, I ran out of time on the exam itself. I had to skip and later guess to the three loop-related questions. I never had such a problem with loops before, but on the exam I think these were the most difficult and time consuming questions. Keeping in your head few variables' values... To put it in other words: my brain has like 16 KB of L1 cache memory, and I would need at least 32 KB to answer those questions.

Or a piece of paper, which is not allowed on the remote exam. The whiteboard was allowed, but I decided not to use it, for some reason.
The exam had a lot of very straight forward questions, and some difficult ones. A lot of modules and arrays. I expected less questions on exceptions. And of course tons of OOP / Streams. Little to none of IO/NIO (which I think is the most difficult topic), Security,
JDBC, Localization. Some Concurrency. Question with FileChannel showed up. Also, a lot of OCA-alike questions related to performing operations on numbers.
I recommend learning in-depth how classes/interfaces work (overriding, overloading, allowed modifies, etc.), this is probably the most important skill and should be your fundamental. Then the Streams, functional interfaces, arrays, operations on numbers.
Good luck!