Oracle Java SE8 Silverに一発合格するための勉強法

Oracle Certified Java Programmer, Silver SE8に合格しました.

受験のキッカケ

業務でJavaを使っているけど,イマイチ自身がない,先輩のコードがすらっと読めない,というかそのキーワードみたいことない...というような状況に危機感を覚えたのがキッカケです. Java歴は1年ちょいくらい.受験勉強時はラムダ式はわかってなかった人(でも満点を目指すのでなければ大丈夫). Bronzeはプログラミング初心者向け(しかも日本だけらしい),GoldはSilver持ってないと受験できない,ということでSilverに.

受験勉強

参考書

参考書は定番の黒本を中心に勉強しました.

徹底攻略 Java SE 8 Silver 問題集[1Z0-808]対応

徹底攻略 Java SE 8 Silver 問題集[1Z0-808]対応

各章の問題を解く→解説読んでわからなければ他の参考書やネットで調べる,という流れで勉強しました. 実際にコード書いて確かめたりもしました.

目指すは「人間Javaコンパイラ」?

いやらしい問題も結構多く,「文法規則なのか,それともただの慣習なのか」の理解が求められることがありました.つまり,ちゃんと理解してないと正解を選べないってことです. 選択肢に出しておいて「そんな例外(クラス,メソッド,etc.)存在しませーん」みたいなのもまあまああります....普段どれだけIDEにお世話になっているのかがわかります.キーワードに色もつかないただのテキストでプログラム読むって辛い.

勉強期間

実質は1週間くらいかな? GW明けに受験したのですが,黒本を買ったのが2月で,ちょろっと問題を解いたりしたものの(答え合わせはしなかった),年度末にかけてめちゃめちゃ業務が忙しくなったのもあって,ほとんど手をつけられませんでした. お尻に火がついたのは試験3週間前くらいで,解いた問題の答え合わせをしたら全然できなくて焦りました...

勉強内容

ラムダ式は不要(出題されるけど)

ラムダ式は出題されますが,ラムダ式ってなに?」状態であればむしろ勉強は不要だと思っています.他の内容に勉強リソースを割いた方がいいです.もちろん余裕がある方は得点源にしましょう.

使ったことがなければData and Time APIも勉強する

Data and Time APIの主要クラスの扱いについても出題されます.私はこれまで使ったことがなく,ゼロから知識を入れました.普段から使い慣れている人でなければ,それぞれの引数が何なのかなど整理して覚える必要があります.

いざ受験...!!

本番の受験環境はCBT(Computer Based Testing)で一人ずつ割り当てられたPCを使って受験します.後で見直したい問題にはチェックをつけることができて,後からまとめて見直せるようになっていました.

計算や図を書いて考えたいときのために小さいホワイトボードと黒マジックも渡されました.ホワイドボードは消せなくて,使い切ったら係員に交換してもらうシステムでした.

問題は問題集から似たというかほぼ同じ問題がたくさん出ました.

受験の効能

結果は80%(合格ラインは65%)で,無事合格でした!

正直,受験するかどうかは迷いました. 勤務先は相変わらず無愛想なので特にインセンティブは出してくれません. 受験料は高すぎる(3万弱)し,再受験無料キャンペーンに背中を押してもらって受けました. 「プログラミングに資格なんているの?(持ってても意味ない.コード書けてナンボ)」という声があるのも知っています.

ただ,業務でJavaを使っているとはいえ,どうしても自分が書きたいように(=書けるように)書いているなという気がしていました. 特に自分の現場では忙しすぎてまともにコードレビューもできていない状況でしたし,普段書いている内容も同じような内容で世界が広がらないなと感じていました. テキトーな研修でいきなりJavaプロジェクトに放り込まれてしまった身としてはしっかり勉強できてよかったと思っています. 引き続きGoldを目指していきたいところです.