Java Gold 11の勉強法(実務経験1〜4年の人にオススメ)

資格試験

Java SE 11 Programmer Ⅱ (1Z0-816-JPN) 試験に合格し、Oracle Certified Java Programmer, Gold SE 11 (いわゆるJava Gold)認定資格を取りました!

Java Silverより遥かに険しい道のりでした。。。
学習の中でネット上の様々な記事に助けられたので、私も誰かの役に立てればと思い、勉強法と合格体験談を書きます。

Java Goldの前提資格であるJava Silverの勉強法は、以下の記事で書いています。

試験について

試験概要

主催団体  Oracle
公式サイト https://education.oracle.com/ja/oracle-certified-java-programmer-gold-se-11-available-only-in-japan-oracle-certified-professional-java-se-11-developer/trackp_815
試験日   随時(テストセンターにて受験)
合格発表日 試験終了30分後
問題形式  選択問題80問、180分、63%で合格

どんな問題が出る?

問題形式としてはSilverと変わりません。

問題文:Javaのコード、選択肢:実行結果で、4択から正しいものを選べ!
というのが基本です。

まだJava 11はなくJava 8になりますが、公式サンプル問題があります。
問題形式とレベル感がわかります。

試験時間は180分ありますが、私は100分くらいで退室しました。途中トイレ休憩も言えば取れると思いますが、なんとなく試験中に退室するのは嫌で、一気に解いて出ました。

8と11の違いは?

Java SE 11 Programmer Ⅱ (1Z0-816-JPN) は2019年6月27日から始まった試験です。
これの前はJava SE 8 Programmer Ⅱ (1Z0-809-JPN) でした。

SilverはJava 11試験対応の参考書が出揃っているのですが、Goldはまだ一冊も出ていないので、Java 8対応の参考書を買って勉強しました。
Java 11からの新範囲の分野(モジュールシステム、シリアライズ)が全くわからず苦労しました…。
後述するように、参考書以外の方法で対策する必要があります。

難易度は11の方が結構高いと思います。
11からの新機能の分、出題範囲が少し広い程度の違いなのですが、教材がないので勉強が難しいという意味で難易度が高いです。

勉強法、かかった時間

勉強の流れ

勉強時間

1回目の受験(不合格)

Silver受験時の経験から、黒本を完璧にやれば合格できると信じていました。

黒本の各章を解きながら要点をまとめ、巻末の総仕上げ問題とダウンロード問題を3周しました。
黒本の内容はほぼ完璧に頭に入れました。
ほとんどSilverと同じ対策内容です。

所要時間は80時間程度です。
やっぱり問題集は最初の一周目がつらいですね。わからないことばかりなので。

結果、54%(合格ラインは63%)で不合格でした。

2回目の受験(不合格)

黒本をやり込んでも合格できないと悟り、紫本を追加で買いました。
が、分量に圧倒されてしまい、ほとんど目を通しませんでした。。

Java 11からの新範囲についても結構出題されることを知り、その対策をしました。
具体的には、モジュールシステムをネットで調べて実際に使ってみた人の記事を読んだり、セキュアコーディングをJava コーディングスタンダード CERT/Oracle 版で確認したりしました。

問題集も再度やりましたが一度読んだ内容なので時間はかからず、20時間程度しか勉強しませんでした。

結果、50%(合格ラインは63%)で不合格でした。

3回目の受験(合格)

漫然と問題集を流すだけでは受からないことを悟り、
Oracleの試験対策セミナーを受講したり、公式ドキュメントを根気強く読み解いたり、自分でコードを書いてみたりという地道な努力をしました。

時間としてはそこまで長くなく、30時間程度使ったかと思います。

結果、63%(合格ラインは63%)で合格でした。

詳しい勉強法

実際に使った問題集(2冊)

1冊目:徹底攻略 Java SE 8 Gold 問題集[1Z0-809]対応 (日本語) 単行本(ソフトカバー)

Silverで大変お世話になった「黒本」のGold版です。

SilverとGoldでは著者が違うのですが、形式や解説の書き方は似ていて、わかりやすかったです。

2冊目:オラクル認定資格教科書 Javaプログラマ Gold SE 8 Kindle版

紙でなくKindle版を購入したのですが、それでもすぐわかる圧倒的分量でした。

全てを読むのは諦めて、最初の要点まとめの章と、理解が難しいなと思った範囲だけ読みました。

実際にコードを書いてみる

恥ずかしながら、実務でラムダ式を使ったことがありませんでした。
ラムダ式やStream APIなど自分が慣れていないものは、コードを書いて実際の動きを見ました。

