Ruby面试题

Python014

Ruby面试题,第1张

下面是对 Rails Interview Questions 中的

Ruby 部分的解答:

从上面可以看出,其实Proc和lambda都是 Proc 对象。

首先我们来回答第一问:怎么通过某个字段来对对象数组排序?

假设我们有一个对象数组 @users ,我们需要让他对字段 name 排序,则我们可以:

如果是在 ActiveRecord 中,则我们只需:

下面列举我喜欢的几个常用的gems及它的可替代备选方案

首先我们说明一下递归(recursive)和迭代(iterative):

递归 :一个树结构,每个分支都探究到最远,发现无法继续走的时候往回走,每个节点只会访问一次。

迭代 :一个环结构,每次迭代都是一个圈,不会落掉其中的每一步,然后不断循环每个节点都会被循环访问。

由此我们可以看出 ruby 中更加常用的选择是 迭代 ,就像 .each , .times , .map 等都是迭代循环的形式。

ruby之父,松本行弘,日本人

于 2015-03-20

你根本没有进入ruby控制台,ruby要先运行ruby指令才进入ruby环境。

$,这是书本上表示的命令提示符。你要看一下书本上的前言或者第一章,一般书本在最开始会说明一下符号,字体格式代表的含义,你没有从头看起,漏掉了重要的提示信息。书本开头肯定告诉你$,表示命令提示符,这个字符不需要你输入的。

cd testsass已经成功了,你又用cd ..返回了,这是不对的。

touch style.css,要单独输入的,不要和cd命令混在一块。

你连基本的命令行概念都没有搞懂。

$是Linux的提示符,你用了Windows,估计后面很多问题,因为书本是以Linux为目标系统个来写的。

HashMap,HashSet,ArrayList都不具备线程安全

Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。