分享 工作也旅行 - 跨洋远程面试

ichord · 2014年02月06日 · 最后由 angelfan 回复于 2016年11月25日 · 10649 次阅读
本帖已被设为精华帖!

工作也旅行 将会是一系列的文章的主题, 详情请看 http://ruby-china.org/topics/16944.


移动的工作 和这篇文章的人数是一样. 所以我选了这个比较简短的分享. 这其实是没有计划在主题里面的. 但我觉得是一次难得的经历, 所以也写出来和大家分享一下.

这次先来张照片

回顾

因为 At.js 项目我在旅行至黄山脚下时收到了来自美国一旧金山公司的工作邀请, 并在北京参加完 Ruby China Conf 后进行了面试. 而我面试的应该是 前端开发 的职位.

结果

很可惜, 我面试失败了. 这使我失落了那么一两天, 虽然我一开始就已没有抱太大的希望.
从黄山到北京参加完 Ruby Conf 后一共有 10 天时间. 但是我可以说没有做任何准备, 当时我只是觉得只是跟对方聊聊而已.
虽然我多次想直接放弃参加任何活动和去任何地方就准备好这次远程通话. 但是我没有那么做.

其实, 现在想想, 是自己没有好好把握这个突如其来的好机会.

过程

面试是在北京时间早上七点半开始的, 美国那边大概是下午四点半吧. 我们就找合适的时间还来回了几封邮件. 这里我暂称和我通话的人叫 Peter.
Peter 和我确定了时间后通过 Google Calendar 发送了 Skype 通话的 Event 邀请.

一开始 Peter 先简单的介绍了一下公司, 他们已有一个 UX 团队 (估计是正在组建). 然后就问我一些在邮件上问问过我的问题, 诸如我在哪里啊, 是否愿意来到美国工作之类的. 我当然回应能去的话那是再好不过的了. 在问完基本情况后, 接着他问了一个蠢人都知道怎么回答的问题, 而我却不假思索的答错了. 问题是这样的: 你是否可以现在就进行面试, 还是说再安排个时间呢?. 我想我之前是没有理解错的, 这次通话只是聊聊而已. 但是我马上回答: 可以啊, 现在就可以面试 (太 TMD 自信了.. = =).

"OK! Cool! So then I will give you a.......".

其实当时我隐约发觉我说错话了, Peter 马上就给我介绍接下来要怎么面试了. 我那时候已经开始慌了. 这是我接近两年来第一次比较正式的面试. 已经可以说我已经毫无面试经验了.

好. 和 Peter 先生一样, 废话少说, 切入正题. Peter 一开始便给了我一个连接, 进入一个网站, 里面有一道题目. Peter 会看着我做的任何修改. 以下是规则:

Peter 简单的跟我说了下那个网站怎么回事并告诉我不用理会里面的代码用的是什么语言, 按照我自己想的编写代码就可以了.

  1. 这里面有一段未完成的代码, 你需要尝试把它完成. 当然, 不必做完. 主要是看你怎么做.
  2. 有 5 分钟可以去 google 一下.
  3. 代码注释里面有详细规则, 有看不明白的话也可以问.
  4. 有 20 分钟.

好, 开始! 虽然跟真正面试的环境不太一样. 有兴趣的话你也可以试试看.

http://sketchpad.cc/6uj0ntkM46

不知道大家觉得 20 分钟会不会太少了? 我当时是刚搞明白里面怎么回事差不多就 20 分钟了. 一是当时慌张了, 现在根本回想不起来当时是怎么个状况, 就是一个乱字. 二是我竟然认识里面代码讲的内容, 花了过多的时间去 Google 了. 结果我这边半天没有什么动静, 没输入过什么东西. Peter 得知我刚开始比较紧张后, 还把时间调整到 50 分钟并安慰我说不用紧张, 这没什么大不了的啊. :)

过程中我还尝试去问了 Peter 两三个问题. Peter 也都仔细的回答了. 最后, 在我问是否可以 Google 一下解决方法后, Peter 决定终止面试了, 结论是: "你也许是个优秀的 js 开发者, 但是对面试考得这些内容不太行. 如果你有做好 interview 准备应该会好些...... "

然后就没有然后了.

总结

虽然失败了, 但我还是觉得这是很难得的经历. 总得收获些什么.

首先, 当然全程都是用英文交流的, 而且 Peter 不会在这方面有所照顾. 这方面就把我削弱了很多. 虽然 基本交流都没有问题, 但是我来不及考虑. 我的时间基本都花在理解 Peter 说的话和整个面试过程上了. 而且, 因为 Peter 的语速比较快, 以我的英语水平总会 丢失信息 . 最后慌乱起来. 一言蔽之, 交流不行.

然后, 我花了很多时间在阅读代码说明和代码上了, 而且因为我貌似认识里面代码讲的内容, 总想着去 Google 更具体的代码或者讲解. 其实注释里面已经说得很清楚了, 没有必要 google. 如此一来, 我便是左顾右盼, 没有关注到问题本身.

再者, 我已经长时间没有面试过了, 即使如此我还是没有做任何准备. 态度也是消极的, 因为我一开始就没有抱太大希望, 否认了自己. 认为这只是运气, 显得儿戏.

还有一个非常让我"痛心"的是, 我的前任 BOSS: @hayeah 用过差不多一样的题目去面试, 还跟我们提起过, 所以我认得里面代码的内容. 我记得他还叫我试试看. 但是我就是(TMD)没有去试试看.

