Certified Java Developer

2021 05 02 head

Java is celebrating 25 years of existence.

I discovered the anniversary offer to certify for Java SE 11 Developer.

This special certification has a cool logo with the remainder of the Java 25-year anniversary.

Oracle offers this certification for only 25 dollars [1] and provides free access to their learning platform.

The offer and logo availability are time limited.

The free learning subscription includes:

  • The Java Explorer learning path for basic Java skills.

  • The Java SE 11 Developer OCP – Java 25 Years learning path for advanced programming skills.

  • Practice questions for customers to review as they prepare for the exam.

I could not resist and decided to get the cool logo and the associated certification.

Certification goals

The official goals of the certification cover:

Working with Java data types
  • Use primitives and wrapper classes. This includes operators, parentheses, type promotion and casting.

  • Handle text using String and StringBuilder classes.

  • Use local variable type inference, including lambda parameters.

Controlling Program Flow
  • Create and use loops, if/else, and switch statements.

Java Object-Oriented Approach
  • Declare and instantiate Java objects including nested class objects. Explain the lifecycle of an object (including creation, dereferencing by a reassignment and garbage collection).

  • Define and use fields and methods, including instance, static and overloaded methods.

  • Initialize objects and their members using instance and static initializer statements and constructors.

  • Understand variable scopes, apply encapsulation and make objects immutable.

  • Create and use subclasses and superclasses, including abstract classes.

  • Utilize polymorphism and casting to call methods, differentiate an object type versus a reference type.

  • Create and use interfaces, identify functional interfaces, and utilize private, static and default methods.

  • Create and use enumerations.

Exception Handling
  • Handle exceptions using try/catch/finally clauses, try-with-resource, and multi-catch statements.

  • Create and use custom exceptions.

Working with Arrays and Collections
  • Use generics, including wildcards.

  • Use a Java array and List, Set, Map and Deque collections, including convenience methods.

  • Sort collections and arrays using Comparator and Comparable interfaces.

Working with Streams and Lambda expressions
  • Implement functional interfaces using lambda expressions, including interfaces from the java.util.function package.

  • Use Java Streams to filter, transform and process data.

  • Perform decomposition and reduction, including grouping and partitioning on sequential and parallel streams.

Java Platform Module System
  • Deploy and execute modular applications, including automatic modules.

  • Declare, use, and expose modules, including the use of services.

Concurrency
  • Create worker threads using Runnable and Callable, and manage concurrency using an ExecutorService and java.util.concurrent API.

  • Develop thread-safe code, using different locking mechanisms and java.util.concurrent API.

Java I/O API
  • Read from and write to the console and file data using I/O Streams.

  • Implement serialization and deserialization techniques on Java objects.

  • Handle file system objects using java.nio.file API.

Secure Coding in Java SE Application
  • Develop code that mitigates security threats such as denial of service, code injection, input validation and ensure data integrity.

  • Secure resource access including filesystems, manage policies and execute privileged code.

Database Applications with JDBC
  • Connect to and perform database SQL operations, process query results using JDBC API.

Localization
  • Implement localization using Locale class, resource bundles, and Java APIs to parse and format messages, dates, and numbers.

Annotations
  • Create, apply and process annotations.

E-learning Platform

I gave a try to the Oracle online training platform.

The provided material is basic and does not always reflect the current state of the Java ecosystem. The questionnaire at the end of each lecture is fun to test your understanding.

At the end, I skipped most of the recordings and just answered the questions.

I would not recommend the learning platform as an efficient learning approach.

Book

I used the book OCP Oracle Certified Professional Java SE 11 Programming Study Guide written by Scott Selikoff and Jeanne Boyarsky.

The book contains questions at the end of each chapter. The authors also offer a practice examination of their platform.

I found all needed the information, and the practice questions were a good drill. The material is terse to read. This should be expected from such material but makes concentration more challenging.

Invest time for lambdas, streams, annotations and the module system. I was surprised how many questions about these themes I needed to answer during the examination. The questions sometimes asked details you are not aware when writing regular Java code in regular products [2].

Practice Examinations

Udemy provides practice tests. The set contains 250 questions and costs between 15 and 90 dollars. Just look for rebates.

You can find a set of links to free sample questions in an Oracle blog.

A lot of resources are available online. Here is an example.

I only used free offering in addition to the practice questions of the bought book.

Examination

The examination was acceptable.

I decided to pass the examination at an accredited partner site. I read quite a few posts how challenging it is to use the online examination mode and did not want to be stressed with trivialities.

Do not forget to bring two identification documents. Regulations are tailored for the USA and do not consider that any European citizen has a legal identification document.

Your second document can be a driver’s license or a credit card.

I passed the examination in April during Corona restrictions. I had to wear a mask during the whole time. It did not really improve my concentration.

Check if writing material is available in your seat. Otherwise, request a pen and something to write on. Regulations officially allow it.

Writing down ideas or which options are plausible as an answer helps me a lot.

The rules I use are:

Manage and track time
  • The examination is time limited.

  • You need to steadily progress and answer the questions in 90 minutes.

  • The number of questions is 50. You have less than 2 minutes for each question.

Do not get stuck in one question
  • Each question has the same weight for the result.

  • The provided program has a function to identify unanswered questions or questions you would like to look at again.

  • If you do not know an answer, mark the question and go to the next one.

Answer all questions
  • No penalty exists if you answer a question wrong.

  • The passing rate for the examination is 68%.

I hope you interesting learning and successful certification.


1. The regular price is around 250 dollars.
2. Regular developers seldom define their own annotations. I need to know the details of how to declare annotations to answer examination questions.