こんにちは。まさきです。
先日Javaの資格の1つであるJava Silver SE8を取るために試験を受けてきました。
結果は・・・1回で取得することができました!!!

試験を受けて数分後に採点され結果が見れるようになります。
試験の問題が結構初見のものが多く、手応え的にはあまりよくなかったので待ち時間がドキドキでした。
正解率ももっとギリギリだと思っていたので、びっくりです。
どこが間違えたかわからないのだけが気になります。
JavaSilverの説明とどのような学習をしたかお話ししていきたいと思います。
Javaの資格とは
Javaの資格はJavaをリリースしているOracle社が実施しているJavaプログラマー向けの資格です。
レベルにはBronze、Silver、Goldの3段階があり、Goldが一番難しくなっています。
今回受けたSilverは真ん中です。
Java Silverを持っていることで、Oracle社ではこのような技術力があると定義しています。
Javaアプリケーション開発に必要とされる基本的なプログラミング知識を有し、上級者の指導のもとで開発作業を行うことができる開発初心者向け資格です。日常的なプログラミングスキルだけでなく、さまざまなプロジェクトで発生する状況への対応能力も評価することを目的としています。
結構難しいと思ったのですが、これでも初心者向け資格の位置づけなんですね・・・
またSE8 というのはJavaのバージョンのことです。
最新ではSE11も受けることができますが、私はSE8を受けました。(SE11は社内でお金がもらえる対象外だったため)
内容もSE11の方が多くなっており、難易度も少しSE11の方が高いのかなという印象です。
認定資格のJava Silver SE8を取得するためには『Java SE 8 Programmer Ⅰ』を受ける必要があります。
今回受けた『Java SE 8 Programmer Ⅰ』はこのような内容です。
- 出題形式: 選択問題
- 試験時間: 150 分
- 受験料(税抜): ¥29,400
- 出題数: 77 問
- 合格点: 65 %
問題は選択式で77問から65%(要するに51/77)正解する必要があります。
それにしても受験料高いですよね・・・
申し込みはCertViewからピアソンVUE経由でできます。
Oracleアカウント持っていない方はアカウント登録が必要です。
またJava Silverは基本テストセンターで受けるものでしたが、このご時世ですのでオンラインでも受けれるようになっています。
オンラインで受けるときは手順と注意点をまとめたのでよかったらこちらもご参考ください。
試験範囲と学習方法
試験範囲
Java Silver SE8は以下のような試験内容の範囲とされています。
- Javaの基本
- Javaのデータ型の操作
- 演算子と判定構造の使用
- 配列の作成と使用
- ループ構造の使用
- メソッドとカプセル化の操作
- 継承の操作
- 例外の処理
これだけだとだいぶアバウトかもしれませんが、結局のJavaの基本は全部知っておかないといけません。
特にひっかけ問題が多いので、正解を見極めるために細かい違いまで理解する必要があります。
学習方法
おすすめの学習方法は問題集を3回以上繰り返し解くことです。
そしてわからない内容は調べて理解することです。
調べ方にはいろいろありますが、答えの解説を見てもいいですしググってもいいと思います。
実際にJavaを書いてみてもいいです。
イメージとしては問題文を暗記して、内容を理解するイメージのどっちも行う感じです。
なぜかというと試験時間は意外と少ないので、問題は暗記して答えてもいいと思います。
ただし、少し変わった似たような問題が出てくる可能性が多いので、暗記だけではなく理解も必要だということです。
また、何回か解いていくとひっかけ問題の傾向がわかってくるので、初見の問題でもどの辺を注意して考えればいいかなんとなくわかってきます。
そしてなぜ3回かと言うと、
まず人間の脳は忘れる前提でできているので時間をかけて数回解くことで暗記しやすくなります。
また、繰り返し解く中で2回目、3回目と同じ問題に間違えるようだったらJavaを理解できておらず自分の苦手な場所がわかってくるので、重点的に対策をすることができます。
私の場合はif文やfor文の問題は得意でしたが、クラスのキャストやインターフェースの実装系が苦手だったので他よりも多く問題を解きました。
学習教材
先ほど問題集を3回以上解くのが良いと言いました。
このときにJavaの全くの初心者ではない場合は参考書を読んで理解するより、問題集を実際に解きながらやJavaを自分で書きながら理解する方がいいです。
参考書を読むだけはプログラミングを理解してもあまり記憶として定着しないで、あまりおすすめはしません。
どこのサイトでも同じことを言っているかと思いますが、
おすすめの問題集はこちらの2つです。
1つ目は私自身使っていたこちらの白い問題集です。
もう1つはこちらの黒い問題集です。
どちらも内容は似ているので、解説の書き方やページの色など中身を見て自分がいいと思った方を使ってください。
この種類の参考書は似ている問題集が多いので買うときにはしっかりと確認をしてくださいね。
このどちらかの問題集が1冊あれば他に必要はないと思っています。
その分問題集をひらすら解く必要はありますが。
私自身試験直前はこの白い参考書を5周程度し、問題内容を理解して、ほとんどの問題に間違えないようになっていました。
そのおかげで当日も運悪く知らない問題ばかりでしたが、理解していたおかげでなんとか合格することができたと思っています。
学習時間
私自身Java Bronzeを2年前にとっているのでJavaの基礎知識がありました。
その前提として話を進めていきます。
まず期間は3か月ぐらいですね。
2月に受けたので、12月前後に学習を始めました。
最初の1か月はゆるく問題集を1,2周していました。
次の2ヵ月目は土日をがっつり使って問題集を2周しました。
平日は少しずつって感じでしたね。
この段階で問題集の内容が8割理解していました。
3か月目は苦手な問題を重点的に解きました。
またAPIについての問題も出るのでこの辺の暗記の復習も行いました。
時間換算すると、
12時間(12月)+40時間(1月)+20時間(2月) だったので
合計72時間ぐらいです。
ただし多くの時間を勉強すればいいということではなく、Javaをどれだけ理解しているかが重要になってきます。
そのためただ問題を解いていてもだめで、ひっかけ問題を見極められることと、似たような問題が出ても対応できる状態が望ましいです。
私の場合は72時間だったわけで皆さんはこれより多いかもしれないし、少ないかもしれません。
Javaを始めたばかりの方はさらに時間がかかるはずです。
対策と傾向
まず伝えておきたいことは、Javaを学習するにあたりオブジェクト指向を理解する必要があるということです。
Java Silverレベルになるとインスタンスや継承、static、publicなどが当たり前に使われます。
その上でエラーになるものを見つけたり、想定の動きになるもの適切に選択が必要です。
なので、この辺のオブジェクト指向周りの理解は必須と言えます。
実際に試験を受けて感想は、
StringとStringBuilderの違いを問う問題が結構多い!
StringとStringBuilderの問題は難しいと思っていたので重点的に学習していたので良かったのですが、
問題数も4,5問と多めに出ていました。
皆さんもStringとStringBuilderの違いはしっかり理解しておいた方がよさそうです。
どんな問題かと言うと、
String str1 = "Hello";
String str2 = "Hello";
String str3 = new String("Hello");
String str4 = str3.intern();
String str5 = str3.toString();
StringBuilder sb1 = new StringBuilder("Hello");
String str6 = sb1.toString();
この中で結果がfalseになるものを3つ選んでください。
- str1 == str2
- str1 == str3
- str3 == str4
- str2 == str4
- str3 == str5
- str1 == str6
答えは、2,3,6が正解です。
どうでしょうか。できましたか?
このように同じ文字列でも==で比較する問題や参照型の扱い方についての問題が出てきます。
私が試験を受けたときは結構多く出たと感じたので、しっかり理解していないとその分点数を落としてしまうことになるので注意しましょう。
資格取得で何が変わったか
Java Silverは取得しても何も特別なことはありませんが、
資格を取ってからJavaの技術力が上がったことを実感しました。
業務でJavaのコードを見たときに以前より何が書いてあるか読み取るのが簡単になりました。
またパッケージの関係性やクラスの親子関係など、今まで気にしていなかった場所まで意識が行くようになりました。
資格取得は気合いを入れて学習する必要がありますが、理解して進んでいくと必ずためになるので
すぐに諦めるのではなく卒選して資格を取得することをおすすめします。
以上で終わりです。最後まで読んで頂きありがとうございました。