Oracle Certified Professional: Java SE 17 Developer (1Z0-829) 合格体験記

:::note info
補足
2023年12月1日より[日本語版Java SE 17認定資格](https://www.oracle.com/jp/education/certification/javase-17-certification/)の配信が順次開始されています。
Gold資格はまだ準備中となっています。（2024年9月13日現在）

:::

# 筆者について

ドイツでフルスタックエンジニアをしていて、Javaの経験は8年くらいです。実務のプロジェクトで使われているJavaのバージョンは11、場合によっては8という感じです。
モジュールシステムが使われているのを正直見たことはないです笑

6年くらい前にGold SE 8を取得し、そろそろGold SE 11もやっておこうかなとというところで、去年からJava 17の英語版の試験が始まりせっかくなのでそちらを受験することにしました。

# Java 11 の試験との違い

Java 11 の試験とは違い、現状Java 17の試験は英語でしか配信されていません。他にも違いとして、試験時間及び出題数が少なくなり、自宅のパソコンとウェブカメラを使って受験することが挙げられます。
試験日時は事前に予約が必要で（10日先ぐらいまで予約がほぼ埋まってた）、試験開始前にLockDown Browserという特殊なブラウザのインストールをします。
試験開始時刻にログインをし、案内に従ってウェブカメラの前で身分証明書を見せ、そのまま試験が始まります。
私の場合は試験官との声のやり取りは全くなく、画面の説明文に沿って操作するだけでした。

|   |[Java SE 11 Programmer II (1Z0-816-JPN)](https://www.oracle.com/jp/education/certification/1z0-816-jpn-31705-ja.html)|[Upgrade OCJP Java 6, 7 & 8 to Java SE 11 Developer (1Z0-817-JPN)](https://www.oracle.com/jp/education/certification/1z0-817-jpn-94131-ja.html)|[Java SE 17 Developer (1Z0-829)](https://education.oracle.com/ja/produktkatalog-ouexam-pexam_1z0-829/pexam_1Z0-829)|
|---|---|---|---|
|前提資格|Silver SE 11/8/7のいずれか|Gold SE 8/7 または Java SE 6 Programmerのいずれか|なし|
|試験時間|180分|180分|90分|
|出題数|80問|80問|50問|
|合格ライン|63%|61%|68%|
|言語|日本語|日本語|英語|
|受験場所|テストセンター|テストセンター|自宅|

# 試験内容

重点的に出題されるテーマはクラスの設計やストリームAPI、配列とコレクション、例外処理などで、これまでの試験を踏襲しているといえます。
Date-Time API、NIO2、JDBC、ローカライズ、スレッドの制御、モジュールシステムなどはそれぞれ1～2問くらい出題されました。
対策としては、Java 11までのテーマに加えてに以下をおさえておくといいでしょう。

- [レコードクラス](https://docs.oracle.com/javase/jp/15/language/records.html)
- [シールクラス](https://docs.oracle.com/javase/jp/15/language/sealed-classes-and-interfaces.html)
- [Switch式](https://docs.oracle.com/javase/jp/15/language/switch-expressions.html)
- [instanceofのパターンマッチング](https://docs.oracle.com/javase/jp/15/language/pattern-matching-instanceof-operator.html)
- [テキストブロック](https://blogs.oracle.com/otnjp/post/text-blocks-come-to-java-ja)

# 参考書

[オラクル認定資格教科書 Javaプログラマ Gold SE11 (翔泳社)](https://www.amazon.co.jp/dp/B08P55ZJNY/)
通称「紫本」。もともとJava 11の試験を受けるつもりだったので持っていました。Kindle本をセールの時に半額ぐらいで買ったのですが、個人的には紙のほうが使いやすいかな。
Java 11の参考書を土台にして、新しいテーマは自分で勉強するのはありだと思います。

[OCP Oracle Certified Professional Java SE 17 Developer Practice Tests](https://www.amazon.co.jp/Oracle-Certified-Professional-Developer-Practice-ebook/dp/B0B8QLCZ9H/)
洋書ですが、英語での出題に慣れたほうがいいだろうと買いました。各テーマの問題と模試3回分を合わせて1000問以上収録されていて、オンラインの問題データベースへのアクセスもついてます。
収録されている問題は本番と同等かやや難しめです。正答の選択肢が「コンパイルしない」や「当てはまる選択肢はない」などのいやらしい問題も多いく、これに慣れておくと本番が楽です。
日本のアマゾンだと高いですが（2023/03/03現在Kindle本でも6463円）、[アメリカのアマゾン](https://www.amazon.com/Oracle-Certified-Professional-Developer-Practice/dp/1119864615)で27ドル、[ドイツのアマゾン](https://www.amazon.de/Oracle-Certified-Professional-Developer-Practice/dp/1119864615)で25ユーロです。

# 勉強方法

2～3か月前から週末に紫本を読んだり演習問題を解いたりしていました。試験日2週間くらい前に洋書の模試を解いたところまさかの30%くらいの正答率しかなく、弱点のテーマを書き出して、そこの問題を重点的に解いていました。
重箱の隅をつつくような出題もあるので、自分で実際にコードを書いたりしてしっかり理解するのが大切だと思います。

# 試験結果

1問につき2分弱しかないので、悩んだ問題はとりあえず当たりをつけて次に行きました。見返したい問題をマークする機能はあるのですが、約6分の残り時間で考え直せたのは2問くらいしかなかったです。
答案を提出するとその場で正答率が表示され、73.3%で合格していました。

中途半端な正答率から推測するにダミー問題が含まれていたようです。（たぶん5つ？）
たしかにいくつか正答がないように思えたり、コードがおかしい問題があったような・・・？

# まとめ

いずれ日本語版のJava 17の試験が配信される可能性はありますが、今Java 11の試験の勉強をしている方で興味がある方はぜひチャレンジしてみてはいかがでしょうか。