Ruby面试题

Python016

Ruby面试题,第1张

下面是对 Rails Interview Questions 中的

Ruby 部分的解答:

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

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

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

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

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

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

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

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

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

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

于 2015-03-20

个人感觉 只要你写出来的代码有Ruby的感觉 面试基本问题都不大了 做Rails的话 能比较全面的理解MVC 数据库 对于初学者就可以了 我记得我面试的时候 是有很多编程题 不是很困难但是要求一定要用一句话写出来 多一行都不行

/************************************************************************/

/*

编写程序从键盘上输入两个整数,检查第一个数是否能被第二个数整除

*/

/************************************************************************/

#include <stdio.h>

int main()

{

int num1 = 0

int num2 = 0

printf("输入第一个整数:")

scanf("%d",&num1)

printf("输入第二个整数:")

scanf("%d",&num2)

if (num1%num2 == 0)

{

printf("第一个数能够被第二个数整除.\n")

}

else

{

printf("第一个数不能够被第二个数整除.\n")

}

}

/************************************************************************/

/*

编写一个程序,输入某人的身高(cm)和体重(kg),按下式确定其体重是否

为标准、过胖或过瘦。(1)标准体重=身高-110;(2)超过标准体重5kg(即

大于5kg)为过胖;(3)低于标准体重5kg(即小于5kg)为过瘦

*/

/************************************************************************/

#include <stdio.h>

int main()

{

int num1 = 0

int num2 = 0

int num = 0

printf("输入身高(cm):")

scanf("%d",&num1)

printf("输入体重(kg):")

scanf("%d",&num2)

num = num1-num2-110

if (num >5)

{

printf("过胖.\n")

}

else if (num <5)

{

printf("过瘦.\n")

}

else

{

printf("标准.\n")

}

}

/************************************************************************/

/*

判断某一年是否是闰年:

*/

/************************************************************************/

#include<stdio.h>

int main()

{

int year = 0

printf ("请输入年份:")

scanf("%d",&year)

if ((year%4==0&&year%100!=0)||year%400==0)

{

printf("%d年是闰年\n",year)

}

else

{

printf("%d年不是闰年",year)

}

return 0

}

最后一个自己练练手吧。