実務未経験でJavaGold SE11を2か月で取得したお話（小麦）

<ul>
<li><a href="#h1">JavaGold 11とは</a></li>
<li><a href="#h2">JavaGold 8 と 11の違い</a></li>
<li><a href="#h3">使用した参考書</a></li>
<li><a href="#h4">勉強方法</a></li>
<li><a href="#h5">参考書のレビュー</a></li>
<li><a href="#h6"> 模擬試験での点数について </a></li>
<li><a href="#h7">実際の試験を受けてみて</a></li>
<li><a href="#h8">まとめ</a></li>
</ul>

<h1 id="h1">JavaGold 11とは</h1>
JavaGoldは運営団体『オラクル社』が発行するベンダー資格になります。
そのなかでも、Javaは <b>Bronze Silver Gold</b> の３つに分かれており
その中でも最上位最新の資格であるのが『JavaGold SE 11』になります。
なお、読みやすいためみんなが省略していますが

資格の正式名称は<b>『Oracle Certified Java Programmer, Gold SE 11』</b>です。
資格取得にあたる試験名称は<b>『Java SE 11 Programmer II』</b>になります。

<h1 id="h2">JavaGold 8 と 11の違い</h1>
Java SE 8 とJava SE 11の試験範囲には明確な違いがあります。

<b>JavaGold 8の試験範囲</b>
<b>
・Javaクラスの設計
・高度なJavaクラスの設計
・コレクションとジェネリクス
・ラムダ式とメソッド参照
・JavaストリームAPI
・例外処理
・日付／時刻API
・入出力
・NIO.2
・スレッドと並行処理
・JDBC
・ローカライズとフォーマット
</b>

上記がJavaGold 8の試験範囲になりますが、JavaGold 11は更に
<b>
・モジュールシステム
・アノテーション
・セキュアコーディング
</b>
が含まれます。日付/時刻APIは11では除外されますが、ローカライズとフォーマットの分野で必須知識なので<b>無くてあるようなもの</b>です。

見てわかるように明らかに<b>11の方が難易度が高い</b>ことが分かります。

<h1 id="h3">使用した参考書</h1>

いわゆる紫本、白本、黒本全て使いました。
私の場合は、黒本が8しか売っていなかったのですが、現在はJavaGold SE11の黒本が発売されています。
<img src="https://images-fe.ssl-images-amazon.com/images/I/51FOyYu4oJL._SY291_BO1,204,203,200_QL40_ML2_.jpg">
<img src="https://m.media-amazon.com/images/I/51IU0uFTvaL._SY346_.jpg">
<img src="https://images-fe.ssl-images-amazon.com/images/I/51hBbgT5BkL._SY291_BO1,204,203,200_QL40_ML2_.jpg">

<h1 id="h4">勉強方法</h1>

流れとしては
<b>
①.紫本をマスター
②.白本・黒本でひたすら問題を解く
③.知識に漏れがあれば公式のリファレンスや自分で調べて補正
</b>

<b>①</b>紫本がベースとなります。一つ一つの分野について細かく説明されているのでまずは紫本を
完璧にするところから始まります。ちなみに私はトータルで8周しました。
あくまで紫本はベースです。試験範囲のすべてを網羅しているわけでは無いという点に注意してください。

<b>②</b>白本・黒本は問題に特化した参考書です。
特に、模試に関しては実際の試験に基づいた出題方式となっているため<b>試験に慣れる</b>ことが出来ます。

<b>③</b>JavaGoldに受かるためには公式のリファレンスを読める能力が必須となります。
戻り値が何か、引数は何か、オーバーロードされているメソッドには何があるのか、オーバーライド元となるメソッドの定義はどうなっているのかを調べなければなりません。

<h1 id="h5">参考書のレビュー</h1>

<b>・紫本</b>
良い点
・出題範囲の各セクションについて分かりやすく説明されている
悪い点
・模試が一回分しかついていない
・出題範囲についてすべてはカバーしていない

<b>・黒本</b>
良い点
・問題特化型で記憶に沁みやすい
・ひとつひとつも問題に対する回答が丁寧
・模試が2回分ついている
悪い点
・初めてGoldの勉強をするには難易度が高い
（初見で挑むとほぼ挫折するかと…）

<b>・白本</b>
良い点
・問題特化型で記憶に沁みやすい
・ひとつひとつも問題に対する回答が丁寧
・模試が2回分ついている

悪い点
・誤字や、記述ミスがかなり多い
・試験範囲をピンポイントで狙えているのか謎？
（知識としてはつきますが、範囲外のような知識も
あるような気がします）

