4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RubyGold合格した...!!(3回目の受験)

4
Last updated at Posted at 2026-01-22

3回目のRubyGold受けてきました。

2回目の受験後の記事は以下です。

結果は、100点満点中76点!! 合格しました!!!

ボーダーラインは75点です。(.- -.)

今後、受験される方々のためにも、振り返っていこうと思います。

出題された内容

覚えている範囲で、出題された内容は以下です。

include,prependの探索経路

superを絡めて出題がされました。

こんな感じの問題でした
module M
    def foo
        super
        puts "M#foo"
    end
end

class A
    def foo
        puts "A#foo"
    end
end

class B < A
    def foo
        super
        puts "B#foo"
    end
    include M
end

B.new.foo

catchthrowの問題

catch :done, throw :done, [x, y, z]を選択する問題

正規表現の$0,$1,$2の問題

%r|(https://qiita(.*))| =~ "https://qiita.com"の場合に、$1$2が何を指しているかを選択する問題

refinementusingを選択させる問題

そのまんま。usingを選択する問題。

(1..Float::INFINITY).lazy.select{~~~}から、配列を取得するにはどう記述するか選ぶ問題

take(3).forcetake(3).to_aを選択させる問題

x, y, z = [1, 2]で、znilになる問題

なんと出力されるか選択する問題。x = 1, y = 2, z = nilが正解

例外処理

  • raiseに何も指定しなかった場合、なんのクラスを返すか
  • 例外処理でensure節が実行される
  • 全ての例外クラスのスーパークラスは何かを回答する問題

DateTimeクラスのオブジェクトで「+」「>>」かを選ばせる問題

+で日付を加算, >>で月を加算

Comparableモジュールの<=>演算子の挙動の問題

  • Comparableモジュールを使用するときは、includeを使用する
  • sortメソッドを実行しても破壊的な変更がされないため、順番が変わらない

fowardableモジュール

  • def_delegateの挙動
  • fowardableモジュールを使用するときは、extendを使用する

その他

  • Proc.newlambdaの違い
  • define_methodclass_evalinstance_eval選ばせる問題
    • eachfor...in...の違いも重要
  • C.fooのように、クラスメソッド(特異メソッド)を呼ぶことができる記述を選択させる問題
  • includeされた時に、def self.included; endが呼ばれる問題
  • filter_mapメソッドの挙動
  • roundメソッドの挙動

こんなところでしょうか...

私のRuby使用・勉強歴

  • 業務使用歴: 4年
  • 勉強歴
    • Ruby Silver取得: 2022年7月
    • Ruby Gold 受験:
      • 受験時期: 2024年3月(不合格: 68点)
      • どのくらい勉強したか: Rexのアベレージが80点前後になるくらいまで繰り返し解く
    • Ruby Gold 受験:
      • 受験時期: 2025年4月(不合格: 74点)
      • どのくらい勉強したか: Rexのアベレージが85点前後になるくらいまで繰り返し解く(どれだけやっても90点を超えることがなかった)
    • Ruby Gold 受験:
      • 受験時期: 2026年1月(合格: 76点)

今回はどうやって勉強した?

基本的な教材は今までとは変わっていません。

教材

以下の教材を使用して、対策を行いました。

  • Ruby技術者認定試験合格教本(バージョン3.0対応)

  • Githubに公開されていた練習問題

  • Rex

  • インターネット上に落ちている受験者の皆さんの記事
    ↓例↓

勉強期間

実際に今回の試験のために勉強を始めたのは2026年1月5日頃でしたので、実質2週間ってところです。

勉強方法

以下のように勉強をしました。

  1. Ruby技術者認定試験合格教本の模擬問題
    1. 最初に模擬問題を解き、自分の理解度を確認する
    2. 間違えた問題のコードをIRBやRubyスクリプトで実行して、動作を確認する
    3. 動作を確認して理解した上でもう一回模擬問題を解く
    4. 上記を繰り返す
  2. Githubに公開されていた練習問題
    1. とりあえず解く
    2. 間違えた問題のコードをIRBやRubyスクリプトで実行して、動作を確認する
    3. 動作を確認して理解した上でもう一回模擬問題を解く
    4. 上記を繰り返す
  3. Rex
    1. とりあえず解く
    2. 間違えた問題のコードをIRBやRubyスクリプトで実行して、動作を確認する
    3. 動作を確認して理解した上でもう一回模擬問題を解く
    4. 上記を繰り返す
  4. Rexの問題を覚えてちゃったなぁと感じてきたら、Ruby技術者認定試験合格教本の模擬問題とGithubに公開されていた練習問題を解く
  5. Ruby技術者認定試験合格教本Rubyで使える定数(ENVなど), Rubyコマンド実行時のオプション, オブジェクト指向, 標準添付ライブラリの章を読む
  6. ネット上のQiita記事やZenn記事を眺める

まとめ

不合格だった時と今回の理解度は明らかに違ったなぁと感じています。(点数には表れなかったですけど!)

Rexの問題にも、模範回答が間違っている問題が数問あるので、その間違いに気づくことができれば、力がついてきていると思っても良いんじゃないかなと思いました。

また、Qiita記事やZenn記事を眺めていると、ここ勉強できていない!という部分が出てくると思いますので、最後まで諦めずに記事から勉強漏れがないかを確認すると良いと思います。

以上

4
0
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?