rails口试碎碎念
rails面试碎碎念
面试继续面试
又有问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
面试继续面试
又有问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