I've been asked to share some recommendations on how to pass the Java SE 11 Certification, so I decided to write this article to pass along the tips that helped me.
In the beginning of 2019, I decided to make a big change in my career and migrate to Java after using .NET for more than 15 years. The reason was simple: .NET and C# are great, even more so after .NET Core 3, but market opportunities are still scarce when compared to Java, so I came to the conclusion that the best move for me at the time was to move on.
My goal was ambitious: to be as good in Java and its ecosystem as I was at the time in C# and .NET by the end of 2020. With that goal in mind, I prepared a learning path that would end in two certifications: OCP Java SE 11 Developer and Pivotal Spring Framework 5.
To accomplish this goal, I had to study and practice a lot, and here are the tips I can give you based on my experience:
- You might like Java 8 and think you don’t need the new features of Java 9+, but if you want this certification, embrace them. You will be required to understand what they are, their purpose, and how and when to use each one of them.
- The certification exams cover only up to Java 11, so stay away from any 12+ features for now. You can play with them after you get the certification.
- Read the certification FAQs and make sure you understand your situation and choose the right exams for you.
- Make a list of the exam requirements in a software like Trello to classify how prepared you are for each of them. Use this list to ensure you will not overlook something.
- For each of these requirements, find the related official documentation in the Oracle website. Link them in your Trello cards. Eventually you will have to go through some of them.
- Read the following books: Modern Java in Action, Core Java 11 Volume I, Core Java 11 Volume II, and The Java Module System. You can read them thoroughly or just the parts that cover what you need for your exam, but do not skip them. They helped me a lot.
- There are also books created specifically for the exam preparation. I used this one for the 1Z0–815 and it helped, but for the 1Z0–816, none were available at the time.
- Since October 1st, 2020, Oracle has replaced 1Z0–815 and 1Z0–816 by 1Z0–819. Existing preparation books and practice tests are still valid, but you can now skip some topics like assertions and JDBC Callable Statements. Check this article for more details.
- Pay special attention to the Security Guidelines for Java. You will probably be asked about it a few times in the exam.
- Practice, as much as you can. Use the new language features and the new APIs, and play with jShell. I highly recommend Jetbrains Academy. I’ve spent hours and hours playing with their projects, reading all their lessons, and doing all exercises and challenges, and that was crucial for my ramp up.
- Once you think you have covered all exam requirements through readings and practice exercises, go to the next step: practice tests.
- I bought practice tests from two major providers, and both can help you, but I will recommend only Enthuware. The other one had a silly bug when rendering questions that involve generics, making them impossible to understand, or worse, leading me to errors.
- In the Enthuware platform, go first through the topic related tests, then the easy and foundational ones. It will help you ensure that you haven’t missed any exam topic.
- Once they are over, go to the actual practice tests, but leave the last day one for, well, the last day. I recommend one practice test per weekend in the last weeks of preparation.
- As you finish the practice tests, take notes about the things you’ve learned. Study the most missed topics and review these notes as often as you can. I also recommend using pen and paper, since it seems to work better for memory retention.
- In the last day before the exam, take the final practice test, and keep in mind that you will probably get a higher score in the actual test. I got an average of 74% in the 1Z0–816 practice tests and 87% in the actual exam.
Thanks for reading, and best of luck!
This post was updated on October 13th to reflect the changes in the Oracle exams.
*This content was originally posted on Medium.
Rafael Romão is a Software Engineer at Avenue Code. He has studied software development since 1998 and has worked as a software developer since 2002. His main areas of interest are software architecture and design, as well as the development of highly productive teams.