Oracle Certified Professional: Java 11 Developer (Part 2)
This article is about the second exam Java 11 Programmer II (1Z0-816), about the first exam you can read here. The second exam is significantly different from the first, but I want to please you, as for me for the better.
First, examiners are no longer trying to catch you by inattention. You either know how the code works or not.
Secondly, it is much heavier and more extensive 😏, which means that by preparing for it you will gain much more useful and necessary knowledge.
Disclaimer: I am not an employee of the certification center, I do not campaign for certification. Just sharing experiences. You read everything below written at your own peril and risk.😈
Now in order to get a certificate, you must pass both exams. So, I advise you to take Java 11 Programmer II (1Z0-816) after passing Java 11 Programmer I (1Z0-815). Although the examiners themselves do not require this, you can take exams in any order.
If you are the holder of the title OCP 6 ... 8, then you need to pass only one exam Upgrade OCP Java 6, 7 & 8 to Java SE 11 Developer 1Z0-817, which is very similar to Java 11 Programmer II (1Z0-816) in topics covered in it, so the information below will also be useful to you.
By the way, specifically for this exam, a colleague from friendly Belarus wrote a very good Study Guide.
If you are the holder of the OCA 7.8 title, then you do not need to take the Java 11 Programmer I (1Z0-815), you can immediately conquer Java 11 Programmer II (1Z0-816).
Exam topics
As I said earlier, Java 11 Programmer II (1Z0-816) is based on the old OCP 8 (1Z0-809), a list of topics and a comparative table are given here.
For preparation, I recommend using theOCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide: Exam 1Z0-809 Boyarksy/Selikoff or OCP Java SE 8 Programmer II Exam Guide (Exam 1Z0-809) Sierra/Bates. Since they already describe in detail the topics that migrated from OCP 8, in this article I will focus on innovations and Java 9 ... 11 and topics that were not previously in the exam.
Please note that some of the topics listed in the books are not very relevant from the point of view of the exam, but they will still be useful to you in everyday work and for general development. For example, questions on the Fork / Join Framework and design patterns are no longer in the exam.
So, let's begin...
Modularity
Modules are our everything! Divide and rule! It is under this motto that Oracle is actively promoting this innovation. There will be about 10 questions regarding the modules and, unlike the first part, these questions will be practical.
In particular, you will be asked if module-info.java is spelled correctly, including the correct use of the Service Provider Interface (SPI), which has gained a second life with the advent of modularity. They will ask if the import / export is done correctly, whether there should be at least one service provider during compilation / execution, as well as a host of other questions, only practice will help you find the answers.
Therefore, I recommend taking Schild's book, starting with the tenth edition, which provides cool and capacious examples with explanations (25 pages in total). Having mastered them in practice, you will receive answers to 90% of questions about modularity. But remember: the main thing is to get your hands dirty, not just flip through a book.
If you want to plunge into modularity, I recommend the Java 9 Modularity book. It provides excellent examples of practical use and migration strategies.
Regarding a very good tool for finding compilation dependencies - jdeps - I had only one question in the exam. But, nevertheless, I advise him to study at least superficially.
There were no questions regarding jmod and jlink in the exam.
Serialization and Security
One of the newest and most extensive topics on the exam is, of course, security. Because serialization is one of the biggest security holes, these topics need to be addressed together. There will be many questions on them, about 10. Preparing for these topics is perhaps the most difficult. The questions are diverse, ranging from purely theoretical to questions of type:
what needs to be done in the code to be considered safe,
when you need to do a deep copy of an object for mutable classes,
or when you need to make a copy constructor.
In addition to the compulsory reading of tedious and dry guides and Secure Coding Guidelines и Chapters 1, 2, and 3 of Serialization Specification Specification, I can recommend reading only one section on serializing my dearly beloved Effective Java by Joshua Bloch, which also addresses security issues.
Annotations
One of the old Java’s features, which was not previously in the exam, but without which it is difficult to imagine modern development, is an annotation. In the exam, you will need knowledge of basic built-in annotations such as @SuppressWarnings and @SafeVarargs, as well as questions about @Repeatable annotations.
You must understand where they are used and with what arguments. You must also be able to write your annotations. To master these tricks, you can take the Schildt's book previously mentioned by me, or the official manual
One of the innovations of Java 10 is the ability to use a reserved type of local var variables, which, starting with Java 11, can be used for parameters of lambda expressions, just to be able to use annotations for these parameters. The exam check if you know that.
JDBC
In this section, the use of CallableStatement is a new topic. Frankly, I did not come across any questions about it. All the other questions on JDBC are well described, in the above-advised books.About CallableStatement and their difference from PreparedStatement can be found here.
Interfaces
The innovation you need to keep in mind is that, starting with Java 9, methods in interfaces can be private. Private methods can be static and not static. But they cannot be both private and default. These methods can be used in default and static methods of the interface itself. Those. introduced to be auxiliary methods that allow you to reuse code common to other methods inside the interface.
These methods obey rules similar to private class methods:
- Private methods cannot be abstract.
- Private methods can only be used inside the interface.
- Private static methods can be used in other static and non-static interface methods.
- Private non-static methods cannot be used inside static methods.
Topics migrated from OCP 8 and in general about preparation:
Choose from Boyarksy/Selikoff or Sierra/Bates books. Switch between them is not worth it. Make it a rule to read the chapter every week and take one mock exam at the end of the chapter. As a result, after 2.5 months you will be ready on topics migrated from OCP 8 (IO, NIO 2.0, Concurrency, etc.). Be prepared for new topics using the tips in this article.
In parallel with reading the book, write a lot of code to get it all in your fingers and understand in practice how to use the knowledge gained. The most important thing: to understand why it works that way.
Understand the inner classes well, how to initialize them, which elements of the parent class they have access to.
Especially much attention should be paid to Stream API and lambdas. There will be a lot of them on the exam. Be sure to memorize the methods, arguments and return values of the basic functional interfaces (Consumer, Supplier, Function, Predicate, UnaryOperator) and of course understand how the derived interfaces are obtained. You should also know how to write your own functional interface.
There are also a lot of bulky constructions with streams. You should understand and practice very well using groupingBy and particioningBy, merge methods. Learn to use method links.
You will also be tested on the knowledge of new factory static methods for collections that appeared in Java 9, information on them and examples of use you can see here.
If after following all the above recommendations you still have doubts about your own strengths, then you can try the Enthuware mock tests. You can also browse the CodeRanch certification forum if you wish.
Total
The exam lasts 3 hours / 80 questions, there is enough time. Passing score of 63%.
Exam results will be sent to your mail within 15 minutes.
In the event of a successful delivery (which you should not doubt if you are of course prepared), after 48 hours you will have the opportunity to download a certificate from OracleCertView and receive an electronic badge verified using the blockchain (it’s amazing how the AI wasn’t used here 😏).
Electronic badge and the certificate:
If you wish, you can order yourself a paper copy, which will come in 2-3 weeks by mail. Personally, I did not kill another tree 🌳, I think in the modern world this will be superfluous.
In general, the most valuable thing you get from certification is the knowledge that only these guys can take from you.
The exam is not difficult, you just need to prepare a little. And end up practicing, practicing, practicing as the great Obi-Wan Kenobi bequeathed and you will succeed.
And may the Holy Byte be with you! Good luck
Thanks for a sharing. Study Guide http://java.boot.by has been remaining unavailable for about a month
Excellent article. May I ask you, have you really found mock exams focused on part 2, I mean a specific mock for 1Z0-816?