<b>参考書に対するまとめ</b>
個人的には全て役にたちました。
紫本は基礎知識を身につけられ、黒本、白本で実践形式で問題を解いていく。
黒本はForkJoinというマルチスレッドのクラスの使い方について詳しく書かれていたり、
白本はSilverの範囲の難しい部分の再復習や、grob構文(セキュアコーディング)について詳しく書かれていました。各々がお互いの穴を埋めるようになっていていました。


<h1 id="h6">模擬試験での点数について</h1>

紫本・黒本・白本の3冊をすべて買うと模試が5回分ついてきます。

ある程度勉強をして初見で受けた結果です。1か月半で基礎知識を身について残り半月を問題を解く時間に割り当てました。

私が初見で受けた模試の結果です。

<b>
・紫本(Web) 58% 不合格
・黒本(参考書)　68% 合格
・黒本(Web)　70% 合格
・白本(参考書)　74%　合格
・白本(Web)　68% 合格

ちなみに、紫本が58%と落ちていますが一番最初にやったものだったからだと思います。
5回中4回が合格水準に達しています。
重要なのが、分からない問題は空欄で記述するといことです。
私は、<b>初見で分かった問題はそれ以降解く必要は無い</b>と思っています。
一番重要なのが<b>分からない問題と分かる問題を正確に認識する</b>ことです。
なので、模擬試験ではいまいち分からないと思ったらあてずっぽうに答えを書くのではなく空欄にすることが大事です。
一番最悪なケースはまぐれで当たってしまい、その問題について勉強しなくなることです。
初見で正解したものを省いて再テストすればかなりの時短が見込め、その時間を使って他のことを勉強することができるのです。

ちなみに、勉強方法としてノートとかにまとめたりは一切しませんでした。
JavaGoldの試験は膨大できれいにノートにまとめる時間がもったいないと思ったからです。
その時間があれば読んで覚えた方があきらかに効率的と言えるという確証が私のなかにありました。
ただ、頭の中がごちゃごちゃになったときは書き出す行動をします。
たとえば、ラムダ式を戻り値として返すラムダ式は見た目以上に複雑です。
わずか2行でかかれていることも、内部的には10行近くの処理を簡略化して書いています。
そのような場合は、確実に混乱するので整理する意味でノートへ書き出します。

(あくまで私の勉強方法なので自分に合うもので...)


<h1 id="h7">学習時間</h1>
二か月間で180時間ほどです。
毎日3時間ほどです。
youtubeやSNSでかなり邪魔されたので150時間と考えてもいいです。(笑)

<h1 id="h1">実際の試験を受けてみて</h1>
当日、試験会場へ行き、いざ勝負！！
とおもった矢先、１問目から意味不明な問題が...
続いて、2.3問と説いていくも全く分からない...
正直最初の5問くらいで『落ちた』と思いました。
参考書を3冊買ってみっちりやったのでわからない問題が出てきてもせいぜい5~6問くらいだと思っていましたがめちゃくちゃ難しいです。初めてみるクラスやメソッドもありました。
え、だって私、参考書3冊やったんだけど...って心のなかで思いつつ問題を解いていきました。
中にはもちろん分かる問題もありました。ちなみに解読に時間がかかるような問題は飛ばしました。
結果としては70%でギリギリ合格しました。(試験中は生きた心地がしなかったです)

受かった要因としては、
<b>
①あてられる問題を絶対に逃さないことを意識した
②分からない問題に対しても論理的に解釈して解いた
③どうしても分からない問題は消去法で正答率を上げる

特に②③がかなり重要です。
クラスやメソッドは使ったことが無くても名前から動きなどが推測できるものがあります。
そこから推論して答えを導いてください。
どうしても分からない問題でもしっかり勉強すれば『絶対この答えだけは違う』という確証が出てきます。例えば分からない問題20問をあてずっぽうに解いたとすれば、正答率は1/4(5問)
しかし、消去法で2択まで絞れば1/2(10問)です。

<h1 id="h8">まとめ</h1>
JavaGoldはかなり難しいので侮らないで勉強をしなければなりません。
前日の2日間、『かなり勉強したし大丈夫かな。』と思っていましたが
神の忠告が聞こえて、最後の最後まで
勉強しました。それがなければ落ちていたかもしれません。
もし、これからJavaGoldの資格を取得しようと考えているひとは<b>油断したら落ちる</b>ということだけ
肝に銘じておいた方がいいと思います。

追記
Java Silverは1か月未満で合格したので、本当に何もない状態からだと3カ月くらいです