昨夜、会社から帰宅後ベッドでゴロゴロしていたんですが、新着メール一覧を眺めていたら先日受験した「Javaプログラミング認定試験2級の合否結果」というメールが入っていました。
もちろん気になったのですぐに「サーティファイ」の会員サイトから結果を確認しにいきました。
合格しているという確信は持っていましたが、
それでも結果を知るまでの直前の緊張感というのは大きいですよね。
試験の結果は無事「合格」でした!
練習で受けた試験なので、さすがに落とすわけにもいきませんでしたので、一安心です。
合否結果が発表されて数日後に合格していたら「認定証」が発送されるそうなので近日中に家に届くことでしょう。ただその間、私は3日間ほど東京出張で不在でした。認定証を受け取るのは少しあとになってしまいます。
認定証が自宅に届いた
出張から帰宅してみると、サーティファイから郵便物が・・!?
こうして手に取ってみるとやっぱり嬉しいですよね。達成感のようなものを感じます。
でもちょっと小さいような・・・。イメージしていたのはB5サイズくらいでしたが、実際届いたのはB5を3つ折りにしたサイズです・・・。
デザインは今まで受けた試験の認定証よりは若干豪華ですが。ちなみに級関係なく、認定証の大きさは同じです。ただ1級や上級試験に合格すると「ハイライセンスシール」なるものが配られるようです。何気に欲しかったり・・・。
Java1級のシール欲しいけど、仕様書や設計書が含まれる試験内容なので受ける気がしない・・・。ただサーティファイの試験は受験料が安いし、試験会場そこそこ近いから、他の試験で上位資格狙ってみようかなとも思っていたりします。
試験結果は?正答率と今回の反省!
合格はできたものの個人的にはあまり満足のいく結果にはなりませんでした。
というのも満点合格するつもりで試験に臨みましたが、正答率は約8割という結果に・・・。
失点の主な原因は、以下の通りです。
- 「普通こんなことやらねえよ」というコーディング問題が数問
- ビットのシフト演算の問題
- 簡単な問題でケアレスミスしてた
「普通こんなことやらねえよ」というコーディング問題
つまるところ、普通こんな変なコーディングしねええよ!という問題が数問出てきて、その処理結果が予測できなかったところがありました。
例えば、try-catch文のcatchに「Object o」を指定したらどうなるか、という問題。
ObjectはJavaのすべてのクラスに於いて暗黙的なスーパークラスとなるわけだから、コンパイルエラーにはならないと安易に判断してしまいました。でもよくよく考えたら例外クラスってThrowableクラスを拡張させているので、実装クラスに対してThrowableクラスを拡張しないといけません。Obejectクラスの親は・・・!?
Throwableクラスの仕様さえ知っていれば解くことができたのでしょうね。まだまだJavaの知識未熟なのかも・・・。
でもObjectクラスをcatchになんか指定する意味ないやろ。
ビットのシフト演算の問題
そもそもビットのシフト演算の存在すら忘れていたという。
試験でシフト演算が登場した時にJavaにもこんな範囲あったなと思わず懐かしんでしまったくらいです。正の数の場合のシフト演算なら普通にわかっていましたが、負の数ってどうやるんだったっけ・・?
となってしまい失点。
あとあと学習し直しましたが、負の数の場合は符号ビット以外を反転させるんでした。その状態でシフトした結果を導けばよかったということでした。
言い訳になってしまいますが、業務で全く使わないし忘れていても仕方ないよね・・・。ゲームプログラミングなどだったら使うんでしょうが、業務システムで使う例はかなり少ないと思う・・。
使うとしたらアルゴリズムくらい?
簡単な問題でケアレスミスしてた
もうどんな問題だったかははっきりとまでは覚えていないですが、問題の項番をみれば簡単だったか難しかったか判断できるくらいは覚えています。
他にケアレスミスで失点していたところが、その簡単だった問題の項番だった。
問題冊子を持って帰れないという試験形式なので、今さらどんな問題だったのかまでが分からないのがつらい。
記号書き間違えたとかかな?それとも・・・。
試験結果の反省
試験で出題された分野の問題についてはある程度把握しているものでしたが、業務で使っていない部分や今まで試したことのないコーディング手法などあり、網羅することに至りませんでした。
受験前までは「2級」だし、業務で普段からJavaやってるから余裕だろう、と慢心していた気持ちが今回、仇となったように思います。満点合格を狙って受験したものの目標に及ばなかったのはこうした布石があったに違いありません。
実際、試験内容は個人的には簡単に感じましたが、油断すると失点が多くなってしまうことを痛感しました。
元々は今年受験予定のOracleの「Java SE8 Silver」の練習ということで受けたのですが、Javaですっかり忘れていた範囲、あまり特化して学習していない範囲など、自分の弱点がある程度見えたと思っています。
そういう意味でも今回の試験におかげで自分の弱点に少しだけ気づけたとことでしょう。
Java SE8 Silverは引っかけ問題盛りだくさんなので、今回の反省を踏まえて合格を目指し対策していきたいですね。
試験の難易度と総評
普段から業務システムでJava開発に携わっている方なら「2級」については十分合格できる範囲だと思いました。試験問題はすべて選択式で、2~5択なのでかなり楽です。それにひっかけ問題という問題も特にありません。
Javaの資格試験の中では簡単な部類に入るだろうけど、やはりJavaを覚えたての方にとっては少々難しいかもしれません。受験されている方も学生さんが多い印象で腕試しとして使える資格試験のように思いました。
もし私が学生時代にこの試験に挑戦していたら、少々苦戦するかもしれません。
将来Javaがメインになる方は試しに挑戦されてみてはどうでしょうか?