My Experience taking the new Java SE 11 Programmer II 1Z0-816 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!

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

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. Inner classes
  2. Final classes
  3. Enums
  4. Concurrency
  5. IO Fundamentals
  6. JDBC
  7. Annotations
  8. Assertions
  9. Wildcards with generics
  10. Details of Set/Map (although can be covered on 817 exam as least in passing)
  11. Secure coding
  12. Localization

My thoughts: This is a lot of topics. Including many important ones.

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.

Choosing an exam: Java Foundations vs OCP 11

Three years ago, I wrote about why you should take the OCA 11 rather than the Java Foundations exam. Now that the Java 11 cert is out, the situation changes.

Java Foundations vs OCA 8 (1Z0-815)

Until the OCA 8 is discontinued, I think everyone considering the Java Foundations exam should take the OCA 8. The reasons in my original blog post still apply:

  • The OCA 8 is not that much more difficult than the Java Foundations exam. It’s definitely in reach for an entry level programmer.
  • Taking the OCA 8 lets you use it as a pre-req for a later exam. You can take either the OCP 8 (IZ0-809) or OCP 11 part 2 (IZ0-816). This means you will only need to take one more exam to become OCP certified.

So when should you take the Java Foundations exam:

  • Cost: The Java Foundations exam costs less than half the price of the OCA 8. If you can’t afford the OCA, this is an option.
  • Requirement: If you took a course that requires the Java Foundations or lets you take it for free.

Java Foundations vs OCP 11 part 1 (1Z0-815)

With Java 11, it’s a harder decision deciding which exam to take because:

  1. The OCP 11 part 1 (1Z0-815) is significantly harder than the OCA 8 (1Z0-808). The OCP 11 part 1 is still in reach of an entry level programmer, but it is more work.
  2. Passing the OCP 11 part 1 does not give you a certification. Another (even harder exam) is needed for that.

So who should you take the Java Foundations exam:

  • Time: If you don’t have the time to study for two harder exams, the Java Foundations exam gets you a certification faster.
  • Cost: The Java Foundations exam costs less than half the price of the OCP 11 part 2 and a quarter the cost of the OCP credential.
  • Requirement: If you took a course that requires the Java Foundations or lets you take it for free.

Just be aware that taking the Java Foundations exam does not serve as a prerequisite to later certification exam. If you plan to get OCP certified in the future, be aware that the Java Foundations exam is a one off.