はじめに
Java SE 17 Programmer I (1Z0-825-JPN) 試験に合格し、Oracle Certified Java Programmer, Silver SE 17 認定資格を取得しました。
eCertificate

試験結果
73% と結構ギリギリでした。。。

動機
再就職活動を進めていたところ、Java の求人が多かったため取得を決めました。
ちょっと前までは「資格なんていらねえ! 腕っぷしで証明する!」なんて意気込んでいましたが、
年も行ってるのにスキルなしキャリアなしの人間をトラストするには資格くらいしかないなと最近思うようになりました。
Spring などのフレームワークの知識はないので即戦力にはなりませんが、
ないよりかはマシか、と思っています。
あと友人が(随分昔に)Java Gold を取得していることも刺激になっていますね。
勉強の進め方
参考書(白本)と問題集(黒本)を買いました。
学生時代に Java は競技プログラミング分野、または趣味で使っていたので余裕だろうと思い黒本を解き、分からないところを適宜参考書を参照する、Gemini に聞く、API doc など Web 検索して調べる、という方策で行きました。
横になりながらスマホでできる問題集も解きたいなあと思い、以下の Web サイトを利用していましたが、
問題範囲が異なっていたため 1 回限りでやめました。
正確な問題範囲から出題してもらうために、Gemini Notebook の AI Studio でクイズ、フラッシュカードを作ってもらいました。
ソースに用いるテキストは Gemini に作ってもらいました。
ソースに用いたテキスト:
【Java SE 17 Programmer I (1Z0-825-JPN) 公式出題範囲】 1. Java の概要と簡単なJavaプログラムの作成 - mainメソッドを持つ実行可能なJavaプログラムの作成 - コマンドラインでのJavaプログラムのコンパイルと実行 - パッケージの宣言とimport文の使用 2. Javaの基本データ型と文字列の操作 - 変数の宣言および初期化と変数のスコープ - ローカル変数型推論 (var) の使用 - 文字列の作成と操作 (String, StringBuilder, テキスト・ブロック) - 配列 (一次元配列、多次元配列) の宣言、インスタンス化、初期化および使用 - ArrayList の作成と操作 3. 演算子と制御構造 - 演算子の使用 (代入、算術、論理、三項演算子など) - 条件文 (if, if-else, switch文, switch式) - ループ文 (for, 拡張for, while, do-while, break, continue) 4. クラスの定義とインスタンスの使用 - Javaクラスの定義とインスタンス化、オブジェクトのライフサイクル - メソッドとコンストラクタの作成 - メソッドのオーバーロード - static変数とstaticメソッドの使用 - アクセス修飾子 (public, protected, private, package-private) - instanceof のパターン・マッチング 5. 継承とインタフェースの使用 - スーパークラスとサブクラスの作成と使用 (継承) - 抽象クラスの作成と継承 - メソッドのオーバーライド - 参照型のキャストとポリモーフィックなメソッド呼び出し - final クラスおよび final メンバーの作成と使用 - インタフェースの作成と実装 (デフォルト・メソッド、プライベート・メソッド含む) 6. 例外処理 - 例外処理の仕組みとチェック例外、非チェック例外、エラーの違い - try-catch 文による例外処理 - try-with-resources 文による例外処理 - カスタム例外の作成と使用 ※注意: Java SE 17 Silver の範囲には「モジュールシステム (module-info.java)」「Lambda式」「Stream API」「java.util.function」は含めないでください。
黒本は最初ボロボロでした。。。自信はあったのですが思ったより知識がなかったり処理を終えてなかったりで、落とす問題が多かったです。
また、sealed, record って何? ってなりました。
黒本は2周弱やりました。白本は開いても知ってるわい! という内容が多く、目が滑るばかりでした。
模擬試験をやった結果です。65%(60問中39問正答)が合格ラインです。
- 黒本模擬試験① - 7/15
- 39/60 = 65%
- 黒本模擬試験② - 7/17
- 44/60 = 73%
- 黒本模擬試験① - 7/26
- 46/60 = 76%
- 白本模擬試験① - 7/27
- 26/34 = 76%
試験
試験前
何とか忘れ物なく受付できました。ここが一番怖かった。。。
会場で英検と他の試験、みたいな感じで区分けされており、開場時に「英検の方お待たせしました〜」と案内があり、会場間違えたかと思い焦りましたが、恐る恐る入って「Javaの試験何ですけど、、、」と言ったら案内してもらえました。
入院中なので左手首に名前付きの巻物があるのですが、試験監督から外してくださいと言われたのでブチっとちぎりました。帰った後看護師に伝えても特に怒られることはありませんでした。Java Gold も受験する予定であることを伝えたら、そのままちぎったやつ持っていてください〜とのことでした。
自分は1日に4~6Lほど炭酸水を飲むので1時間おきくらいにトイレに行きたくなります。試験監督に伝えたら「どうしてもという場合は可能」とのことでした。
試験中
白本模擬試験のように、問題で提示されるコードが長く感じました。ちんたら解いていたら見直しの時間がなくなりそうだったので30分経過後あたりから急いで解きました。
全ての問題を解いて見直しをする頃には尿意が限界になったのでピンポンを鳴らし、「すみません"どうしても"トイレ行きたいです。。。」と行ってトイレに行かせてもらいました。
見直しはチェックを付けた問題程度で、全ての問題を見直すことはできませんでした。
試験後
終了ボタンを押すと、即点数が出されます。帰り際に白黒コピーの試験結果を渡してもらいます。
試験終了から 25 分経った後にオンラインでの確認が可能になりました(メールで案内が来ます)。
翌日、認定証が閲覧可能になりました(こちらもメールで案内が来ます)。
合格したのでご褒美に近くの二郎行っちゃうかあ〜と思って行ったのですが、
10分ほど歩いて着いたところでシャッターが閉まっており定休日であることを知りました。
しょんぼりしました(事前に確認せずに場所に向かうことが多いので気をつけたいです。。。)。
入院中はにんにくの摂取が禁止されているので、それを守れたので良かったとしましょう。
終わりに
言語の細かいところ、知らなかったところを勉強できてよかったです。
手続型のオブジェクト指向言語が使える、言語の細かいところまで網羅できる素養があることも証明できていたら嬉しいなと勉強していて思いました。
次は Java Gold 取得目指します。



