欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

rails面试碎碎念

程序员文章站 2022-05-19 23:23:42
...
面试继续面试

又有问ruby multiple inheritage,和怎么给类加方法,怎么给实例加方法还有怎么singleton
extend include mudule

call back 话说,call back从8个变7个了,create 2个,save 2个 ,2 个validation 一个commit

还有个问郁闷的,什么是rails,什么是activerecord....

http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html

http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html

http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html

以前多少看过一点rails 代码,但当时就是卡住了,没有说出来activerecord有啥

还有,很多人关心你是不是熟悉,rails部署,反向代理

很多人关心,scaling,这个可以参考new relic出的系列casts

http://railslab.newrelic.com/scaling-rails我这个也比较弱,需要学习

还有个很热的面试问题
database sharding

我自己整理个

ORM优点缺点钱

来来抄一段,给链接
引用

优势:ORM自其概念被提出,就得到了无数的响应,花样繁多的应用框架更是应接不暇。可见,他是有其独到的优势的。那么他的优势有哪些那:

首先,ORM最大的优势。
        隐藏了数据访问细节,“封闭”的通用数据库交互,ORM的核心。他使得我们的通用数据库交互变得简单易行,并且完全不用考虑该死的SQL语句。快速开发,由此而来。

第二:ORM使我们构造固化数据结构变得简单易行。
         在ORM年表的史前时代,我们需要将我们的对象模型转化为一条一条的SQL语句,通过直连或是DB helper在关系数据库构造我们的数据库体系。而现在,基本上所有的ORM框架都提供了通过对象模型构造关系数据库结构的功能。这,相当不错。

缺点:
第一:
        无可避免的,自动化意味着映射和关联管理,代价是牺牲性能(早期,这是所有不喜欢ORM人的共同点)。现在的各种ORM框架都在尝试使用各种方法来减轻这块(LazyLoad,Cache),效果还是很显著的。

第二:
         面向对象的查询语言(X-QL)作为一种数据库与对象之间的过渡,虽然隐藏了数据层面的业务抽象,但并不能完全的屏蔽掉数据库层的设计,并且无疑将增加学习成本.

第三:
         对于复杂查询,ORM仍然力不从心。虽然可以实现,但是不值的。视图可以解决大部分calculated column,case ,group,having,order by, exists,但是查询条件(a and b and not c and (d or d))。。。。。。


http://www.cnblogs.com/trisaeyes/archive/2007/01/08/614996.html

相关标签: orm activerecord