Skip to content

Instantly share code, notes, and snippets.

View zhangsu's full-sized avatar

Su Zhang (張甦) zhangsu

  • University of Waterloo
  • /Waterloo|Toronto|SF Bay Area/
View GitHub Profile
@zhangsu
zhangsu / caller_binding.rb
Created September 26, 2011 01:26
Retrieve caller's binding without extension.
class Binding
@@call_binding_stack = [ nil, TOPLEVEL_BINDING ]
class << self
def caller_binding
@@call_binding_stack[-2]
end
def push_caller_binding(binding)
@@call_binding_stack.push(binding)
end
def pop_caller_binding
## Square
一个在 TC 进行的一小时面对面面试,过关后择日 Skype 面试。
### 感受
原本是最想去的公司,因为他们有大量的服务是用 Ruby 写的,只可惜第一个 Skype 面试弄砸了,甚至连还有木有后续面试都不知道 T T 最傻的是居然栽在了反转单词这种问题上 o_o 当时思路十分不清晰,调试 OBOE 时大脑一片空白 T T 后来又有其他公司问同样的问题,很轻鬆的就做出来了 = =
有趣的是 Square 内部有「Ruby is bad」这样的文化,理由当然还是因为 Ruby 服务器的吞吐量-代价比较低,所以 Square 的性能关键的、对吞吐量十分敏感的服务都是用 Java 写的,但需要高度可维护性以及开发效率的服务都是 Ruby 服务。面试官也是一个 Rubist,他说公司可以儘量安排 Ruby 的任务给我,但由于技术栈的特性他们不能保证我永远不需要碰其它语言。