My Experience taking the new Java SE 11 Programmer II 1Z0-816 Exam

Update (11/05/2020): Read The 1Z0-819 Exam page to learn how you can easily our Java 11 Study Guides to prepare for Oracle’s 1Z0-819 Exam, as well as the 1Z0-817 Upgrade Exam.

Back in March, I took the new Java SE 11 Programmer I 1Z0-815 Exam only 2 days after it was released. Going into the exam blind, I wasn’t too worried because the previous OCA 8 1Z0-808 exam had been such a breeze. Boy was I surprised! While I passed with a decent margin, I was shocked the level of difficulty of the Programmer I 1Z0-815 exam. It was nothing like the 1Z0-808 exam it inherits from, especially in terms of question difficulty!

This past month, Jeanne and I finished writing our new Java OCP 11 Programmer I Study Guide (now available for preorder), which meant it was time to turn our attention to our upcoming Java OCP 11 Programmer II Study Guide. Rather than go in blind, and especially given all of the new material, I decided to spend some time studying *before* taking the 1Z0-816 exam. Well, it paid off because I passed today with a quite a wide margin. Below are some of my impressions of the exam.

Level of Difficulty

This might sound crazy, and I’m sure I’m biased, but overall I found the 1Z0-816 OCP11 exam less difficult than the OCP 8 1Z0-809 exam it inherits from. Don’t get me wrong, it was a difficult exam, but I felt like there were so many topics and they were so broad, the exam rarely went into especially deep detail on some of them. For example, many of the questions regarding SQL injection had pretty clear answers. In most of the questions, I was able to eliminate completely “ridiculous” answers right away, getting the answer choices down to 2 (or 3 if it was pick 2, or 4 if it was pick 3, etc). In fact, some questions I didn’t even need to read the text to whittle down the answer choices. For example, if an answer choice is an invalid lambda expression, it clearly cannot be a valid answer. With that in mind, most questions boiled down eliminating bad answers, then reading the question text to know which of the two remaining choices was correct.

Better Focused

One of the best changes they made in the new 1Z0-815/1Z0-816 exam series was to move most of the core Java syntactical questions to the first exam. While they made the 1Z0-815 exam harder, it made the 1Z0-816 exam a lot clearer. For example, if a question appears to be about NIO.2 on the 1Z0-816 exam, then it’s about NIO.2! On the older 1Z0-809 exam, I always felt like they mixed common Java topics with advanced ones. For example, a question that appears to be about NIO.2 on the 1Z0-809 exam might actually be about constructor overloading or overriding methods. In other words, the 1Z0-816 exam is better because the questions are derived from the objectives more cleanly, and there aren’t as many trick questions. You still have to know a lot to pass, but at least they aren’t mixing topics as much as they did in previous exams.

Streams, Streams, Streams

While the exam seemed reasonable to me, I’m also very proficient in streams. It is an understatement to say they are all over the exam. If you don’t use them regularly, you’ll need a lot of practice before taking the exam. Remember, they can show up in almost any topic like NIO.2, Concurrency, Collections, etc.

Modules

Modules are on the exam but I found the questions a lot more straight-forward than the module questions I saw on the 1Z0-815 exam. I had a lot of trouble with the module questions on the 1Z0-815 exam, in part because a lot of them didn’t make sense or didn’t appear to have a correct answer. Given how early I took the exam, Jeanne suspects I might have been exposed to beta/experimental/broken questions. That said, I thought the module questions on the 1Z0-816 exam were a lot more fair than they were on the 1Z0-815 exam. You need to know a lot about modules, of course, but the topics the questions were testing were a lot clearer.

Still a Very Broad Exam

While questions within a topic were relatively straight-forward, the amount of topics you had to know for the 1Z0-816 exam dwarfs the 1Z0-809 exam. Annotations, Security, Local Type Inference, Private/Static Interface Methods, and Modules are completely new. You should read the Secure Coding Guideline and Annotations Trail prior to taking the exam. Unfortunately, there’s not one single source of material for modules so you have to study from what you can piece together on the web… that is until our new 1Z0-816 study guide is released!

So You Want to Take the Exam?

Great! If you’re not in a hurry, I would wait for our new study guides to come out. The first book is already on its way to print and the second book will be available early next year. You can use our OCP 8 Study Guide to take exam, but you will have to supplement it with a lot of reading from a dozen different sources. And as I said earlier, if you’re not using streams regularly, you will definitely need a lot of practice. Regardless of which path you take, we wish you the best in studying!

Should I take the 1Z0-816 or 1Z0-817?