モジュールシステムも解説を読むだけではよくわからなかったので、Qiitaやブログで実際に動かしている人の記事を舐めるように読みました。

Oracleの公式セミナーを受ける

1ヶ月に2回のペースで、Oracleが試験対策ポイント解説セミナーをオンラインで開催してくれています。

私は3つ受講しました。
ラムダ式&Stream API編、Core API編、Java 8以降の新機能編と、それぞれ違う内容でした。
要点がまとまっていてわかりやすく、非常に良かったです!

(※ただし、細かい箇所までは網羅できないので、やっぱり参考書は必要です)

セミナーの資料に書かれている例題とほぼ同じ問題が、本番で何問か出ました。

公式ドキュメントを読む

特にStreamとCollectionのドキュメントは何度も読みました。
似たようなメソッドが多くて、すぐこんがらがってしまうので…。

sumって引数なしで使えるんだっけ!?
→IntStreamとかのプリミティブ特殊化では引数なしで使える、Streamにはsumってメソッドはない
sortとsortedって何がなんだっけ!?
→sortはListのメソッド、sortedはStreamのメソッド

とか、引っかかりやすいものを調べて知識を整理しました。

map・flatMap・mapToInt・flatMapToIntの違いは?
min・max・averageの引数と戻り値は?

など、問題の中で見ると混乱するので、ドキュメントで見て整理するのが良いと思います。

要点メモをつくる

自分なりに要点メモをつくり、それを見返すことで学習にかかる時間を削減できました。

不明点を洗い出して調べてまとめる、ということもしました。
個人的には、手書きの方が脳が冴えて記憶に残る気がします。

字がめちゃくちゃ汚く、内容の正確性に欠けまくるのですが、試験対策の臨場感がすごく出ているので載せますw

なぜ実務経験1〜4年の人にオススメか?

Java Goldは中上級プログラマ向けの資格だそうですが、実務経験で言うとどれくらいの人にオススメか?という話です。

私は実務経験(Java以外の開発経験合わせて)3年で取って、ほどよい難易度でした。
1〜4年の人にぜひ受けてほしいと思いました。

正直なところ、実務に必要なプログラミングの基礎知識という意味では、Java Silverで十分かと思います。
Java Goldを勉強していて、Stream APIもラムダ式も新機能も実務でほぼ使わん(※)し!!と何回もキレそうになりました。(※現場によります)

ですが、勉強の内容そのものより、勉強の過程がすごくためになったのです。

参考書を読むだけでなく、セミナーを調べて受講し、公式ドキュメントにも当たり、自分でコードを書いて動かしてみたり人の記事を読んだり、、
という勉強の過程の中で、エンジニアの勉強とはかくあるべきか、ということを学びました。

新しい言語や技術を学ぶときに、参考書があるとは限らないので、こうやって勉強していかなければなりません。
私はJava Goldの資格を持っている人を見たら、そういう能力がある人なんだと考えます。

合格体験談

受験のきっかけ

まずは1つの言語を極めることが、エンジニアの底力向上と他の言語習得の近道だと思っています。

その中でもJavaは実務でも使っていて、歴史とシェアがあり、最初に勉強する言語として良いのではと思い選びました。

前提資格のJava Silverの勉強がすごく自分の力になったので、その上位資格のJava Goldまで絶対に取りたいと思いました。

私の受験時のスペック

  • エンジニア歴3年
  • Javaの実務経験1年
  • 半年前にJava Silver取得

という感じです。

2回の受験それぞれの得点

1回目(5/31): 54%(不合格)

全く知らない聞いたことない…30%
あ〜見たことはあるけど正確に覚えてない…50%
これはわかるぞ…20%
という感じでした。

案の定不合格でした。
再受験無料キャンペーンを使ったので、今回落ちても大丈夫だという慢心もありました。

2回目(7/13):  50%(不合格)

新機能の範囲を学習した分、正解率は上がるかと思ったのですが、むしろ1回目より下がっていて落ち込みました。
一生受からないのでは?という絶望すら感じました。

3回目(9/12):  63%(合格)

めちゃくちゃギリギリでした!

もっと取れていそうな手応えだったので、細かい部分を勘違いして覚えてしまっているのかもしれません。よく復習しておきます。

感想・次の目標

Java Goldはずっと憧れていた資格で、落ちてもめげずに必死に勉強したので、受かって本当に嬉しいです!!

これでJavaは一段落として、他の言語も勉強していきたいと思います。
最近競技プログラミングを始めて、とりあえず慣れているJavaを使っているのですが、本格的にやるためにc++を習得したいです。

資格試験としては、LinuxかAWSに手を出そうかと思っています。

タイトルとURLをコピーしました