はじめに
JavaSilverを取ったのは一年以上前ですが、なんとか合格できたので、備忘としても、記事にしたいと思います。
Java SE 11 Programmer II (1Z0-816-JPN) 試験
きっかけ
経験少ないエンジニアとして日々業務をしていますが、Javaくらいある程度わからんとあかんだろう!と思い、取得を目指しました。開発経験なし&Javaでの開発経験もゼロです。20代半ばです。経験1年半ぐらい。
(なんの特徴もないエンジニアで申し訳ない。。。。)
これを気に開発に関われたら嬉しいな~とか思ったり、笑
勉強方法
勉強方法は基本的にはいわゆる「黒本」、「青本」の問題をひたすら解いていました。
黒本
青本
ぷらすでオラクル公式のサンプル問題を解きました。
資格の種類がおそらく違いますが、問題が似ていたので3~4周ぐらいしました。
Java SE 8 Programmer II (1Z0-809) サンプル問題
Upgrade to Java SE 8 Programmer (1Z0-810)、Upgrade to Java SE 8 OCP (1Z0-813)サンプル問題
最後は仕上げにJavaの公式のドキュメントを見て、引数には何がはいるか、、、StreamApiでの戻り値はなにか、、、など覚えるようにしました。
勉強期間
だいたい3ヶ月ぐらい?
業務しつつ、休みの人土日に勉強していました。
平日は1時間~3時間。土日は6時間以上するように心がけていました。
Javaでの開発経験がないので、かなり時間がかかったほうですかね?
(早い人だとみなさんすぐ取っているような・・・)
対策
問題集の問題数から察せれると思いますが、StreamApiはマスターしておいたほうがいいです。
あとはラムダ式ですね。このあたりはJava8から追加された内容らしく、頻出問題です。
StreamApiは現場でもよく使いそうな便利な機能ですね。。。SteamApiはラムダ式の動きを理解できないと、なかなか難しいので、そこを抑えつつ、しっかり勉強すれば、合格できるかと思います!!
↓のページを見ていただくとよくわかりますが、
https://docs.oracle.com/javase/jp/8/docs/api/java/util/stream/Stream.html
Streamのメソッドの量が多く、これに加えIntStreamやDoubleStreamなんてのもでてきます。
(最初はなにがにやらわからない。。。getterなんて当たり前のようにでてきますし、getterってなによ~ってなり、そこから見直したり。。。みなさんからしたら常識ですよね^^;)
ちなみに公式にはこんな感じでかかれています
(Java SE 11 Programmer II (1Z0-816-JPN) 試験から引用)
■JavaストリームAPI
ストリーム・インタフェースとパイプラインについて説明する
ラムダ式とメソッド参照を使用する
■ストリームに対するラムダ演算
map、peekおよびflatMapメソッドを使用してストリーム・データを抽出する
findFirst、findAny、anyMatch、allMatchおよびnoneMatchメソッドによる検索を使用してストリーム・データを検索する
オプション・クラスを使用する
ストリームに対するcount、max、min、averageおよびsum演算を使用して計算を実行する
ラムダ式を使用してコレクションをソートする
ストリームに対してCollectorsを使用する(groupingByおよびpartitioningBy演算を含む)
Qiitaだと以下あたりは参考にしました。
みんな1年目でしゅごいよぉ~;;
終わりに
これで少しはJavaについての知識はマシになったかな?
実務が大事なので、そのあたりも頑張っていきたいです。
(早く開発案件にいれてくれ~!)