广告: http://hisea.me/p/ra-ruby-certificate-silver
考完之后给了张纸
早就听说过这个认证,因为 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 细节都记熟。
再就是,这个考试并不包含或包含很少下面的内容:
毕竟这只是 RA Ruby 认证的第一级,白银圣斗士的考试。
应该之后黄金跟白金圣斗士可能会考这些深一些的内容吧。
这两个考试目前还在开发当中。