Twitter实习第一轮电面总结# JobHunting - 待字闺中
l*p
1 楼
面试前做功课,发现面试官是一个老墨,从GA的一个不知名的大学本科刚毕业,去年夏
天才加入twitter,心想这样的面试官应该好应付
开门见山第一个问题:你为什么要来Twitter
然后开始coding
1. fibonacci。我跟他说这是递归的一个经典案例,然后开始用最简单的递归写。写完
后自己检查一遍,然后跟他说这是最简单的实现方式,但是这个方式有严重的性能问题
,可以用动态规划方法优化。他可能对动态规划这个名字觉得太深奥,然后自己提出说
能不能用cache来优化,我心想这不就是动态规划的实质吗?于是我按他说的重新实现
了一遍。然后分析原来的性能是O(2^N),优化后的性能是O(n)(单次调用)或接近O(1)
(多次调用)
2. 合并N个长度为k的有序数组。写完后一边检查,我一边跟他说要是平时我会写一个
unit test来测试。然后他提出让我写一个unit test。我说那我就用JUnit写,但由于
环境限制,我先不管那些导入各个包,定义类等,直接写方法。他说没关系,然后我就
写了
3. 问我有没有Unix的经验,我说Unix用得比较少,Linux比较多。我平常用的操作系统就是
Linux。然后他问我kill命令是干什么,我说结束一个进程的。接着问kill -7是什么意思,我说
我只用过kill -9,那个可以迅速结束一个进程,至于那个数字,我猜是urgent的程度吧
到这边就超时了,不过最后他还问我有什么问题。我把事先准备好的问题提出来:
Twitter到最后是不是想彻底放弃Ruby On Rails?他说这问题问得好,然后解释说ROR
性能比较成问题,所以他们现在慢慢转向JVM的一些语言,但是做为部署用的脚本还是
用Ruby写的,他自己的主要责任就是部署。然后我问他现在是用Capistrano吗?他说不
是,用他们自己实现的东西。然后急急忙忙说他得走了,就把电话挂了
没想到Twitter的第一轮电话面试会这么简单,估计是逐步递增吧。不像Google的电面
,三次难度都差不多
天才加入twitter,心想这样的面试官应该好应付
开门见山第一个问题:你为什么要来Twitter
然后开始coding
1. fibonacci。我跟他说这是递归的一个经典案例,然后开始用最简单的递归写。写完
后自己检查一遍,然后跟他说这是最简单的实现方式,但是这个方式有严重的性能问题
,可以用动态规划方法优化。他可能对动态规划这个名字觉得太深奥,然后自己提出说
能不能用cache来优化,我心想这不就是动态规划的实质吗?于是我按他说的重新实现
了一遍。然后分析原来的性能是O(2^N),优化后的性能是O(n)(单次调用)或接近O(1)
(多次调用)
2. 合并N个长度为k的有序数组。写完后一边检查,我一边跟他说要是平时我会写一个
unit test来测试。然后他提出让我写一个unit test。我说那我就用JUnit写,但由于
环境限制,我先不管那些导入各个包,定义类等,直接写方法。他说没关系,然后我就
写了
3. 问我有没有Unix的经验,我说Unix用得比较少,Linux比较多。我平常用的操作系统就是
Linux。然后他问我kill命令是干什么,我说结束一个进程的。接着问kill -7是什么意思,我说
我只用过kill -9,那个可以迅速结束一个进程,至于那个数字,我猜是urgent的程度吧
到这边就超时了,不过最后他还问我有什么问题。我把事先准备好的问题提出来:
Twitter到最后是不是想彻底放弃Ruby On Rails?他说这问题问得好,然后解释说ROR
性能比较成问题,所以他们现在慢慢转向JVM的一些语言,但是做为部署用的脚本还是
用Ruby写的,他自己的主要责任就是部署。然后我问他现在是用Capistrano吗?他说不
是,用他们自己实现的东西。然后急急忙忙说他得走了,就把电话挂了
没想到Twitter的第一轮电话面试会这么简单,估计是逐步递增吧。不像Google的电面
,三次难度都差不多