【Java】Java Silver合格体験談

## はじめに
このカレンダーで掲げているJava Silver合格を無事達成することができた。合格にあたり、これまでに勉強方法、簡単な試験の所感についてお伝えしていきたい。

## テスト結果は？
結論からお伝えすると90%でした。個人的にはもともと80%を目標に掲げていたこともあり、かなり高得点を取れたのではと自負している。試験では一筋縄でいかない問題もちらほらあったが、全く所見という問題はなかった。少なくとも以下の記載内容が皆さんの参考になれば幸いだ。

## 勉強時間
約110時間くらい。Javaは以前少し勉強していたこともあり、インプットにはそこまで時間をかけなかった。
割合としては大体以下の感じ。

|  | 割合 |
| ---- | ---- |
| インプット | 20% |
| アウトプット | 80% |

## 具体的な勉強の仕方
### インプット
**UdemyでJavaの基礎や構文について学ぶ**
基礎的なところからオブジェクト指向まで網羅しているので、実際に手を動かしながら視聴すると良し。基礎の初めの方は変数や型についてなので、分かる人は飛ばしてもOK。
https://www.udemy.com/course/uz-java-kiso/
https://www.udemy.com/course/uz-java-obj/

**紫本で演習を挟みつつ、一通り目を通す**
既にインプットは完了しているので、本当にさらっと。足りないところや苦手があれば補う感じで。
https://www.amazon.co.jp/%E3%82%AA%E3%83%A9%E3%82%AF%E3%83%AB%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC%E6%95%99%E7%A7%91%E6%9B%B8-Java%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E-Silver-SE11%EF%BC%88%E8%A9%A6%E9%A8%93%E7%95%AA%E5%8F%B71Z0-815%EF%BC%89-%E5%B1%B1%E6%9C%AC/dp/4798162043

### アウトプット
**紫本の演習問題を実施**
まず始めに各章の演習問題を3周実施。その後に模擬試験も3周実施。
間違えた問題を控えておいて、都度見直すようにしていた。模擬試験は初め合格点ギリギリだったが、最終的に90%後半まで取れるようになった。

**黒本の演習問題を実施**
こちらも同様に始めに各章の演習問題を3周実施。その後に模擬試験も3周実施。
間違えた問題を控えておいて、都度見直すようにしていた。模擬試験は初め合格点ギリギリだったが、最終的に90%後半まで取れるようになった。

**記事化する**
上記の演習問題で特に自分の苦手なところを、Qiitaに記事をあげる想定(または人に教える想定でもok)で自分の言葉でまとめるようにした。その結果、かなり理解度が高まり、苦手な分野も点数を取れるようになったと考えている。もし何度も問題を解いても毎回間違えるようであれば、以下の方法を実践すると良いかも。

①**まず自分の苦手を把握する**
自分の場合は継承・実装・モジュールの辺りが特に苦手で、ここは何度も間違えてしまった。また頭では分かっていても、いざ問題を解くとアクセス修飾子やstatic修飾子を見落とし、答えを間違えてしまうこともあった。
このように、自分がどの分野で間違えやすいか、どのような間違いをするのか把握すると良い。

②**苦手についてインプットを行う**
紫本や上記のudemy、また演習問題の解説を読んでインプットを行う。この時手を動かしてメモを取ったり、実際にコードを書くと良い

③**苦手についてアウトプットを行う**
実際に人に教えられれば良いが、それはなかなか難しい。なのでQiita記事を書く想定で文章+コードでアウトプットを行おう。文字だけだとイメージしにくいところは、パワポなどで簡単な図を作ることもお勧め。イメージができるようになったら、言語化できるところまで落とし込みたい。

④**自分の言葉で説明できるまで落とし込めたら、再度間違えた問題を解く**
③まで来たらかなり理解度は上がっているはず。この時点で間違えた問題に向き合い、できればどうしてこの答えになるのか、口に出しながら解くと良い。


## ラーニングピラミッドに基づいた学習
上記の言語化を行ったことで、個人的にもかなり理解度が上がったと感じた。その理由は以下のラーニングピラミッドにある(画像は参照URLから拝借)。
本を読むだけだと学習定着率は10%のみである。これを他の人に教えるという工程を実施することで、90%まで引き上げることが可能になる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2521217/da3ce5fd-372e-4daf-ea2c-dee55d5f135e.png)

### 参照
https://career-ed-lab.mynavi.jp/career-column/707/

## 試験を解いた時の所感
黒本やどこかで見たことのある問題だなーというのが50%程度かそれ以上あったかなという感じ。後はこれまで解いてきた問題の類似問題がちらほら。
最初の5問が少し難しめだったので、そこでペースを崩されそうになった。ただ時間は180分あるし、基本黒本などで見たことある問題だから、焦らずに解くのがベスト。

結構どの分野もバランスよく出題されていたと記憶している。だから捨て問など作るのではなく、どの分野も点数を取れるようにしておくことが望ましい。

## 試験時の心構え的な
### 早めに会場についておこう
今回は会場で受験をしたが、休日だったからか意外と他の人もいる。あまりギリギリに到着すると心理的にも焦りが生じるので、余裕をもって到着しておこう。

### 用紙は交換できるからケチらずに使おう
Java Silverでは紙とペンを貸してもらえる。自分は結構紙を使って問題を整理しながら解くタイプなので、とにかく紙の余白が無くなるのが早い。ただ紙は交換してもらえるので、ケチらずに使って問題を解こう。

### リラックスして受験しよう
試験となると緊張しがちだが(自分もそう)、普通の受験と異なり人と人の間にパーティションがあるため、少し姿勢を崩したりしても見られることは無い(あまり変な姿勢だと防犯カメラもあるので要注意)。軽く伸びをしたり、深呼吸をしてリラックスして試験に臨もう。

## 最後に
1ヶ月間Java Silverの勉強という名目でアドベントカレンダーを実施した。
途中から書くことが無くなってしまったので、以前勉強したJDBCなどについても載せてみた。少しでもJavaやJDBCに興味が出てくれれば幸いだ。

ちなみに来年の目標は今のところ以下の通り
* AWS SAA取得
* AWS SOA取得
* 他にもAWSのアソシエイト系取ろうかな
* Java Gold取得
* 基本情報技術者試験取得しようかな(未だに取得していない)

これからも自走し続け、エンジニアとしてどんどんレベルアップしていきたい、引き続き頑張ります。
結構時間の無い中執筆していたので、文章的に見苦しいところもあったかも。読んでくださった皆さんありがとうございました。
ではメリークリスマス！＆よいお年を！