请教大家两道FB和Amazon的“奇怪”设计题# JobHunting - 待字闺中
l*o
1 楼
刚刚先后跪了这两家。。感觉自己交流和coding都发挥的还可以,所以八成是挂在了两
道“奇怪的”设计题上。请问大家这种题是真的属于设计题吗?怎么准备?
1 FB:老板叫你把一个module的效率提高10%,告诉我你打算怎么做。
我第一反应这是一道behavior问题,所以回答:“首先我要告诉我的老板我可能没法确
保一定能提高10%的效率,我要做preliminary study”。面试官不太满意,要我直奔主
题。我就开始胡说了:“monitor每个function的运行时间,从运行时间最长的(最有
潜力优化)开始研究。。建立call hierarchy 找被call的最深的function看看有什么
问题没。。如果不是deterministic的,plot出time VS throughput 的图,看有没有
spike。。”就这样胡说了30分钟,我从头到尾都在努力想点子,但是可以看出来面试
官从头到尾都不太满意。自己确实答的不好,请问大家这种题该怎么说呢?
2 Amazon:给你一个amazon server的log,what do you expect? How to tell it’s
a good log or a bad log?
我没有server的经验,不过我现在工作也需要看log,所以就开始扯了:“我工作也看
log,我感觉看log其实经验很重要。。”。刚说一半,面试官说““你才1年半工作经
验而且不是做distributed system的,在我的字典里就是0经验”。我又说:“好吧,
那我首先试着猜一下amazon server的log会有以下这些信息。。” 刚说一半,面试官
告诉我:“如果每个amazon工程师都猜,amazon就不会是世界500强了。Guess这个词不
应该从码工的嘴里出来”。我这样回答:“好吧,我比较确信log会有比如说
throughput的computation time这两个参数”。面试官说:“好,你告诉我amazon
server的平均computation时间大于多少是bad log”。我说:“这个我没有经验,但是
我觉得。。”面试官马上插话:“打住打住,没有经验,呵呵,知道没有经验有多可怕
吗?你的一个错误可以导致我们整个组,甚至亚马逊的瘫痪。这样吧,由于你没有经验
,我问你一个简单的问题,一个server的network一直是saturated的,但是CPU平均只
工作1%的时间,如何优化。”我说:“首先我觉得这个CPU没有选好,over qualify了
。”面试官:“不能换server硬件”我说:“好吧,这个感觉不太好优化了。是不是可
以通过非network得途径向这个server添加一些任务呢,blablabla(我承认我完全是现
想的,胡说一气)”面试官:“呵呵,没经验啊,正确答案是:这已经是最优的了。我
们看中的是network的饱和度,CPU空载多一些无所谓”。
道“奇怪的”设计题上。请问大家这种题是真的属于设计题吗?怎么准备?
1 FB:老板叫你把一个module的效率提高10%,告诉我你打算怎么做。
我第一反应这是一道behavior问题,所以回答:“首先我要告诉我的老板我可能没法确
保一定能提高10%的效率,我要做preliminary study”。面试官不太满意,要我直奔主
题。我就开始胡说了:“monitor每个function的运行时间,从运行时间最长的(最有
潜力优化)开始研究。。建立call hierarchy 找被call的最深的function看看有什么
问题没。。如果不是deterministic的,plot出time VS throughput 的图,看有没有
spike。。”就这样胡说了30分钟,我从头到尾都在努力想点子,但是可以看出来面试
官从头到尾都不太满意。自己确实答的不好,请问大家这种题该怎么说呢?
2 Amazon:给你一个amazon server的log,what do you expect? How to tell it’s
a good log or a bad log?
我没有server的经验,不过我现在工作也需要看log,所以就开始扯了:“我工作也看
log,我感觉看log其实经验很重要。。”。刚说一半,面试官说““你才1年半工作经
验而且不是做distributed system的,在我的字典里就是0经验”。我又说:“好吧,
那我首先试着猜一下amazon server的log会有以下这些信息。。” 刚说一半,面试官
告诉我:“如果每个amazon工程师都猜,amazon就不会是世界500强了。Guess这个词不
应该从码工的嘴里出来”。我这样回答:“好吧,我比较确信log会有比如说
throughput的computation time这两个参数”。面试官说:“好,你告诉我amazon
server的平均computation时间大于多少是bad log”。我说:“这个我没有经验,但是
我觉得。。”面试官马上插话:“打住打住,没有经验,呵呵,知道没有经验有多可怕
吗?你的一个错误可以导致我们整个组,甚至亚马逊的瘫痪。这样吧,由于你没有经验
,我问你一个简单的问题,一个server的network一直是saturated的,但是CPU平均只
工作1%的时间,如何优化。”我说:“首先我觉得这个CPU没有选好,over qualify了
。”面试官:“不能换server硬件”我说:“好吧,这个感觉不太好优化了。是不是可
以通过非network得途径向这个server添加一些任务呢,blablabla(我承认我完全是现
想的,胡说一气)”面试官:“呵呵,没经验啊,正确答案是:这已经是最优的了。我
们看中的是network的饱和度,CPU空载多一些无所谓”。