请问哪里买肥料土?# gardening - 拈花惹草
L*Q
1 楼
大概三周前phone interview,现在还有印象的是三个问题。
1. 两个computer分别在两个lan,两个lan之间是internet。问题:一个computer往另一个computer发packet时候,layer2、layer3的全过程。
2. 32bit integer reverse。我给了两种答案,一个是bit by bit;一个是网上流传的用mask的方法。interviewer说她不知道第二种
3. 给一个binary tree,如何判断是不是BST。我又给了两个solution。一个是从root往下,每个node给children传valid range。第二个solution是从leaf往root,每个node把以自己为root的subtree的range传给自己的parent。
上周四San Jose去onsite,首先感谢去之前在版上bless我的同志们。面的这个group是做data forwarding software的,全组老印。manager老印给人感觉很不错,口音也不重。一共面了6个人,其中两个小印一看就是非要考倒我不可的架势。第一个小印问一些network的题,我回答,丫非说不对,我坚持说我认为我说的对,丫最后承认说我是对的。另一个小印更搞笑,这家伙最后一个面我,manager看时间到了,这家伙申请继续,然后又整了半小时。全是编程题。最后一个题这厮开始耍赖。题目是这样:给n个binary string(string with 0 or 1),然后给另一个binary string,看这个string在不在那n个里面。我给了几个solution,最后的一个是binary tree来表示binary string。他又问能不能优化,我想了一会儿给了一个condense tree的办法。这家伙总算服了。最后说:你知不知道有O(1)的算法。我说不可能,你worst case肯定要compare所有binary string,一定跟n相关。丫居然说:用XXX hardware可以O(1)。我擦,这还是编程么?我只能笑笑,说牛叉,给力,hold住
下面是另外几个我还能想得起的onsite题,包括网络题,编程,和简历问题:
1. router的设计,不考虑budget,10Gb/s line speed。我以前在国内念硕士是搞switch scheduling的,所以对router和switch内部的大致情况知道一些。在回答这个题的时候,除了computer networks教材上讲的东西外,我提到了line card的设计,high speed router可能是分布式,internal delay对scheduling的影响,buffer的设计。提了三种fabric core的优缺点。
2. detect if a linked list has cycle
3. 一个integer,把从m-th到n-th bit reverse,m和n是parameter。
4. 电面时候那个2个lan的题,不过这次问了更多,比如:一个computer咋知道这个packet是发到自己所在lan还是别的lan的机器?一个lan上几个机器能否ip一样?废话,当然不能。那如何detect?我当时不sure,给了一个我认为的方法,回来查RFC,确实如当时我说的。一个机器如果update了自己ip address,会发生啥事情,详细解释什么layer什么frame在如何发
5. 用什么数据结构实现routing table。
今天刚收到拒信,manager说的比较委婉,他们想找senior的并且能immediately fill这个position。
1. 两个computer分别在两个lan,两个lan之间是internet。问题:一个computer往另一个computer发packet时候,layer2、layer3的全过程。
2. 32bit integer reverse。我给了两种答案,一个是bit by bit;一个是网上流传的用mask的方法。interviewer说她不知道第二种
3. 给一个binary tree,如何判断是不是BST。我又给了两个solution。一个是从root往下,每个node给children传valid range。第二个solution是从leaf往root,每个node把以自己为root的subtree的range传给自己的parent。
上周四San Jose去onsite,首先感谢去之前在版上bless我的同志们。面的这个group是做data forwarding software的,全组老印。manager老印给人感觉很不错,口音也不重。一共面了6个人,其中两个小印一看就是非要考倒我不可的架势。第一个小印问一些network的题,我回答,丫非说不对,我坚持说我认为我说的对,丫最后承认说我是对的。另一个小印更搞笑,这家伙最后一个面我,manager看时间到了,这家伙申请继续,然后又整了半小时。全是编程题。最后一个题这厮开始耍赖。题目是这样:给n个binary string(string with 0 or 1),然后给另一个binary string,看这个string在不在那n个里面。我给了几个solution,最后的一个是binary tree来表示binary string。他又问能不能优化,我想了一会儿给了一个condense tree的办法。这家伙总算服了。最后说:你知不知道有O(1)的算法。我说不可能,你worst case肯定要compare所有binary string,一定跟n相关。丫居然说:用XXX hardware可以O(1)。我擦,这还是编程么?我只能笑笑,说牛叉,给力,hold住
下面是另外几个我还能想得起的onsite题,包括网络题,编程,和简历问题:
1. router的设计,不考虑budget,10Gb/s line speed。我以前在国内念硕士是搞switch scheduling的,所以对router和switch内部的大致情况知道一些。在回答这个题的时候,除了computer networks教材上讲的东西外,我提到了line card的设计,high speed router可能是分布式,internal delay对scheduling的影响,buffer的设计。提了三种fabric core的优缺点。
2. detect if a linked list has cycle
3. 一个integer,把从m-th到n-th bit reverse,m和n是parameter。
4. 电面时候那个2个lan的题,不过这次问了更多,比如:一个computer咋知道这个packet是发到自己所在lan还是别的lan的机器?一个lan上几个机器能否ip一样?废话,当然不能。那如何detect?我当时不sure,给了一个我认为的方法,回来查RFC,确实如当时我说的。一个机器如果update了自己ip address,会发生啥事情,详细解释什么layer什么frame在如何发
5. 用什么数据结构实现routing table。
今天刚收到拒信,manager说的比较委婉,他们想找senior的并且能immediately fill这个position。