随便说说吧。今天比较tough,虽然只有4个人(包括大boss)面我。
第一个貌似是个俄罗斯人,SDE2,英语口语不错,直接考各种数据结构,这也没什么,
关键是都刨根问底,问到我说不出话为止。特别是hashtable,问了个底儿掉。然后是
分布式大系统的design,load balancing,disaster robust,redundant system……
只能根据自己的理解和经验瞎掰了。关键是后来跟第三个面试官出去吃饭时,碰到了这
位老兄,人家说今天只问了一些“极其简单”的东西……无语。
第二个是个中国人,Senior Development Lead,面试直接用中文,还是清华计算机系
的校友,不过比我低几届。闲聊一会儿之后,让我inplace mirror一个binary tree,
我用BFS解决后,又让用DFS解决,并且recursion和iterative都写一遍。
第三个是个印度人,Senior SDE,直接出去吃饭,去了附近的泰餐Bai Tong,吃得不错
。吃饭期间问了我一些基本的数据结构知识,以及原来做的项目的情况,让我列举了原
来项目中用debugging技能解决的比较重要的问题。因为以前也做lead带团队,问了一
些people management和project management的问题。吃完饭开车回去路上,问了一道
类似puzzle的题目:给定X、Y两个int变量,不用任何其它变量,如何交换两个变量的
值?
回到他办公室开始做题,相对比较简单,反转一个字符串,不过跟大家常做的有些不同
,是把“hello world”变成“olleh dlrow”,也就是除了字母以外,其它不动。这题
之后,又问了一个跟design分布式系统有关的问题,具体不太记得了。
然后印度人就带我去见大boss了,一个Director,也是HM,两周前谈过的,当时相谈甚
欢。大boss很随和,感觉像慈父,倒不像面试官。上来就说咱们不coding,只problem
solving。先让我design一个算法,能最快地计算出从1到N的质数,这个大家可以想想
。然后考了一道极其简单的概率题,这里就不说了,我家10岁闺女都会做……然后开始
给我上课,因为他是负责security的嘛,开始给我讲解private key、public key、
encryption、decryption、hash、certificate、什么是SHA-1……学到了不少东西,而
且把以前很多错误的理解和概念澄清了。
最后大boss说要去找那些面试官谈谈,收集一下feedback,还说我应该很了解微软的
title system了,问我期望的title和salary,说他很希望我加入,但是也要尊重其他
面试官的feedback……然后我就回家了。
大boss人真好,钱少点儿我也跟他干了。