Paying for the Java Certification Online – 2024 Edition (part 1)

Since the last time I took an exam, Oracle switched from Pearson VUE in person testing to online testing from your home/office. This series of three blog posts explains the process of buying a voucher and scheduling an exam. Some of the steps aren’t obvious, so I comment on those in more detail.

Remember to study before you buy the exam as your exam must be taken within 6 months of paying. See our Java 21 OCP Certified Professional Study Guide page for details!

Step 1: Find the page for your exam

To start out, you find the page for your exam. For example, the Java SE 21 Developer Professional Exam Number: 1Z0-830. Alternatively, you can start from the page of all the exams.

Once on the page for your exam, note that there are three “steps”.

  1. “Recommended Training” – taking Oracle’s training is optional. It is also expensive so I recommend opting not to take it. Our Java OCP 21 Certified Professional Study Guide is two orders of magnitude less expensive.
  2. “Review Exam Topics” – this lists the exam objectives
  3. “Register and take the exam” – this section has a link to “Buy Exam”. There is also a link to “Buy Exam” at the top of the page before you get to these three steps. Both buttons take you to the same place so click either of them.

Step 2: Choose the Exam Type

The previous step takes you to a generic page for buying an exam with no memory of which exam it is. Choose the first option “Oracle Cloud Infrastructure and Technology Exams”. The Java Professional Cert is considered a “Technology Exam”. If you are not in the United States, you’ll see different prices. Click “Purchase” under that first column.

Note: If you are taking the Foundations exam click the fourth option. Unless you were specifically asked to, it is unlikely you are taking the Foundations exam. I wrote a blog post about why to choose the OCP instead back in Java 11 and the reasons still apply.

Step 3: Add to cart

You then get taken to a page inviting you to add a “subscription” to your cart. This page confirms Java is a choice for this type of certification.

Tip: the word “subscription” is misleading. It’s not a subscription. It’s a single attempt at taking one exam. It’s really an exam voucher which is not the same thing as a subscription. I guess they are sharing the processing engine with the Oracle University subscription option.

Choose “Add to Cart.”

Step 4: Go to cart

After clicking “Add to Cart”, the page doesn’t take you to your cart. You need to click on the shopping cart in the top right corner manually which will give you a preview of your cart. Then click “View Cart” to actually go to your cart.

Step 5: Sign in (if you haven’t already)

You can sign in at any point in the process. When viewing the cart is the latest opportunity though.

Step 6: Checkout

Now you can click the “Checkout” button

I’m not showing the checkout screen as it has my personal info on it, but they want to know

  • Customer type – I choose Individual (there’s also an option for corporate). For individual, they want a contact phone number
  • “Service” address. (aka mailing address) They wanted a county and town. Which is odd. The post office doesn’t want both in the United States
  • Name/Email
  • Phone number (yes, again)
  • I clicked “preferred” for this address which defaulted the billing address to the same
  • Payment info – added my credit card. Depending on where you live there may be tax. For Jeanne it was about $22 in tax

Then I clicked the “Place Order” button. I got taken to a screen with an order number and customer support id. it also says “Within 2 business days, you will receive an email from Oracle University containing a link and instructions to activate your subscription. If you have questions or need assistance, please Contact Us by filling out a support form under “Order Processing”.

Spoiler: it does not take two days. See Assigning the exam attempt for what to do when you get the exam.

Jeanne’s Experience Taking the Java 21 Certification Exam 1Z0-830

As we mentioned earlier last week, Oracle announced their new Java 21 Certification Exam 1Z0-830 this week. Scott passed on Friday and wrote about his experience. Today was my turn.

Before the exam

I registered on Friday night to take the exam on Monday morning. As Scott noted, the registration process has changed a lot and we will be posting blogs about that. I chose the 7am slot so I wouldn’t have to miss much work time. Starting Sunday at 8am, I got a reminder every 3 hours. Yes, that’s 8 reminder emails. Seems excessive, but I was definitely reminded

I cleaned up to unplug my second monitor and have my workspace free of books and papers. (Which oddly the proctors didn’t check for). I took out my two forms of id. I even left myself a post it reminding to use Chrome and not Safari. And I made sure to get up with enough time to have breakfast and get dressed by 6:30am. Checkin starts half an hour before the exam slot.

Checking in

I did the Lockdown Browser test the day before. I had to do it again right before the exam (just the test, not the practicing with the UI). Sign in was quick. There’s an embedded Zoom meeting with everyone in your slot. You raise your hand to be taken to a breakout where the proctor checks your id. I didn’t hold mine close enough to the camera so got a chat message to do so. Then I got the code for the exam. Which started the two hour timer right away.

I asked my proctor about showing my scratch paper was blank and the proctor didn’t want to see it (Scott’s proctor did). Also odd was that you could see the names and video of everyone in your group while in the main room. Once you moved to your exam tab, they were offscreen. Still seems like an odd security choice to have people on video without virtual background to strangers.

The exam

Like Scott I had some very long questions. A number had 15+ lines of code with 4-6 of those as options. And many were very similar which meant I had to waste time spotting the differences to figure out what I was being asked. Which is hard when they are next to each other and even harder when scrolling. And then actually answer the questions. There were still some multiple choice with 4-6 answers and some word problems with multiple choice answers.

Like Scott, I saw a lot of topics mixed together in a single question. I liked the questions as they got you to think about code. I didn’t like how much I had to scroll/remember at one time from the question. And that was with scrap paper. I used it for process of elimination and to keep track of variable state.