Update (11/05/2020): Read The 1Z0-819 Exam page to learn how you can easily our Java 11 Study Guides to prepare for Oracle’s 1Z0-819 Exam, as well as the 1Z0-817 Upgrade Exam.

Oracle has several paths to certification. Those who hold older versions of the certification have choices of what to take. This post summarizes your options along with my opinion on which path you should choose and why. Also see What Does it Mean to be Java SE 11 Developer Certified.

Scroll down to the section that matches you:

  • No Java Certification or SCJP 5 or earlier
  • OCP 6, OCP 7 or OCP 8
  • OCA 7 or OCA 8
  • OCA 6
  • Passed the OCP 7 or 8 level exam, but not the OCA 7/8 level exam.

You currently hold: No Java Certification or SCJP 5 or earlier

Your Options:

My recommendation: No choices here

You currently hold: OCP 6, OCP 7 or OCP 8

Your Options:

My recommendation: I recommend the upgrade exam. There’s a good number of topics on the part 2 exam that aren’t on the upgrade exam. So your overall effort is lower for the upgrade exam.

In the past, the upgrade exam was harder than the part 2 exam because “all the easy questions that haven’t changed from past versions of Java” don’t appear on the upgrade. However, they don’t appear on the part 2 exam either. Now they appear on the part 1 exam. The three exams are more equal in difficulty now.

You do have to study modules more for the upgrade exam because the modules topics from both part 1 and part 2 appear on it. But getting to skip a number of other objectives makes this worth it if you seek to minimize your studying.

By contrast, you will miss some topics with the upgrade route. If you want to learn as much as possible, taking the part 1/part 2 route will advance that goal.

You currently hold: OCA 7 or OCA 8

Your Options:

My recommendation: By the same reasoning as the previous entry, taking just part 2 is the easiest route. However, you will miss some topics. Some you might want to take both exams to learn more and build your foundational knowledge.

You currently hold: OCA 6

OCA 6 is no longer a valid pre-req to the 1Z0-816

Your Options:

My recommendation: The least expensive route is definitely to just take part 2. However, the OCA 6 was nothing like the OCA 7/8. It’s a really big jump to take just part 2 so I recommend taking both.

You currently: Passed the OCP 7 or 8 level exam, but not the OCA 7/8 level exam.

Your Options:

My recommendation:I recommend taking part 1 and the upgrade exam. Most of the topics that are “left out” of the upgrade exam were on the OCP 7 and OCP 8 so you’ve already got those covered.

What does it mean to be OCP Java SE 11 Developer Certified?

Update (11/05/2020): Read The 1Z0-819 Exam page to learn how you can easily our Java 11 Study Guides to prepare for Oracle’s 1Z0-819 Exam, as well as the 1Z0-817 Upgrade Exam.

I wrote a similar blog post for the Java 8 OCP cert. There are different requirements for what you need to know in terms of which exam path you took in order to take the cert. This post summarizes the differences.

Also see Should I take 1Z0-816 or 1Z0-817

The three main paths

Oracle has several paths for one to become OCP Java 11 certified. The major ones are:

There are a few others paths like you took the OCP 8 and not the OCA 8. I’m not covering those paths as they are less common. (Officially OCA 8 was a pre-req for OCP 8. You can take the exams in either order, but most people went in the prescribed order.) If you took an “unusual” path, see Oracle’s list of options.

What one would expect

It seems reasonable to assume some things here.

  1. People taking the OCP 11 directly should be tested on the topics that entail being Java 11 certified.
  2. People taking the upgrade from OCP 6, 7 or 8 should be tested on just the topics that were added since they took the exam.
  3. People taking the exam after the OCA 7 or 8 are tested on OCP level knowlege.

These assumptions turn out to not match what Oracle actually did. The rest of this blog post describes the surprises.

Major topics people who are OCP 6 certified can avoid being that those starting a with Java 11 cert must know

  1. Annotations
  2. Concurrency (beyond threads)
  3. JDBC
  4. Secure Coding

My thoughts: This is a lot of topics to be able to skip! There’s probably a bunch of smaller things, but these four are plenty big in their own right!

Major topics people who are OCP 7 certified can avoid that those starting with a Java 11 cert must know

  1. Annotations
  2. Secure coding

My thoughts: Less than OCP 6.

Major topics people who are OCA 7/8 certified can avoid that those starting with a Java 11 cert must know

  1. Some topics that used to be on the OCP 8

Summary

I like that Oracle isn’t covering topics on the upgrade exam that have been removed form the OCP 11. But there’s a lot of topics you can skate by without knowing if you take the upgrade exam with an older certification.