Upgrade to Java SE 7 Programmerを受験しました
JavaもJava7になってから言語仕様が追加されたりして、
昔に取ったJavaの資格も古くなってきた。
そんななかアップデートの試験が出来たので受験しようと思ったのが2年前(2012)の冬。
追加された言語仕様の部分だけを勉強して挑んで2013年2月に受験したものの見事に返り討ちにあった。
正解率: 55%
合格ライン: 60%
結果: 不合格
再受験に際し、今回の評価を参考にしてください。
次のレポートは、不正解だった項目をリストしています。
- アトミック変数とロックを使用する
- スレッドの潜在的な問題を識別する
- ディレクトリ・ツリーに再帰的にアクセスする
- ビジネス問題を解決するためにコンポジションを使用するタイミングと方法を識別する
- ファイルとディレクトリの属性を読み取り変更する
- 下線文字がある数値リテラルと2進リテラルを使用する
- 並列Fork/Joinフレームワークを使用する
- 例外処理で複数のcatchを使用する
- 各ロケールのリソース・バンドルを作成する
- ExecutorsとThreadPoolsを使用する
- JDBC 4.1のRowSetProvider、RowSetFactoryおよび新しいRowSetインタフェースを使用する
- JDBC APIについて説明する
- JDBCのPreparedStatementとCallableStatementを使用する
- JDBCを使用してデータベースに接続するために必要なJavaの文を識別する
- NumberFormatとDateFormatを使用してローカライズ用にテキストの書式を設定する
- Pathクラスを使用してファイルとディレクトリのパスを操作する
- PathMatcherクラスを使用してファイルを検索する
- WatchServiceを使用してディレクトリの変更を監視する
- java.util.concurrentコレクションを使用する
- switch文で文字列を使用する
それからしばらく仕事が忙しくもなり、仕事もJavaからC#(ASP.NET)が多くなってきて
勉強意欲が薄れてしまっていた。
それから1年半。今年に入ってJavaもまた触るようになってきて改めて受験しようと思い
勉強を始めた。
最初に受験した時に買っていた本だが、大して使っていなかった。
改めてみると、言語仕様は1章で済まされていて、今までの試験では触れられていなかった
デザインパターンやJDBC、並列処理や、Java7で追加されたNIOの内容が試験範囲になっていることがわかった。
- 第1章 言語の拡張
- 第2章 設計パターン
- 第3章 データベースアプリケーションとJDBC
- 第4章 並列処理
- 第5章 ローカライズ
- 第6章 JavaのファイルI/O (NIO.2)
設計パターンは、シングルトン、ファクトリ、コンポジション、DAOといったパターンと
継承、インタフェースといったポリモフィズムに関することが範囲。
改めて勉強して、今までの知識を整理する事が出来た。
JDBCは普段、iBATISとかO/Rマッパを使用していると分からないことで勉強になった。
JDBC3.0とJDBC4.0の違いに関しても出題される。
並列処理は、普段あまりスレッドを使うことが少ないので、苦手だ。
結局、試験でも問題をあまり自信もって答えられなかった。
ローカライズは普段使っていたので復習のような感じだった。
NIO.2は、Java7からのポイントな点でもあるので、興味を持って勉強出来た。
実際に今の仕事にもすぐに役立っている。
そんなこんなで受けた再受験は、無事合格する事が出来た。
正解率: 71%
合格ライン: 60%
結果: 合格
71%と合格ではあるが、結構低い点数だった。
実際、分からない問題も多く、対策本より難易度は高い気がします。
間違えたところはこんな感じ。
- スレッドの潜在的な問題を識別する
- ディレクトリ・ツリーに再帰的にアクセスする
- ビジネス問題を解決するためにコンポジションを使用するタイミングと方法を識別する
- ファクトリ・デザイン・パターンを使用するクラスを設計する
- ロケールが表すものを定義する
- 下線文字がある数値リテラルと2進リテラルを使用する
- 並列Fork/Joinフレームワークを使用する
- 問合せを送信してデータベースからの結果を読み取るための適切なJDBC APIを使用する
- ExecutorsとThreadPoolsを使用する
- Filesクラスを使用してファイルまたはディレクトリをチェック、削除、コピーまたは移動する
- JDBC 4.1のRowSetProvider、RowSetFactoryおよび新しいRowSetインタフェースを使用する
- JDBCのPreparedStatementとCallableStatementを使用する
- Pathクラスを使用してファイルとディレクトリのパスを操作する
- WatchServiceを使用してディレクトリの変更を監視する
何はともあれ、合格出来てよかった。