As for content:

  • Pattern matching switch was definitely on the exam (with and without records)
  • Scott didn’t get a question about Virtual threads or Sequenced Collections and noted it was likely just bad luck of the draw. I got questions about both. And they tested the core concepts of each topic, not just using them in passing. So definitely covered.
  • The topics removed from the objectives were not on the exam.
  • The questions I got covered the objectives well.

How I did

Normally, I when I take an exam, I finish answering all the questions between the halfway and two thirds point. At that point, I go through all the questions again with an emphasis of what I was unsure of and typically fix 3-7 stupid mistakes from misreading or things I didn’t notice. And then I wind up with a good amount of time left on the timer and end early.

That was not my experience. With 18 minutes left, I had six questions I hadn’t even looked at. I flagged anything long at that point without reading and got to the end with 10 minutes left. I then used the next six minutes to answer the three long ones I flagged from those six. That left me with 4 minutes left. I was afraid that the exam attempt wouldn’t go through if it hit zero so I ended it there. That means I didn’t have time to review my answers and fix the stupid mistakes I always make. That was reflected in my score – 62%. Which is 3 questions below passing. See blog post for when I passed a week later

I’m currently worried about the length of the exam. I’ve never come close to running out of time on an exam. I probably could have gone a tiny bit faster if I wasn’t thinking about the exam relates to our book. But I did that for all the other exams and it didn’t affect my time in any noticeable way. I’m hoping Oracle sees this and rebalances the exam to have less long questions.

PASSED! Scott’s Experience Taking the Java 21 Certification Exam 1Z0-830

As we mentioned earlier this week, Oracle announced their new Java 21 Certification Exam 1Z0-830 this week. Being a gluten for punishment, I signed up as soon as it was available to take (Thursday). I passed! But with a much tighter margin than I expected. Read on for more details.

What can I say about the exam? Well, first signing up and taking the exam is a completely different process. It’s all remote now! We will be posting a series of articles covering the steps to take the exam (and there are many!). So I’ll leave off those details for now.

The 1Z0-830 exam itself is very different from past exams. The first hint was they raised the exam time from 90 to 120 minutes. And I can see why! The questions (and answers) on the exam are quite long. While there was a handful of singe-page questions, the vast majority required scrolling multiple pages. This was compounded by the fact for some questions, each multiple choice option contained 20-30 lines of code with 6-10 options available. Process of elimination can be a slow process if you’ve got to eliminate 9 out of 10 answers!

I don’t know about you, but reading over a hundred lines of code for a single question is really time consuming! I ended up finishing with only 5 minutes to spare.

There’s no other way to put it, but the exam was difficult. While I think all of the questions were in scope (and covered in our new Java 21 1Z0-830 book coming out later this year!), I’ve never seen so many topics mixed into a single question. As an example (not real!), a question might have a 15-line code sample and then asked you to select 2 out of 6 interface declarations (~20-lines each) that will make the code print “Hello World”.

If you expected the options to all be similar, you’d be wrong!

Some of the options were vastly different than others, testing all sorts of things. As a further example (again, this isn’t a real question), one interface might be wrong because it includes a private instance variable, while another might be incorrect because of some inheritance issue. Furthermore, another might be wrong because it includes a pattern matching switch statement that is missing a default clause.

TLDR: Oftentimes, each question covered topics across multiple objectives.

There were the occasional question that limited its breath to a single objective, but I found that to be the exception, not the rule.

As for content, I can’t give too much away but I will say this:

  • [New Java 21 Feature] Pattern matching switch was definitely on the exam (with and without records)
  • [New Java 21 Feature] I didn’t get a question about Virtual threads or Sequenced Collections, but that’s likely just bad luck of the draw.
  • Previous exam topics like JDBC/Annotation/Security were not on the exam (reflected in the objectives).
  • Logger.getLogger() appeared on the exam but don’t panic. You don’t need to know anything beyond it, other than it being an alternative to System.out.println().
  • Records were definitely on the exam. Like. A lot.
  • Streams, while certainly still on the exam, weren’t as challenging or centrally focused as they had been on previous exams. In fact, when I saw a stream question, I was excited because they tended to be shorter and easier to read (direct opposite of my previous exam experience!).
  • Modules were on the exam. I actually thought the module questions were fairer and more self-contained than other questions, in part because you can’t easily mix modules with other topics like pattern matching or threading.

When taking the exam, you absolutely need to pace yourself! If you get a question that’s just too long, you should definitely skip and come back later. Unfortunately for me, at least half of the questions were quite long to read. Another tip is to study the options carefully (which is really hard to do in a short time and given the 20-30 line length of each option) to try to spot differences. For example, if you can spot that 4 out of 8 questions use a bad modifier or return type, you can answer it much more reliably. Unfortunately, many of the questions bordered on being eye exams. While I could have easily spotted a private modifier in the wrong place on a short code sample, add multiple layers of inheritance and dozens of lines of code, and it blended in surprisingly well. The questions were fair, but quite difficult.

Oh, and scrap paper. You need scrap paper. There is no in-app whiteboard (like they did in the past for some exams). Since it’s proctored remotely, I asked my proctor before I started I could use blank sheets of paper. I held the sheets up to the camera one at a time, and they approved. I don’t know if Oracle has a policy, so it might be proctor specific. Scrap paper was critical in part because if you have to pick from 2 out of 10 options, you need to some way to track what you’ve eliminated (the right-click to cross out feature has been off the exam for years now). There were also a number of questions that involved doing math (order of operation, nested for() loops with lots of variables, etc) that tracking variable states was hard.

On the plus side, my results were available immediately on the screen as soon as I submitted the exam, and the certificate was posted to my Certview within the hour.

We’ll have more details after Jeanne takes the exam, so stayed tuned!