代码之家  ›  专栏  ›  技术社区  ›  Sarah Vessels

我应该具备哪些Ruby知识?[闭门]

  •  26
  • Sarah Vessels  · 技术社区  · 15 年前

    我刚刚发现了 what c# knowledge should I have? 问题和疑惑是一样的,但对Ruby来说。我认为Ruby是我最喜欢的编程语言,而且除了学习基础知识之外,至少我从许多Ruby on Rails项目和几个Ruby脚本中所学到的,我试着从阅读博客中学习。 Gluttonous , O'Reilly Ruby , Ola Bini Polishing Ruby . 我也读过类似的书 The Ruby Way

    do end ,他做到了。我是如何进行了大约3年的Ruby编程,并试图学习该语言而不学习闭包=代码块的?

    所以,我的问题是Ruby程序员应该具备哪些Ruby语言知识?作为Ruby职位的面试官,你希望我知道什么?只需列出一些主题,我将阅读它们。如果您认为有必要的话,列出RubyonRails、Rake、Rack等特定于Ruby的工具也很好。

    6 回复  |  直到 8 年前
        1
  •  60
  •   molf    15 年前

    这有点像是从我的头顶上发出来的;我肯定我错过了很多。除了这里提到的东西,当然,理解编程和面向对象编程是必须的。

    一些重要的语言功能:

    • 认识到在Ruby中, 一切都是一种表达 ,并能够应用该原则,即使您认为这会使您的代码不可读。
    • 闭包 被提及;我还希望Ruby开发者知道块和进程(以及lambda)之间的区别,并知道如何在它们之间转换。在我看来,掌握闭包对于能够写出漂亮的Ruby很重要。
    • 运算符重载 [] , []= , == , + << ,等等。
    • 精通大多数实例方法 大堆 , 可枚举 搞砸 collect , inject , join zip
    • 彻底了解什么 象征 是,以及何时应该使用/避免它们。
    • 明白什么 元类 类变量 类实例变量 .
    • 诀窍 在Ruby中工作,如何使用 attr_accessor 和朋友,以及你如何定义他们。
    • 会用 模块 ,两者均为 混入 作为 名称空间工具 . 您还应该了解如何混合实例方法
    • 知道两者的区别吗 升起/救援 投球/接球 ,并能正确使用两者。
    • 了解如何 元编程 工作,并且至少对所有允许您进行元编程(主要隐藏在类中)的方法有一个基本的了解 Module Object ).
    • 能够使用 Hash 方法参数 作为命名参数的替代品(即使只是因为它是一种常见模式)。
    • 诀窍 并发性
    • ,即使它们很少使用。

    一些重要工具:

    • 了解和理解 红宝石
    • .
    • 亚马尔 .

    一些框架知识:

    • 基本知识 轨道
    • 知道有吗 其他web框架 比铁路:梅尔布,西纳特拉,露营。。。

    最后,请记住,上述内容只是“知识”,而不是技能。如果你不熟悉的话,可能很容易理解其中的大部分内容。

        2
  •  15
  •   Yehuda Katz    15 年前

    The Ruby Programming Language

    我的一位老板曾经告诉我,一位他认识并信任的长期程序员曾经转向他,问他:“我忘了……一个字节有多少位?”这个故事的寓意并不是说这个家伙是个白痴——而是说,有时可能会长期编写一些有能力的代码,而忽略了其他人认为应该是基本的东西。

        3
  •  9
  •   Sarah Mei    15 年前

    在@molf的列表中,我要添加:

    -如何使用它们,以及如何编写它们。深入研究rake和capistrano的内部结构对于这一点非常有用。

    支架 -使用Ruby(尤其是与Python相比)开发web应用程序的一个关键优势。了解为什么它是一种优势,它是如何工作的,以及它通常是如何使用的。

    消息传递与函数调用 -Ruby相对于Java的另一个关键优势。使用 method_missing 以及它如何使ActiveRecord和DSL成为可能。

        4
  •  7
  •   Ben Hughes    15 年前

    闭包是关键(知道它们的作用域)、特征类(或元类或任何你想叫它们的东西)、混合(包括和扩展以及所有你能用它们做的愚蠢的把戏),元编程是我想到的特定于Ruby的东西。标准的OO和函数式编程技术也将是公平的游戏。

        5
  •  3
  •   Kathy Van Stone    15 年前

    听起来你在寻找一些一般的理论。我最近没有读过任何东西,但是一本关于编程语言原则的书可能会有所帮助(寻找一本同时讨论面向对象语言和函数语言的书)。

    此外,您还可以了解Rails或Rake的工作原理(而不是如何使用它)。这可能会帮助您更深入地了解Ruby的功能。

        6
  •  2
  •   Anil    12 年前

    我写了一篇关于ruby和rails面试问题的详细博客,这些问题是我在面试中遇到的。

    http://anilpunjabi.tumblr.com/post/25948339235/ruby-and-rails-interview-questions-and-answers

    希望你觉得它们有用!!!