読者です 読者をやめる 読者になる 読者になる

覚えたら書く

IT関係のデベロッパとして日々覚えたことを書き残したいです。 twitter: @yyoshikaw

Oracle Certified Java Programmer, Gold SE8

今年(2016年)、1Z0-813(Upgrade to Java SE 8 OCP (Java SE 6 and all prior versions))の試験を受けてJava6の資格をJava 8 のGoldにアップグレードしてみました。
同様の試験を受けようと考えている人も少なくないかなと思いますので、実際の試験がどんな傾向だったかをざっくりと書いてみます(ただし、細かい点はあまりよく覚えていません。。。)


試験概要

  • 試験番号:1Z0-813
  • 試験時間:130分
  • 出題数:60問
  • 試験形式:多肢選択式
  • 受験料:26,600円

試験範囲

  • アップグレード試験のため、Javaの基本文法に関わるような試験問題は基本的にありません
  • Java6以前の範囲についての試験問題もほぼ出ません
  • 基本的に、Java7やJava8から新しく導入された仕様等が出題範囲です
  • ただし、一部Concurrency Utilitiesについても出題されます

主に以下の内容が出題されました

  • ラムダ式
  • Stream API
  • Functional Interface
  • 新しく追加されたCollectionの操作
  • Java8からのinterfaceの仕様変更(defalutメソッド等)
  • Optional
  • メソッド参照
  • JSR-310
  • NIO.2
  • try-with-resources構文
  • 例外のマルチキャッチ
  • Java7からのダイヤモンド演算子
  • Java7のswitch文に関する変更点
  • Fork/Join Framework(の概念)
  • Concurrency Utilities
  • Localization


試験問題(ざっくりと)

  • Stream API
    • 文字列のListを渡して、最終的にどういう値が出力されるかというパターンの問題が多かったかも
    • 終端操作のメソッド実行により、どのタイミングでストリームの処理が打ち切られてしまうのか?というのを把握しておかないといけないかもしれない
    • 並列ストリームが絡んだ問題が2問ぐらいはあったかも
  • Java8からのinterfaceの仕様変更
    • defaultメソッドとstaticメソッドを配置した複数のインターフェースを実装した場合の振る舞い
  • Optional
    • Optionalの動きについては、がっつり把握しておいた方がいいかもしれない
  • JSR-310
    • Instantクラス
    • ZonedDateTimeクラス
    • サマータイムと絡めたときの問題が出た
  • NIO.2
    • Files, Path
    • FileVisitorを使ったディレクトリやファイルの走査
  • try-with-resources
    • tryでリソース確保中に例外がスローされた場合に、どうなるのか
    • try-with-resourcesで自動的にクローズされるリソースのクラスをどう記述すれば良いか
  • 例外のマルチキャッチ
    • 例外に継承関係があった場合に、マルチキャッチへの記述がどうなるか
  • Fork/Join Framework
    • Fork/Join Frameworkは、どうやって対象のタスクをこなすのかのざっくりとした概念
  • ダイヤモンド演算子
    • valueがList型のMapをどう記述するか
  • switch文
    • switch文の式にStringを指定した場合の振る舞い
  • Concurrency Utilities
    • ExecutorService, Executor, Runnable, Callable, Future あたり
  • Localization
    • アプリを国際化対応させるときにアプリのどの部分を対応させるべきか
    • Locale関連

試験問題についての補足

  • Java8で増えた仕様についての問題数の方が多かったように思います
  • (1Z0-813を受けるような人なら分かっていると思いますが、)とにかく重箱の隅をつつくような問題が大多数です。そんなプログラムの書き方しねーよ!という試験問題も多い・・・
  • Fork/Join Frameworkについては1問しか出題されなかった
  • 答えを1つに絞るタイプの問題は割とましだが、答えを2つ選択するタイプの問題に悩まされました(個人的に)

試験対策

  • 試験範囲のAPIについて細かな部分までよっぽど把握した人でなければ、試験対策しないと合格しにくいように思います。まともな問題はほとんど出ないので・・
  • 私が受験したタイミングでは出版されていなかったJava8 Gold対策用の本も出ているので、それを読むのも参考になるのかもしれません

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

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