#はじめに
2021年1月、Oracle Certified Java Programmer, Gold SE 8(通称 JavaGold)に合格したので体験記を書きました。
###なぜこの記事を書いたか
理由は簡単です、ミルクボーイです。
「いま、合格体験をいただきましたけども。」
「こんなん、なんぼあってもいいですからね。」
はい。
情報の新規性には欠けますが、あればあるだけいいだろうということで書きます。
あとは、私自身が受験時に他の方の体験記を読んで合格イメージを掴んでいたので、そんな記事の一つになればよいかなと。
###この記事の読み方
ファクトベースで 勉強開始時のスペック と 勉強時間と方法 を書いたうえで、主観となる 合格の秘訣 を書いていきます。
#勉強開始時のスペック
###学生時代
情報工学を専攻し、学習経験と開発経験はいずれも5年ほど。
###開発経験
個人開発のみで、業務経験は設計やテストを含めほぼなし。
それまでの言語経験は、JavaScriptやC#、C++、Pythonをメインとしたフロントエンド。
ただし、いわゆるアカデミック(レガシー)な書き方で、ポリモーフィックな作法は心得ておらず。
###保有資格
- 基本情報技術者
- 応用情報技術者
#勉強時間と方法
###勉強時間
140時間(3か月)
参考にJavaSilverは45時間(3週間)
###勉強方法
#合格の秘訣
###1.とにかく黒本をやりこむ
これにつきます。他に参考書は必要ありません。
具体的には
- 全体を通して2~3周解く → 問題の形式に慣れる
- 問題のコードを写経する → コードの構造と雛形をインプット
- クラス、インタフェースの階層とメソッドを表にまとめる → 要点と理解の整理
- 正解の選択肢がなぜ正しいか、他の選択肢がなぜ間違いかを説明できるようになる → 理解の確実化と回答への自信
これらをするだけで十分に“合格するための力”が身に付きます。
###2.コードを書いて想定した動きをするか確認
コードの写経から一歩進んだ内容です。
黒本のコードを書き換える、もしくはゼロからコーディングし、ビルドを実行する前に一度動きを想定します。
- コンパイルエラーが発生するのか。その場合、どのような理由でエラーとなるのか。
- 例外スローされるのか。その場合、なに例外なのか。
- 正常に動作するのか。狙った挙動や出力をするのか。
実際にコードを組み立て、動作を確認することで、より一層クラスやメソッドの振る舞いへの理解が深まります。
特に、攻略の鍵とされるStream APIの本質的な理解に繋がります。
###3.ドキュメントを眺める
JavaGoldはベンダー資格なので、ドキュメントはいわば公式の参考書です。
下記のインタフェースとクラスは、ほぼすべてのフィールドとメソッドが出題されます。
網羅的に理解をしておくことで井の中の蛙にならず、回答への自信にも繋がります。
- java.util.stream.Stream<T>
- java.util.stream.IntStream
- java.util.stream.LongStream
- java.util.stream.DoubleStream
- java.util.stream.Collectors
- java.util.Collesctions
- java.util.Comparator<T>
- java.util.Optional<T>
###4.公式のサンプル問題を解いておく
私の場合、ほぼ同じ問題が1,2問出題されました。
それだけ問題形式が本番のものに近いです。当然ですよね、公式のサンプルですから。
試験の直前にでも、一度解いておくことをおすすめします。
#おわりに
今回はOracle Certified Java Programmer, Gold SE 8(通称 JavaGold)の合格体験記を書きました。
ご覧になって分かったかと思いますが、経歴に関係なく学習と対策を重ねればそこまで難しい試験ではありません。
JavaGoldを通じオブジェクト指向やJavaのパラダイム、Javaの各API理解など知っておいて損はない知識は身についたかなと思います。
この記事を読んだことを機にJavaGold取得を志す、モチベーションを高める、そんな内容になっていれば幸いです。