📜  Ruby on Rails面试问题

📅  最后修改于: 2021-01-26 01:59:08             🧑  作者: Mango

Ruby on Rails面试问题

下面列出了最常见的Ruby on Rails面试问题和解答。

1)什么是Ruby on Rails?

Ruby on Rails是用Ruby语言编写的服务器端Web应用程序开发框架。与其他语言和框架相比,它可使您编写更少的代码。它包括根据MVC模式创建数据库支持的Web应用程序所需的一切。

2)Rails中DRY是什么意思?

DRY代表“ Don’t Repeat Yourself”软件开发的原则,其中指出:“每条知识都必须在系统中具有权威,明确,单一的表示形式。如果同一部分代码不会一次又一次重复,则此代码将更具可维护性,可扩展性。和更少的bug。

3)Ruby on rails的当前版本是什么?

Rails 5.0.1于2016年12月21日发布。它引入了Action cable,Turbolinks 5和API模式。

4)解释Rails中的CoC是什么?

DRY代表“Convention over Configuration”。它对在Web应用程序中执行许多操作的最佳方法提供了不同的建议。

5)谁开发了Rails?

Ruby on Rails由David Heinemeier Hansson(DHH)创建。

6)安装Ruby on Rails的三种方法是什么?

有三种安装Ruby on Rails的方法:

  • 使用rbenv(推荐)
  • 使用rvm
  • 源码安装

7)一些常见的Rails IDE或编辑器?

Ruby on Rails可以结合简单的文本编辑器或IDE结合使用。

下面列出了一些Rails IDE:

  • TextMate
  • Ë
  • Intellij IDEA
  • NetBeans
  • Eclipse
  • Heroku
  • Aptana Studio
  • RubyMine
  • Kuso IDE
  • Komodo
  • Redcar
  • Arcadia
  • Ice Coder

8)什么是Rails脚本?推荐几个常见的?

Rails提供了一些用于开发Rails应用程序的出色工具,这些工具基于命令行打包为脚本使用。

以下是Rails应用程序中使用的最有用的Rails脚本:

  • Rails Console
  • WEBrick Web Server
  • Generators
  • Migrarions

9)Ruby on Rails有什么缺点吗?

Ruby on rails不支持功能包括:

  • 链接到多个数据库。
  • 在数据库中包含外键。
  • 一次建立与各种数据库的连接。
  • 与Soap有关的Web服务。

10)Ruby on Rails中超级函数的用途是什么?

Ruby中的超级函数用于调用原始方法。它调用当前方法的超类实现。

11)Rails中的Active Record是什么?

一个完美的ORM将数据库相关的数据详细信息隐藏在对象层次结构的后面。在Rails中,ORM由Active Record实现,Active Record是Rails库中最关键的组件之一。

使用Active Record时,您不再需要像处理表、行或列一样处理数据库;您的应用程序仅需要处理类,属性和对象。

12)谁设计了Rails中的Active Record?

Active Record基于Martin Fowler设计模式创建的。仅通过这种设计模式,Active Record便获得了名称。少数几行代码也能很好地工作且容易使用。

如果在数据库和类中遵循正确的命名方案,则Active Record Rails应用程序根本不需要任何配置。

13)解释Rails中的model?

在Rails中,model是类。该子系统在ActiveRecord库中实现。该库提供了数据库表和操作数据库记录的Ruby程序代码之间的接口。

14)使用哪些命令创建迁移(migration)?

C:\ruby\application>ruby script/generate migration table_name

15) Explain the role of 'defined' operator.

The 'defined' operator is used to check whether the expression passed has been defined or not.


16) What is the purpose of the super call?

When we make a call to super, the parent method which has the same arguments as child one is invoked.


17) Write the syntax of each iterator.

The syntax of each iterator is