見出し画像

Ruby Silver受験レポート

エンジニア転職を目指して学習している はる と言います。
先日Ruby Silverの試験を受けてきました。
なんとか無事合格できて、受験料が無駄にならなくてほっとしました😮‍💨
褒められたやり方ではない部分も多いですが、今後受ける方のイメージになればと思い振り返っていきます。


なぜ受けたのか

スクールの受講生でRuby Silverを受けている方が居たので試験の存在を知り、せっかくRuby on Railsを学んでいるので、いつかは受けたいと思っていました。
Ruby Associationに確認したところ私のスクールも学割で半額になるということなので、卒業前のうちに申し込みをしてしまいました。(締切駆動🏃‍♀️)

学習時間・試験前の状況

トータル学習時間:約52時間

試験の申し込みをしたのは12月頭ぐらいで、アプリ開発を開始したところだったので、並行して学習しようと思っていましたが、無理でした。😂
先に試験の申し込みをしてしまっていたので、早足でアプリ開発を終わらせて、その後に学習をすることにしました。(3営業日前なら変更できたので実は一度1/18から1/30に延期しました🙃)

ギリギリで追い込んでなんとかなりました。(2日前までREx50点台、前日80点台)
詳しい学習の状況は後で記載します。

前提として、試験前の自分の知識は、
Railsでアプリを作ったが、RubyのメソッドはRailsでよく使うもの以外全然覚えていなかった、という状態でした。

試験当日の流れ

受付の締切時間は試験開始の15分前でした。
雪道だったため早めに着くように出発し、試験開始の40分前くらいに受付をしました✏️
受付後も待合所のような椅子が並んでいるところがあり、早めに着いてもそこでノートを見たり勉強できました。
会場にはプロメトリックの別の試験を受けてるであろう方が沢山いました。

試験会場への移動案内がされたのは試験開始10分前くらいで、
身分証明証、荷物入れロッカーの鍵、その他持ち込み可能なもの(ティッシュ、目薬など)だけ持って会場に入ります。
会場に入ったら、勝手に始めて良さそうな感じだったのでPCで試験開始をしてスタートしました。
あらかじめプロメトリックのサイトで試験の操作のデモを体験していましたが、それと全く同じ操作でした。
また、パソコンの前にメモ用紙とシャープペンがあらかじめ置いてあり、メモをとりながら回答できました。(メモ用紙とシャープペンは終わったら回収されます)

終了ボタンを押したらすぐ点数が見れました🖥️

当日の試験内容

試験結果:90点

学習内容の割に得点が取れたのではないかと思いますが、基本的に公式本の巻末の問題集や、過去問などのような基本に忠実な問題が多かったので、
問題の引きが良かった感じはしました🫢
(個人的にはRExの方が難しかったです)

試験中に自信がなくて「見返す」をつけていた問題は9個ありました。
その中でどの問題が間違っていたかはわかりませんが、覚えているものを、内容を少し改変して下記に記載します。

間違っていた問題

・下記はどういう出力になりますか

p a: 1, b: 2, c: 3
#=> {:a=>1, :b=>2, :c=>3}

・下記はどういう出力になりますか

a = [1,2,3,4,2]
p a.delete(2)
#=> 2

自信が無かったけど合っていた問題

・累乗の計算をするものはどれか
→ ** はわかっていたが、pow は覚えておらず自信が無かったが合っていた。

・下記のコードを実行したら何が起こるか

a = "hoge.txt"
a.delete_suffix!(".txt")
puts a
#=> hoge

→ ! の付いていないdelete_suffixが元々破壊的であれば、delete_suffix!が存在せずNomethoderrorになるかも、と思い自信が無かった。(選択欄に「エラーが起こる」があったため)
delete_suffixが非破壊で、delete_suffix!もちゃんと存在していたため合っていた。

実際の学習方法

褒められたやり方ではないと書きましたが、お恥ずかしながら
試験の学習前にしていたアプリ開発が楽しすぎた反動で、久しぶりの勉強!という感じの学習に乗り気になるまでに時間がかかりました🤤

やり始めてしまえば、いろんなメソッドの動きが理解できた時は面白かったです。数学の公式をたくさん覚えていくような感覚でした。
自分のせいなのですが、短期間で学習したため、以下のように学習しました。

1.どこまでがシルバーの範囲なのかを確認して、必要な部分だけ学習するようにしました。

2.今までプログラミング学習はNotionにまとめながら行っていたため、Ruby Silverも同様にやろうとしましたが、自分の場合は暗記は紙のノートが覚えやすかったです。汚い字で時間はかけず、要点だけまとめたノートは何度も見直しがしやすかったです。問題を解いて新たに知識が増えた時は、前に書いた近しい知識のページに書き足していました。

せっかく勉強したので、ノートに書いていた内容を下記のZennスクラップに少しずつ写しているところです📗

3.挙動が似ているメソッド、反対の動きをするメソッドなど、まとまりごとに覚えました。

4.混同しやすいところ(%記法・フォーマット文字列・正規表現で、それぞれsが何を指すか違うなど)に注意しました。

5.公式本の巻末の問題集と過去問は満点を取れるまでやりました。

6.公式の本はGoldの範囲も含まれているので通しで読むことはしませんでした。(辞書的に使用)

7.RExの問題を調べながら解いて、理解できていない概念やメソッドが出てきた時に、技術記事・公式リファレンスで学習しました。メソッドの挙動などは暗記より理解中心にしました。
また、paiza.ioで実際にコードを動かして出力を確認し、それでも理解できない時は、なぜこういう挙動になるのかをGPTも活用して理解しました。

8.ある程度覚えてきたら、REx1回分全部解いた後に、見直しで間違っていたところと自信のなかった問題の、全ての選択肢がそれぞれ、なぜ間違いでなぜ正解なのか、どうすれば正解になるのかを調べていました。
これを数回やりました。
沢山繰り返すよりも1回1回の見直しをしっかりする方が自分は覚えやすかったです。

9.Dir,File,IOクラスはどういう概念か理解できませんでしたが、問題を解く上で必要なところだけ覚えました。(それぞれに存在するメソッド、io.seekやio.reedの動き、ファイルを開くモード、など)
今後勉強していきたいです。

気をつけたこと

・知らない部分の知識の問題が出た時はしょうがないとして、1回でもやった知識で思い出せないことがないように気をつけて、取れるべきところで落とさないようにしました。
・基本を大事にしました。(ちゃんと理解できていれば捻った問題も考えて解けると信じて)
・試験当日は見直しをしっかりして凡ミスが無いように気をつけました。

見直しポイント

①正しいもの / 誤っているものを選びなさい の確認
②回答数の確認 全て選びなさい / 2つ選びなさい 等
③メソッドが破壊的か / 破壊的でないか の確認 ⭕️⭕️⭕️
④配列等のインデックス番号数え始めが[0]と[1]の間違いが無いか
⑤スコープの内外かでのひっかけ

さいごに

試験を受けるまではRailsでアプリを作っていながらもRubyについて自信が無かったですが、メソッドをたくさん理解できて勉強になり、受けて良かったです😊
お役に立てる内容かは微妙ですが、受けようか迷っている方が試験のイメージがつけば幸いです!

ここまで読んでいただきありがとうございました🙇



この記事が気に入ったらサポートをしてみませんか?