讨论

我后来回想了几次整个面试的过程和题目, 觉得这里对于面试官来说也有不少可取之处.
我自己做了些内容扩展.

使用面试者不懂的语言

我觉得这个会挺有意思的, 当时我猜链接里面的代码是 C 语言. 心里还想着我不是面试前端吗?! 怎么还我用 C 语言解算法题啊!! 其实那不是 C 语言, 你猜到是什么了吗? 不要告诉面试者这是什么语言. 就如 Peter 跟我说的一样, 不要管, 照用就是了.

我认为这个的好处是可以看看对 新事物的适应能力, 还有学习能力. 另外, 看面试者是否可以排除干扰, 直接 关注到问题本身 . 当然, 这个要需要下面内容的配合.

看过程而非结果

20 分钟, 对于算法不在行的我来说, 光听着就够紧张的了. 但是我严重的忽略了一点, Peter 没有要求我把这道题完整的解出来, 他只是想看看我如何去解决这个问题. 看看我如何编写代码, 如何 去 书写表达. 所以他说我不必关心那里面用的是什么语言, 只管输出文字就好了.

而我的思维定势就是只有把题目给答出来了才是对的. 其实不然, 我只需要去 表达 想法就好了.

互动: 参与进来.

这个也许在英语面试里的作用显得更为明显. 参与到解题过程中去, 帮助解决问题. 就如 Peter 一样, 我不懂或者遇到困难的时候, 可以向他寻求帮助. 我觉得这里可以扩展一下, 更多的参与进来, 看看面试者如何与人交流和合作.

而我当时却选择去依赖 Google, 当然, 英语交流是个严重的障碍.

我觉得这个的好处就是, 能在一定程度上消除面试者的紧张感, 而不是感觉有个 "压力" 在盯着自己, 可以有更真实的发挥. 另外, 合作过, 才有更好和相对深入的了解.

结尾

这期的分享就结束了. 下一篇会接着讲 移动的工作 预计篇幅会比较长.

共收到 35 条回复

...起名叫C……和 C语言 混在一起读有点蛋疼……

诶,这个游戏好像railscasts-china上面,有人用ruby做过呢,似乎是个类似孢子的游戏

#1楼 @Kabie 哈哈哈. 我也觉得. 改掉了.

#4楼 @assyer 没错. 就是这个.

继续加精,谢谢 @ichord 分享,另外这个面试题不就是 Game of life 嘛?一道经典的 Programming Kata,我曾经跟一位 Agile 教练一起做过,还全程录制了下来。

这是 processing 啦,有 js 的写法,所以应该有准备的话不会太难的。

#8楼 @lgn21st 对啊. 这就是不看 railscast china 的下场.. 😄 回头再看一遍.

#7楼 @coderek cool 啊. 谢谢分享.

按照这些要求下来, 我是不行的了. 终究是能力不够啊.

@coderek cool 啊! 对 bind 函数有了解了. 这段跟 ruby 的 扁平作用域 有点像.

Function.prototype.bind = Function.prototype.bind || function(context){
  var self = this;

  return function(){
    return self.apply(context, arguments);
  };
}

javascript跟ruby一样,作用域是在define的时候确定。所以很多时候一个function需要从新bind context,最常见的例子就是mixin了。这么基本的道理我是最近才弄清楚。用了太多的framework很多基本的东西都被掩盖了。

看来我成不了一个标准程序员了

15楼 已删除

老外的面试方式很新颖也很实在,楼主不必气馁,你已经做的很好了。

#16楼 @tshi0912 谢谢. 我会继续努力的. :)

曾经面过fb,失败的原因和lz差不多,最大的问题是英语不过关导致的交流问题,面试官语速快有口音各种听不清楚,无法把脑子里想的表达出来,无法think aloud。长期不做面试演练导致各种手生也是问题之一。lz不必气馁,就像你自己说的,这是准备不足导致的。感谢lz分享。

这不是Game of life嘛,当时我还找了一份coffeescript的解法出来给howard作为参考,顺便也看了一份process版的

#20楼 @coolzilj 对啊.... 但是我没仔细看.

感谢分享经历,感觉这种面试让你用没接触过的东西,一慌张的话,估计就严重减分了

24楼 已删除

只会HTML的渣渣 想学RUBY 求高手推荐好的资料

现在国内也这样面试了

美国面试看中算法,新加坡面试看中设计模式。

来日本吧,做跳板,很多人来日本后跳槽去美企,然后过1年的就被送去美国了。在日本被送去美国的比较容易一点。

#29楼 @hlxwell 有没有具体的例子可以分享一下呢? 日本好多外派的,你应该是指正社员的那种吧?

#31楼 @hlxwell 非常感谢~

#7楼 @coderek 有个北京外企的机会,想问一下您考虑么?

无论是人在国外还是国内 Interview一定要准备 沟通很重要

但是好人不好招 我现在也在海外招人 招聘者的心态就是 如果你是对的 我不怕麻烦 跋山涉水也能帮你搞过来 来了之后 你就专心做事 其他的东西 不用你考虑。

谢谢, 给了我很多经验!

一份迟了两年多才看到的帖子 赞一个

ichord 工作也旅行 - 预告 中提及了此贴 12月03日 07:30
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册