guest editor 机会,protein interaction (转载)# Biology - 生物学
a*o
1 楼
长流水帐,摘要是拿了G、F、M的面试,其中G、M给了offer,最后选择了M,期间两家
公司相互提价,一共给了5个offer。最后是三家的面试题目。
先说下个人背景,国内本硕毕业后06年加入微软中国,后来一直在北京。其实生活也算
可以,有车有房有lp,比上不足比下有余,但觉得还是趁不算太老,出来呆一阵,涨涨
经验吧。
起先觉得唯一靠谱的就是内部transfer,联系了bing的一个dev lead后,很希望我来,
于是开始安排面试,一轮phone screen外加五轮面试,当然,由于远程,其实形式都是
一样的。中间因为各种原因,进程比较慢,搞了好几个月直到我6月要来总部出差之前
,才面完最后一轮。招我的lead说问题不大,但由于只有一个名额,他的经理想多面几
个再定,于是让我等一下。这一等也就等出了后面一堆的事情。
4月正在联系transfer时,g的hr突然通过linkedin找到我,问是否有兴趣。看他是mtv
的,抱着多面一个多练练手的心态,就说好吧。很快就安排了两轮电面,通过后大约5
月中旬了,让我去on-site,由于马上出差,商量好等我到了seattle,从那里飞。
6月到了seattle,第一个周日就飞去mtv onsite,周一一天的时间面5个人,感觉还好
,回来后周三hr打电话说interview通过,要我提供一些推荐人和填些基本信息的表格
,他们周五提交hiring committee审批。接下来的周一又告诉我已经批了,开始准备
offer。到周四,第一个offer发出,base 120k, 160 stock。看版上fresh phd一般
140k的base,所以觉得略少,但还是很高兴了,毕竟终于有offer,而且之前觉得
google很难,没指望搞定的,算意外收获。
收到g的offer赶快通知bing,那时觉得自己肯定要去google了,因为内部transfer规定
只能同级调动,除非特批。而我的level在bing的薪水肯定要比g这个差不少,但还是告
诉bing的lead,毕竟人家折腾那么久,也算善始善终。知道消息后,bing立刻表示也给
offer。
拿到g的offer一周后,打电话给hr要求match fresh phd的offer,半小时后,g发出了
第二个offer,base变到135k,另外给了10k sign on。同一天,收到了bing的第一个
offer,果然,标准的同级offer,和g相距甚远。bing的lead又和我谈了一下,得知g的
offer细节后,他也对bing给的很失望,但他没有人事权,无法改变,说去努力一下,
事实上我俩都没抱什么希望。
再往后又戏剧了,国庆节回来后bing发出了一个新的offer,promote level并且基本
match了g的。考虑到加州的税和高房租后,一年差不了几千块钱,这种transfer offer
也算是破天荒的事情了,harry还亲自打电话来劝我留下。从那时起,基本打算从了
bing,毕竟环境熟悉,经理认识且重视我,给的level也略高于fresh phd,组里正缺人
,还有几年来的manager都对我很好,钱又差不多,不太忍心就走了。
又考虑了两天,给g打电话,说不去了。hr抓狂,拼命劝导,最后说可以再提高offer,
我说不用了,已经很好,真的不想去啦。hr表示不行,一定再给他们一次机会,给个更
好的。反复说几次无效,只好说行吧,看最后是什么样的。过了一天,g的第三个offer
来了,sign on变成20k,stock变成250。至此我觉得不用再搞下去,大家都花时间,明
确拒掉g从了bing。粗略计算大约每年会损失1w来块吧(我的算法是税后每个月加州那
边再多花1k租房)。虽然也心疼,但考虑到各种因素,还是留下来吧,希望自己努力把
performance搞好,减小这个差距。后来还有一个重要的concern是发现g那边似乎人多
项目少,他们招了很多人,却没想好干什么,从几个在g的朋友都基本确认了这一点,
感觉bing在追赶中,能做事的空间也大点。也许是自己做了错误的选择,但还是想试一
试,如果真能做些有影响力的事,把search做好,也算没有混日子了。
再说说F,g给了口头offer后,闲来无事给F投了份简历,并提到已有g的offer,如有意
速联系。第二天F就来电话,说面试一下吧,于是跑到seattle的office面了一个人,然
后告诉我去加州总部onsite。F的onsite是4个人,题目比g的简单,做得应该也不错,
除了最后一个人时脑袋有些累(头一天半夜12点才到旅店,然后还加班写了几个小时
code),居然连0到1的数的平方根必然也在0到1之间这种事情都花了5分钟才想起来。
过了几天hr发信说非常close,但还是拒了。然后约我打电话再聊聊给我些feedback。
从电话里得知面试官觉得system design能力很强,题目也都给出了正确的solution,
唯一的不足是有人认为我写code还不够快(我猜是最后一面当时有点脑袋不转导致)。
好在本来也对fb不太认真,发不了大财了,startup的氛围我也不一定适应,于是很平
静的接受,没什么难受的。
最后贴一些题目吧,祝大家好运。
G的题目:
1.给定已排序数组,找一个数是否在里面出现和出现的次数
2.已知每天的股票价格,计算何时买卖获益最大
3.给两个用一种spatial tree(好像叫rp-tree之类)表示的黑白图片,如何找到公共的
黑色部分,假设两个图片的尺寸一样
4.描述快速排序和归并排序的实现,分析平均、最差时间复杂度,何时用哪个
5.解释C++的多态
6.一条直线上有N个站台,已知任何两点间直达列车的票价,求出从起点到终点的票价
最优的乘车方案。因为从A到B,再从B到C的价格可能比直接从A到C便宜
7.N个job,要求分配到M台机器上,每个机器可以被分配0-N个job,但有些job相互排斥
不能被放到一起执行,给出所有可能的分配方案
8.给N个元素,第i个元素有一个大于0的score(i),要求随机选出k个,每个元素可以被
选择任意多次,但保证被选择的概率要和score(i)成比例
9.N个矩形,所有矩形都有一条边在同一条直线上,他们相互可能有overlap,找出最后
得到的这个不规则图形的所有边界点
M的题目:
1.设计虚拟内存管理的类、接口和实现
2.给两颗树,如果节点深度相同且value相同,则这两个node是match的,两棵树上的节
点如果相互match,则它们的父节点必须也要match。假设一棵树上所有node的value都
不同,并且兄弟节点间不用考虑顺序,问给两棵树,如何求最大match的node数目。如
果value有重复,并且要求兄弟节点match的顺序一致,问如何求最大match数。
3.一个房间里的人有且只有一个名人,他不认识其他任何人,其它所有人都认识他,如
何找到这个名人。这个题目的解改进了几次,最后要求给O(n)时间且O(1)空间的解
4.一些开放式的问题,和machine learning、data mining相关的问题怎么解
F的题目:
1.给一个字符串,另外给一个匹配模式,模式里有.和*,写一个程序找出输入字符串中
第一个match这个模式的子串
2.设计fb的系统支持like那个button
3.给一个字符串,统计其中有几个单词
4.一个排序的数组,但rotate了几位,如何找一个给定的数是否在里面出现
5.层次打印一颗树,每层的节点打印完要换行,但除了层次周游的队列里可以存放node
pointer外,不允许使用O(n)的额外空间(比如记下每个节点的深度决定是否换行是不
允许的)
6.实现float sqrt(float f)
7.一个数组里有三种元素,比如1、2、3,如何排序使得数组有序。还是这个数组,但
里面每个元素是一个float,另外有个函数int map(float)可以给一个浮点数得到一个1
、2或3的整数,问这种情况如何排序使得map到1的元素在最前面,然后是2的,最后是3
的。map值一样的元素间顺序无所谓
公司相互提价,一共给了5个offer。最后是三家的面试题目。
先说下个人背景,国内本硕毕业后06年加入微软中国,后来一直在北京。其实生活也算
可以,有车有房有lp,比上不足比下有余,但觉得还是趁不算太老,出来呆一阵,涨涨
经验吧。
起先觉得唯一靠谱的就是内部transfer,联系了bing的一个dev lead后,很希望我来,
于是开始安排面试,一轮phone screen外加五轮面试,当然,由于远程,其实形式都是
一样的。中间因为各种原因,进程比较慢,搞了好几个月直到我6月要来总部出差之前
,才面完最后一轮。招我的lead说问题不大,但由于只有一个名额,他的经理想多面几
个再定,于是让我等一下。这一等也就等出了后面一堆的事情。
4月正在联系transfer时,g的hr突然通过linkedin找到我,问是否有兴趣。看他是mtv
的,抱着多面一个多练练手的心态,就说好吧。很快就安排了两轮电面,通过后大约5
月中旬了,让我去on-site,由于马上出差,商量好等我到了seattle,从那里飞。
6月到了seattle,第一个周日就飞去mtv onsite,周一一天的时间面5个人,感觉还好
,回来后周三hr打电话说interview通过,要我提供一些推荐人和填些基本信息的表格
,他们周五提交hiring committee审批。接下来的周一又告诉我已经批了,开始准备
offer。到周四,第一个offer发出,base 120k, 160 stock。看版上fresh phd一般
140k的base,所以觉得略少,但还是很高兴了,毕竟终于有offer,而且之前觉得
google很难,没指望搞定的,算意外收获。
收到g的offer赶快通知bing,那时觉得自己肯定要去google了,因为内部transfer规定
只能同级调动,除非特批。而我的level在bing的薪水肯定要比g这个差不少,但还是告
诉bing的lead,毕竟人家折腾那么久,也算善始善终。知道消息后,bing立刻表示也给
offer。
拿到g的offer一周后,打电话给hr要求match fresh phd的offer,半小时后,g发出了
第二个offer,base变到135k,另外给了10k sign on。同一天,收到了bing的第一个
offer,果然,标准的同级offer,和g相距甚远。bing的lead又和我谈了一下,得知g的
offer细节后,他也对bing给的很失望,但他没有人事权,无法改变,说去努力一下,
事实上我俩都没抱什么希望。
再往后又戏剧了,国庆节回来后bing发出了一个新的offer,promote level并且基本
match了g的。考虑到加州的税和高房租后,一年差不了几千块钱,这种transfer offer
也算是破天荒的事情了,harry还亲自打电话来劝我留下。从那时起,基本打算从了
bing,毕竟环境熟悉,经理认识且重视我,给的level也略高于fresh phd,组里正缺人
,还有几年来的manager都对我很好,钱又差不多,不太忍心就走了。
又考虑了两天,给g打电话,说不去了。hr抓狂,拼命劝导,最后说可以再提高offer,
我说不用了,已经很好,真的不想去啦。hr表示不行,一定再给他们一次机会,给个更
好的。反复说几次无效,只好说行吧,看最后是什么样的。过了一天,g的第三个offer
来了,sign on变成20k,stock变成250。至此我觉得不用再搞下去,大家都花时间,明
确拒掉g从了bing。粗略计算大约每年会损失1w来块吧(我的算法是税后每个月加州那
边再多花1k租房)。虽然也心疼,但考虑到各种因素,还是留下来吧,希望自己努力把
performance搞好,减小这个差距。后来还有一个重要的concern是发现g那边似乎人多
项目少,他们招了很多人,却没想好干什么,从几个在g的朋友都基本确认了这一点,
感觉bing在追赶中,能做事的空间也大点。也许是自己做了错误的选择,但还是想试一
试,如果真能做些有影响力的事,把search做好,也算没有混日子了。
再说说F,g给了口头offer后,闲来无事给F投了份简历,并提到已有g的offer,如有意
速联系。第二天F就来电话,说面试一下吧,于是跑到seattle的office面了一个人,然
后告诉我去加州总部onsite。F的onsite是4个人,题目比g的简单,做得应该也不错,
除了最后一个人时脑袋有些累(头一天半夜12点才到旅店,然后还加班写了几个小时
code),居然连0到1的数的平方根必然也在0到1之间这种事情都花了5分钟才想起来。
过了几天hr发信说非常close,但还是拒了。然后约我打电话再聊聊给我些feedback。
从电话里得知面试官觉得system design能力很强,题目也都给出了正确的solution,
唯一的不足是有人认为我写code还不够快(我猜是最后一面当时有点脑袋不转导致)。
好在本来也对fb不太认真,发不了大财了,startup的氛围我也不一定适应,于是很平
静的接受,没什么难受的。
最后贴一些题目吧,祝大家好运。
G的题目:
1.给定已排序数组,找一个数是否在里面出现和出现的次数
2.已知每天的股票价格,计算何时买卖获益最大
3.给两个用一种spatial tree(好像叫rp-tree之类)表示的黑白图片,如何找到公共的
黑色部分,假设两个图片的尺寸一样
4.描述快速排序和归并排序的实现,分析平均、最差时间复杂度,何时用哪个
5.解释C++的多态
6.一条直线上有N个站台,已知任何两点间直达列车的票价,求出从起点到终点的票价
最优的乘车方案。因为从A到B,再从B到C的价格可能比直接从A到C便宜
7.N个job,要求分配到M台机器上,每个机器可以被分配0-N个job,但有些job相互排斥
不能被放到一起执行,给出所有可能的分配方案
8.给N个元素,第i个元素有一个大于0的score(i),要求随机选出k个,每个元素可以被
选择任意多次,但保证被选择的概率要和score(i)成比例
9.N个矩形,所有矩形都有一条边在同一条直线上,他们相互可能有overlap,找出最后
得到的这个不规则图形的所有边界点
M的题目:
1.设计虚拟内存管理的类、接口和实现
2.给两颗树,如果节点深度相同且value相同,则这两个node是match的,两棵树上的节
点如果相互match,则它们的父节点必须也要match。假设一棵树上所有node的value都
不同,并且兄弟节点间不用考虑顺序,问给两棵树,如何求最大match的node数目。如
果value有重复,并且要求兄弟节点match的顺序一致,问如何求最大match数。
3.一个房间里的人有且只有一个名人,他不认识其他任何人,其它所有人都认识他,如
何找到这个名人。这个题目的解改进了几次,最后要求给O(n)时间且O(1)空间的解
4.一些开放式的问题,和machine learning、data mining相关的问题怎么解
F的题目:
1.给一个字符串,另外给一个匹配模式,模式里有.和*,写一个程序找出输入字符串中
第一个match这个模式的子串
2.设计fb的系统支持like那个button
3.给一个字符串,统计其中有几个单词
4.一个排序的数组,但rotate了几位,如何找一个给定的数是否在里面出现
5.层次打印一颗树,每层的节点打印完要换行,但除了层次周游的队列里可以存放node
pointer外,不允许使用O(n)的额外空间(比如记下每个节点的深度决定是否换行是不
允许的)
6.实现float sqrt(float f)
7.一个数组里有三种元素,比如1、2、3,如何排序使得数组有序。还是这个数组,但
里面每个元素是一个float,另外有个函数int map(float)可以给一个浮点数得到一个1
、2或3的整数,问这种情况如何排序使得map到1的元素在最前面,然后是2的,最后是3
的。map值一样的元素间顺序无所谓