Java SE 11(Java Silver)を受験した話

この記事は アイスタイル Advent Calendar 2021 16日目の記事です

こんにちは
istyle入社3年目のkuriyamayです
今年もアドベントカレンダーの時期がきたので楽しみながら書いていこうと思います:sparkles:

去年は kubernetes(k8s)を構築してデプロイやスケールで遊んでみた というインフラよりの記事を書きました
今年はどうしようかと考えていたのですが、先日Java Silver資格の受験をしたので勉強方法や受験当日に気をつけること等を書いていきます:sparkles:

これから受験を目指す人の参考になれば嬉しいです

目次


Java Silverとは

正式名称はOracle Certified Java Programmer, Silver SE 11です
2021年12月現在OracleのJava資格認定パスは3つあり、その中でも真ん中に位置する資格ですね
難易度はBronze < Silver < Goldです

  • Java Bronze
  • Java Silver SE 11
  • Java Gold SE 11

Oracleの公式にはこう書かれています

Oracle Certified Java Programmer, Silver SE 11 認定資格は、Javaアプリケーション開発に必要とされる基本的なプログラミング知識を有し、上級者の指導のもとで開発作業を行うことができる開発初心者向け資格です。日常的なプログラミング・スキルだけでなく、さまざまなプロジェクトで発生する状況への対応能力も評価することを目的としています。

開発初心者向け資格・・・
なるほど、Java歴5年以上ある僕にとってはきっと簡単な試験ですね(フラグ :innocent: )

Java Silver試験は試験時間180分、出題数80問の選択式、合格ラインは63%となっています

受験理由

ここ1, 2年くらいのJava開発がとても楽しくて、どうせなら基本的なところから勉強し直してついでに資格も取っちゃおうというのが理由です
個人的にJavaを書いてて楽しいと感じるポイントは下記ですね:sparkles:

  • Javaで書く関数型プログラミング
  • Stream/OptionalでCC(循環的複雑度)ほぼ0を実現
  • 型変数やPECS(Producer Extends Consumer Super)を扱った記述

具体的には下記のようなコードです
こちらはSpring JPAのCriteria APIを使った型安全なstaticメソッドでSQLを組み立てています

static <V extends StringValue<V>> Specification<DTO> match(String attribute, V condition) {
  return (root, query, criteriaBuilder) -> Optional.ofNullable(condition).map(StringValue::value).map(value -> criteriaBuilder.equal(root.get(attribute), value)).orElse(null);
}

static <V extends LongValue<V>> Specification<DTO> match(String attribute, V condition) {
  return (root, query, criteriaBuilder) -> Optional.ofNullable(condition).map(LongValue::value).map(value -> criteriaBuilder.equal(root.get(attribute), value)).orElse(null);
}

勉強方法

Java SE 11(Silver)の問題集が詰め込まれた通称黒本ですね
他に紫本と呼ばれる教材も有名ですが僕はこの黒本のみで勉強をしました:sparkles:

黒本の内容はこうなっています

第01章 簡単なJavaプログラムの作成
第02章 Javaの基本データ型と文字列操作
第03章 演算子と判定構造
第04章 制御構造
第05章 配列の操作
第06章 インスタンスとメソッド
第07章 クラスの継承、インタフェース、抽象クラス
第08章 関数型インタフェース、ラムダ式
第09章 API
第10章 例外処理
第11章 モジュールシステム
第12章 総仕上げ問題1
第13章 総仕上げ問題2

まずは第1章から第11章までを2週し、間違えた問題は解説を読み頭に入れていくような方法で勉強を進めていきます
この黒本は解説が丁寧で分かりやすいと有名なので一つずつ理解しながら進めることができました

ある程度頭に入ったら総仕上げ問題1/2に取り掛かります
総仕上げ問題の正解率はこんな感じになりました

総仕上げ問題1 総仕上げ問題2
1週目 85% 73%
2週目 94% 80%
3週目 99% 95%

2週目で「ヨシ!いける!」と判断し試験に申し込みました

受験当日

受験方法はオフラインを選択
テストセンターには15分ほど前に到着して下記の流れで受験しました

  1. 受付(写真撮影あり)後、荷物をロッカーに預ける
  2. 係の人からホワイトペーパーとペンを受け取り別室へ
  3. テストセンターのPCを使い受験開始
  4. 試験終了後にホワイトペーパーとペンを返却
  5. 預けた荷物を受け取り帰宅

Java Silver試験は4の試験終了時に結果が出るのでテスト終了ボタンを押すときが一番ドキドキしました

気をつけること

  • 15分前到着だと遅い
    • 受付が混んでると15分前でもけっこうギリギリ
    • テストセンター内で座って待てる場所もあるのでもっと早く行って落ち着く時間を作ればよかった
  • PCのフォントが慣れない
    • テストセンターPCのフォントに慣れるまで時間がかかった
  • 序盤に難しい問題がある
    • 特に1問目がかなり難しく心が折れそうになる
    • 15問解くのに30分かかり相当焦った(受験料も高い(¥32,000)のでプレッシャーも凄かった)

黒本の総仕上げ問題も1問目に難しい問題が置いてあるのできっとこういう風潮なんでしょう:scream:
中盤以降からは黒本で見慣れた問題も出てきたのでサクサク進めました

結果

そんなこんなあり、神頼み :pray: しながら終了ボタンを押しました
正解率は・・・
85%で見事合格でした:triumph:

間違えた問題は教えてもらえないのですがどんな項目が苦手かはこのように表示されます
(パッケージ宣言とインポート・・・そんなとこ間違えたのか)

数日するとオラクルユニバーシティから資格認定のメールが届き、オラクル認定資格のデジタルバッジが取得できるようになります

最後に

1日の勉強時間があまり取れず3ヶ月くらいかかっての受験でしたが無事に合格できてよかったです:laughing:

この勢いでJava Goldも・・・
と考えていたのですが、次はAWSのSAA(ソリューションアーキテクトアソシエイト)取得に向けて勉強を頑張っています

アイスタイル社内でもクラウド化がどんどん進んでいるので、僕もクラウド周りの知識の底上げをしてクラウド化に貢献していきたいです:eyes:

長くなりましたが最後まで読んで頂きありがとうございます
明日は新卒1年目のkudomaくんが担当します:clap:

ネコ好きエンジニア Docker/kubernetes勉強中 業務では主にJavaを書いています