カタカタブログ

SIerで働くITエンジニアがカタカタした記録を残す技術ブログ。Java, Oracle Database, Linuxが中心です。たまに数学やデータ分析なども。

Oracle Java SE 8 Silver/Gold 合格体験記

先日、OracleのJava SE 8の資格試験を受験し、無事合格しました。
記録のために合格体験記を記します。

これまでJavaは学生の頃から今の仕事でもよく使ってきたので、基本的なプログラムはある程度一人で書けるレベルでしたが、
体系的な勉強はあまりしてこなかったので、今回資格を取ることにしました。

Javaの資格は

  • Java SE 7/8 Bronze: 言語未経験者向け
  • Java SE 8 Silver: 初級者向け
  • Java SE 8 Gold: 中上級者向け

となっており、GoldはSilverを合格してからでないと受験できませんが、
SilverはBronzeを持っていなくてもいきなり受験可能なので、まずはSilverを目指すことにしました。

Java SE 8 Silver

教科書と問題集として以下の2冊を購入しました。

オラクル認定資格教科書 Javaプログラマ Silver SE 8

オラクル認定資格教科書 Javaプログラマ Silver SE 8

  • 作者: 有限会社ナレッジデザイン山本道子
  • 出版社/メーカー: 翔泳社
  • 発売日: 2016/02/11
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る
徹底攻略 Java SE 8 Silver 問題集[1Z0-808]対応

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

  • 作者: 志賀澄人,株式会社ソキウス・ジャパン
  • 出版社/メーカー: インプレス
  • 発売日: 2016/01/18
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る

いわゆる紫本と黒本ですね。
紫本の方は教科書らしく最初に体系的に知識が記された後に、章末問題と解説、というスタイル。
一方黒本の方は名前が問題集となっている通り、章ごとにそのテーマの内容を一通り理解できるような問題があり、
それらの問題を十分詳細に解説することでそのテーマの理解を深める、というスタイル。
どちらも書籍も最後に模擬試験がついてます。
一長一短あり、どちらもその一冊を理解すれば、十分合格ラインに到達できると思います。
個人的な感想としては黒本の説明がかなりわかりやすく、また章末模擬試験の出題傾向が
本番と酷似していて、ある程度Javaを使ったことある人であれば、こちらの問題を中心にやるスタイルの方が効率的かなと感じました。

Silverはそこまで深い知識が問われる問題はないので、
この教科書どちらか一冊を普通に終えて、章末問題で合格ラインに達すれば、本番でも合格できるかなと思います。
私は1ヶ月ほどかけて2冊ともやりましたが、本番では時間も半分ほど余らせて正答率95%ほどで合格できました。
なので、感想としては結構あっけなく簡単にとれたな、という印象で、受験後は引き続きGoldを目指そうという気持ちになれるくらいでした。

Java SE 8 Gold

GoldもSilverと同様に、教科書と問題集の2冊を購入しました。

オラクル認定資格教科書 Javaプログラマ Gold SE 8 (EXAMPRESS)

オラクル認定資格教科書 Javaプログラマ Gold SE 8 (EXAMPRESS)

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

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

  • 作者: 米山学,株式会社ソキウス・ジャパン
  • 出版社/メーカー: インプレス
  • 発売日: 2016/10/14
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る

Goldは簡単なSilver試験と同じ感覚で臨むと合格は難しいと思います。
もちろん教科書や問題集の内容が足りないわけではなく、これらの内容を十分理解すれば合格ラインに到達はできると思います。
ただSilverは問題を解いて解説を読めば十分理解できましたが、Goldの内容はかなり個々のテーマが深掘りされていて、 読むだけではなかなか理解が深まらないと感じました。
なので、実際にコードを書いて実行したり、APIドキュメントに目を通したりと、教科書に取り組む以外のアプローチも組み合わせた勉強法が効率的でした。

あとは試験対策本ではないですが、以下のようなJavaの中上級者向けの参考書を併読することで
Java言語設計思想のようなものから言語の機能を理解できるため、苦手なテーマのところだけをつまみ読みするのもよかったです。

EFFECTIVE JAVA 第2版 (The Java Series)

EFFECTIVE JAVA 第2版 (The Java Series)

Effective JavaはJava SE 6の頃の内容ですが、ジェネリクスやComparable系などJava SE 8 Goldでもよく問われることは多い一方、
試験対策本だとどうしても説明が浅くなりがちなところの詳細を理解する上で役に立ちました。
Javaプログラマーなら習得しておきたい Java SE 8 実践プログラミング

Javaプログラマーなら習得しておきたい Java SE 8 実践プログラミング

こちらはJava SE 8の新機能を解説するテーマの本で、ラムダやストリームAPIやDate and Time APIなど、
体系的な知識の整理にとどまらず、なぜこの機能がJavaに取り入れられたかという背景を踏まえて解説してくれるため、読み物としても楽しく読み進められました。

私はまず紫本を2周し、各章の章末問題を理解できるようにしてから、最後の模擬試験をときました。
その後に同じように黒本の各章を2周し、ここは正解した問題も含めて解説を詳細に読み込みました。
で、ある程度理解してきたな、という感覚が得られてから黒本の最後の模擬試験を解きました。
ここで合格ラインに達していた(8割ほど)ので、すぐに試験を申し込み、翌日に受験しました(テストセンター受験なので、よし明日受けよう!と思ったときに受験できるのがいいですね)。

結果、本番では150分の試験時間のうち60分ほど余らせて合格率80%程度で合格していました。
感覚的には黒本の模擬試験の方が本番より難しいような気がしましたが、実際の正答率は同じくらいだったので、黒本の模擬試験で合格ラインに到達するレベルならば、本番でも合格できるレベルだと思います。
結局、Goldの試験勉強は2ヶ月ほどかけました。

まとめ

Java SE 8のSilver/Goldの試験をだいたい3ヶ月ほどかけて二つとも一発合格しました。
テストセンター受験・Web申し込みなので、好きなタイミングで受験できるのがよいですね。
受験日を決めて追い込まれるようにすることで勉強が進む人もいるかと思いますが、
私の場合はコツコツと勉強を進めて、自信がついたタイミングで受験するほうが安心感がありました。

業務だけでは知り得ない機能も多く、これは知っていても絶対に業務では使わないな、と思うような機能もたくさん覚える必要はありますが、
ラムダ式やストリームAPIなどとても便利な機能で、こういうものを知っているとより簡潔で性能もよく実装できたりするので、体系的に知識を整理することができてよかったです。

以上