Ruby 白银 Ruby 程序员认证考试攻略

hisea · 2012年05月07日 · 最后由 psvr 回复于 2014年04月03日 · 7760 次阅读

广告: http://hisea.me/p/ra-ruby-certificate-silver

Ruby Association Certified Ruby Programmer Silver

考完之后给了张

ruby pass paper

前言

官方网站

早就听说过这个认证,因为 Ruby Association 在日本,一直以为考试很麻烦,直到看到了 ruby-china 上这个帖子,才发现原来 Prometric 负责考试。

网上之前已经很多人讨论认证值不值的问题,我个人没指望这个可以多涨工资,完全是出于对 Ruby 的兴趣,想看看考试的内容。

考试的价格是 150 美金,还能承受,去 Prometric 网站一看,我们家楼下就有考点,于是就报了名。

考试准备

考试之前,我有一个星期的时间准备。

我搜索了一下,关于这个考试的信息几乎没有,无论是学习资料,图书,或者介绍都很有限。

唯一找到的一点信息就是一位西语系的朋友的博客,说对 API 侧重比较多。

其他就是他们官方网站上的考试大纲,每个要点几乎只有一个单词,相当的笼统。

于是我基本上就是自己摸索着准备的这次考试。复习主要用的资料就是两个:

斧头书大体掠过一边,觉得这本书适合入门,不适合准本考试,细节程度不太够,而且有故事情节的长篇幅例程太多。

所以后来主要专注喜鹊书,喜鹊书的语言稍现生硬,不过都是红果果的 Ruby,适合准备考试用。

考试

考试形式是 50 道题,有单选也有多选,每个题都会告诉你有几个正确答案。

总共 100 分,75 分考过。

考试是完全 1.8.7 的内容,所以不要混淆了 1.9 的内容,尤其是有些 API 不一样了。

一共一个半小时,电脑答题,我选的是英文考题,不知道国内有什么语言可以选择。

时间够用,我大概 50 分钟做完,做完建议好好的检查一边,我做完因为时间还多,从头到尾又过了一边,发现了很多粗心的错误。

我整个做下来的感觉是并不简单,考点都是很基本的一些语法和 API,如果只是写 Rails 的话,很多东西还是会忽略。

如果有兴趣考这个认证的朋友一定要耐下心来把喜鹊书外加 API 好好看一遍。

总结

个人觉得这个考试并不是特别难,但是很容易就被轻视,如果你写过很多年的 Rails,可能考这个认证还是需要准备的。

如果你用 Ruby 写了多年的系统维护脚本,可能挑战就相对小一些了。

我个人觉得内容大概就是基本的语法,方法的定义,一些基本的程序流程的语句,这里要特别关注一下 rescue 和 ensure 的用法,除此之外,ruby 作为程序的流程,比如 exit,也要搞清楚,这些是写 Rails 接触不到的。

大量的 API 的细节,Array, Hash, String, Regex, File, Dir 都考到了,而且是很多很细节的东西,尤其是 File 的 IO 等相关的,写 Rails 相对较少用到。

API 的复习一定要细致到位,比如更改自身的方法与不更改自身的方法,很多时候并不是带!的才是修改自身的,例如 "string".concat() 不带!却会修改原来的 object。

另一个例子就是 Array.reject!Array.delete_if 虽然一个有!一个没有,但却是一个效果。

再就是一定要熟悉每一个方法的参数,返回值,是否修改 reciever.

比如"string".delete,可以传入多种参数,比如起始点加距离,或者是一个 index 的 range,还有一个是类似正则又不是正则的一种规则。

例如 "abcdefghijklmn".delete("^b-cf-h")

delete 返回是一个新的去掉参数所规定后的 string, 跟 delete 相比 slice 和 [] 在参数上类似,只不过返回的是参数规定去掉的那部分。

围绕这些这些方法的异同,可以出很多 tricky 的问题。

这夜是我感觉这个考试跟北美的考试风格相比一个最大的不同,北美的考试很容易蒙。

这个考试有很多的陷阱,要特别的小心,感觉可能日本人弄的考试跟中国考试风格类似,粗心大意的孩子很容易吃亏。

比如 5 * "abc" 跟 "abc" * 5 的区别,还有之前说的那些方法的异同。

总之最安全就是所有的 API 细节都记熟。

再就是,这个考试并不包含或包含很少下面的内容:

  • Metaprogramming 相关的概念
  • Class 跟 Module 的组织
  • OO 相关的一些概念
  • Rails 或者其他的 Gem

毕竟这只是 RA Ruby 认证的第一级,白银圣斗士的考试。

应该之后黄金跟白金圣斗士可能会考这些深一些的内容吧。

这两个考试目前还在开发当中。

没有 1.9 的?

暂时还没

匿名 #3 2012年05月07日

人在海外,是比较寂寞啊

匿名 #4 2012年05月07日

准备长期青铜。。

在这篇 blogRuby Certified Programmer里面写了些这个考试的心得,有兴趣的各位可以去看看

#3 楼 @sharp 呵呵不寂寞,一个考试而已,没耽误玩 Xbox

#4 楼 @jjym 青铜好,打不死的青铜。

#5 楼 @ywjno 我准备之前也看这个了,现有的信息实在是不多啊。

我也手痒痒,呵呵

是在日本考的吧?

@hisea 恭喜,炫耀一下啦。

要记那么多 API 的话,还要手册干嘛~~ 嘿嘿 :P

#8 楼 @hisea 白银不行啊,赶快去考黄金的去,白银的都是龙套啊

#9 楼 @vkill 考一个去吧,就算玩玩

#10 楼 @edokeh 没,在加拿大

#12 楼 @fredwu 有道理的,不过记住的过程又学到不少新东西。考完了我忘的差不多了,但是很多细节都有印象,再查手册对 API 有了新的理解了。

#13 楼 @willmouse 恩,还有黄金和白金的还在开发。。

呵呵。以考试为驱动去学习,目的是学习。方式是通过考试。

#19 楼 @suxu 对于我来说考试就是个过程,就像买本书看差不多。

#20 楼 @hisea

这帖子现在才看到。汗~

问下,国内有类似认证考试吗?看你介绍,貌似这种考试是我最擅长的..., 不考个证书真是亏。呵呵。

(这也许就是:做笔记的力量!我还真很自信,这个级别的考试我一次准过。)

有的,这个考试是通过 Prometric 考点考的,国内应该有。

#22 楼 @hisea

嗨,结果出来了没有?通过了吗?

#23 楼 @zw963 考完就有结果的,通过了阿,那个图片上不写的 90。

#24 楼 @hisea

哈~ 没注意。牛啊!我也想考,就是想证明一下自己。

@zw963 考去吧,不难的,稍微过一遍喜鹊书和 API。注意考试是 1.8.7 版本的。

谢谢@hisea 分享攻略

需要 登录 后方可回复, 如果你还没有账号请 注册新账号