Ruby技術者認定試験-Goldを受験したお話

連続でRubyです。
いきなりなんですが最近Ruby技術者認定試験Gold(Ruby Association Certified Ruby Programmer Gold version 2.1)を受験しました。
Rubyの資格ですがSilverとGoldがありGoldはSilverを取らないと認定されません。

Silverは2008年5月に合格していたので実に10年ぶりのRuby受験。

で、今回久しぶりに受けてみようということでGoldを受験しましたがSilver受験当時のプロメトリックIDがすでになくなっていたため新しく取りなおしました。

Rex
Ruby技術者認定試験【Gold】模擬問題

だいたいどのサイトもこの辺りの本とWEBで勉強した、とあるのでこの辺りをもとに勉強しましょう。
私はメタプログラミングRubyは読まずに受験しました。あとRuby公式資格教科書は初版本は記述の誤りが多いのでこちらの改訂版を利用しましょう。

でこれだけで終わると何なので受けたときに出てきた試験問題を覚えている限り出してみます。実は2回受けているので同じものもありました。
(記憶を頼りにしているのであくまでも参考程度で)

・yamlライブラリ
これはyamlライブラリを利用してファイルをどのように読むか?YAML.loadを問われたと思います。

・freeze
Rubyのfreezeメソッドの話、破壊的なメソッドを呼び出すとエラーだが、そうでない場合はエラーにならないので
そのあたりを注意

・コマンドライン引数によるオプション
-r、-lの意味を問われました。

・include、prepend
このあたりは必ずでます。

これでincludeの場合、prependの場合でどのような出力されるのかを問われます。

・Rubyのcase文
一致するかどうかはどのように判定されるか?
“===”が答え

・Comparableモジュールをincludeして比較演算子を追加する場合
これは”<=>”(UFO演算子)を定義する

・RubyのFiberクラス
Fiber#resume により子へコンテキストを切り替える
Fiber.yield により親へコンテキストを切り替える

・Date モジュールの>>
次を実行した場合どうなるか?

これは一月足し算になるので2001-03-03が正解。選択肢では2001-02-04だったり2001-01-03がありました。

・Class.superclass

これはそのまんまClassのスーパークラスは何か?正解はModule

・ブロック構文do~end
次のうちエラーになるのはどれか?

ブロック引数を{..}で囲む場合は引数の()を省略できません。do~endの場合は省略OK。
なので3つめがエラーになります。

・super構文
スーパークラスのメソッド呼び出し。下記の場合はどうなるか?

正解はエラーになります。superでの呼び出しではsuper()としないと引数なしとは認識されないのでそんなのはないとエラーに。

・虚数
下記のコードを実行した場合-1となるようにするには?には何が入るか?

選択肢は1i、1I、-1(あと一つ忘れた)こたえは1i。二回試験受けて同じ問題出ました。

・extend
これは単純に選択肢としてextendを選ぶ問題。ほかの選択肢にincludeがあった..かな?

?の部分を問う形。これがetend

・標準添付ライブラリ

この?の部分は何か?答えはopen-uri。資格本に同じような問題があったがrequireではなくopenの部分が問われていたので微妙に違った。
これも2回とも試験にでてました。

・継承したメソッドの呼び出し

これは親クラスのメソッドがprivateでも子クラスのメソッドは呼び出しできます。

・Objectに関数を追加して他の関数から呼び出し

上記を実行した場合どうなるか?これは特にエラーとならず”object”,”A”と表示されます。

・クラスのprivate、protected

かなり上記のコードは端折っていますが。
?の部分に入るのはprivate、protectedのどれ?というものこれでprivateだとエラーになります。

・全ての例外クラスのスーパークラスは?
Exception。選択肢にStandardError、やRuntimeErrorがありました。

rescueの例外クラスを省略した場合は
StandardErrorが補足される。選択肢にExceptionがありました。

あとは正規表現とか
だいたいこんな感じだったので参考になれば。

About the author

naito06

C++やったり、PythonやったりPHPだったり。

Add Comment

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

By naito06

最近の投稿

アーカイブ

カテゴリー

タグクラウド

コーポレートサイト