#導入
こんにちは。けちょんです。
Java Silver/Goldに合格したので、嬉しくて記事を書きました。
これから受験する方の参考になれば、と思います。
#受験結果
#勉強開始時点の知識
業務でエンハンスは行っていたため、基本的なデータ構造や文法は分かる
ジェネリクス?ラムダ式?ストリーム??何それな状態
#勉強時間
##Java Silver
勉強時間:約8時間
基礎知識は既に築かれていたため、演習問題2つとその復習に力を注いだ
また、Goldの勉強をしていれば割とカバーされる
##Java Gold
勉強時間:約70時間
ゼロベースから、広く深く知識を習得する必要があったため、時間を要した
特にラムダ式などは新しい概念となるため、習得に時間を要した
#スケジュール
1/24 勉強開始
2/8 Gold黒本の練習問題を読了
2/16 Gold白本の練習問題を読了
2/19 Silver白本の演習問題で8割獲得
3/1 Silver黒本の演習問題で9割獲得
3/4 Gold黒本の演習問題(巻末)で7.5割獲得
3/11 Silver合格
3/12 Gold白本の演習問題で8割獲得
3/16 Gold黒本の演習問題(ダウンロード版)で6.5割獲得
3/18 Gold合格
#教材
GoldとSilverでそれぞれJava8の黒本と白本を利用
Goldの黒本/白本についての所感は以下
(Silverはあまり覚えてないため省略します。。。)
##黒本
練習問題:とても簡単
演習問題(巻末):普通
演習問題(ダウンロード版):とても難しい
###練習問題
ジェネリクス?ラムダ式?ストリーム??な人はまず黒本の練習問題を解くのががおすすめです。
一週目は問題よりも解説を読み込み基礎知識を得ながら、とにかく手を動かします。
手を動かすことで、知識が拡張されますし、記憶に定着されます。
また、初めて得た知識はすぐにアウトプットするのがおすすめです。
※Qiitaで記事にした内容は今でもよく覚えてます
###演習問題
白本の練習問題を解いた後に解くのがおすすめです。
個人的には試験と同じ環境(途中で調べてはいけない等)にする必要はないと思います。
なぜなら、答え合わせして、復習している頃には多くの疑問を忘れてしまうからです。
細かいことにこだわらず、より成長できる選択肢を選びましょう。
全ての疑問は発生した都度潰しましょう。
ちなみに演習問題(ダウンロード版)は解く必要がありません。
知識がマニアックで、実際の試験ではほとんど出題されませんでした。
可変リダクション操作が大好きな人は解くといいと思います。
##白本
練習問題:普通
演習問題(巻末):少し難しい
###練習問題
黒本の練習問題を解き終えたら、白本の練習問題を解きましょう。
基礎知識をもちろん、出題範囲に幅広さがあります。
黒本より難易度が上がるため、黒本で自信がついてきた人はがっかりすると思います。
ここでも、とにかくコードを書くことが近道です。
###演習問題
ある程度実力がついてきたと思う方は、試験と同じ環境で解いてみましょう。
ここで合格点に届かない場合はコーディングが足りていないと思います。
不正解が多い分野を分析し、コードを書きましょう。
#それぞれ受験してみた感想
##Java Silver
業務で専門的にJavaを扱っているのであれば、合格できるレベルは必須だと思います。
もちろん通常業務で使用しない知識も多いですが、以下のような必須知識も多いです。
・「値渡し」と「参照渡し」の違い(正確にはJavaに参照渡しは存在しないようですが)
・StringとStringBuilderの違い
などなど
##Java Gold
業務で詳細設計も行っているのであれば、あった方が役立つと思うくらいです。必須ではありません。
純粋に知識量が増えることで、以下メリットがあると思います。
・最適なクラスやそのメソッドを選択できる
例)Dateクラスではなく、Date And Time API
ArrayListとLinkedListの最適な選択
などなど
ラムダ式やストリームの問題が多数出題されますが、業務で安易に使用するのは可読性を損なう危険があり、避けるべきです。
#まとめ
色々書きましたが、知識量が格段に増えたので、取得して良かったと思います。
これからの時代、Javaはこれまでほど利用されなくなっていくかもしれません。
しかし、静的型付け言語を一つマスターするというのは非常に重要な礎となるはずです。
是非皆さんも受験してみてください。