这几天宅着人都变懒了,还是更新一下日志吧。
Google是我面试的第二站。18号面完MS,19号从Seattle飞到San Jose,一切都很顺利。值得一提的是美帝的飞机上是可以用wifi上网的,可惜不免费。
面试安排在21号,所以20号可以自由活动,我决定提前去Google Campus里踩点+蹭饭。
Google的Campus也很大,building外放着免费的自行车,让人们可以很方便地在园区里穿梭。
在42号楼等张懿的时候,我还发现building的玻璃门上贴着很多通知,各种公司组织的活动,例如免费观看电影什么的,真不错。
中午和张懿在Google的其中一家餐厅吃海鲜火锅。在这里吃饭都是免费的,早中晚顿顿都是自助餐。我们拿了好多海鲜和蔬菜,吃得那叫一个爽啊~而且冰箱里还有各种饮料,另外还有水果,甜点什么的,随便拿!(后来听HR说Google的园区里有20家餐厅,各种菜系,满足你各种不同的口味,太给力了!)
吃饭期间遇见了7年多没见过面的尹振华同学,当年一起搞竞赛的日子又浮现眼前。
吃完饭我就去旁边的计算机历史博物馆逛了两小时,那里实在太大了,看到一半我就困得不行了(时差还没倒过来),便打车回了酒店睡觉。
晚上仍然很精神,第一次倒时差果然是困难重重,不过怎么也比面MS的前一晚要好吧,无论如何要秒杀他们!
==================================================================
Google的onsite面试很短,只有3轮,从上午10点半到中午2点,比MS厚道多了。
HR先是跟我描述了一番Google有多好多好,她已经在这里爽了8年了。例如环境优美,伙食无敌,娱乐丰富等等,还说一进来就会给你发一台Macbook(后来我去了张懿家才发现,他们家的头戴耳机,蓝牙耳机之类的东东,都是公司的……)。HR还说硕士生一进来年薪就有6位数,还有些股票(说得真好听,其实就是10XXXX,交完税只剩下6万了)。
第一位面试官迟到了,HR还联系不上,我们只好等。HR说这里的人都迟到,我之前还以为外国人比较守时,看来和国内一样……
她为了避免冷场就和我扯东扯西,我困得要死,真想跟她说咱们能静静地等么……
==================================================================
等了15分钟,第一位面试官终于来了,是个外国帅哥,口音纯正。
由于时间不多了,我们没有任何交流和暖场环节,直接开始说题目。
他的问题刚问完,我心里就乐开了花。这次是我给提高组的小朋友们讲课的一道例题。rp爆发了,有木有!!!
不过不能太嚣张直接写code秒杀,波兰mm楚楚可怜的样子还萦绕在我心头啊~
我强压住内心的喜悦,装思考状。数到快30秒的时候,跟他说我有一个想法,但不知道是不是最好的,能不能说一下。(太虚伪了,有木有!!!)帅哥当然很鼓励。
然后我就说了一遍算法,中途还装作有些不确定要思考一下。(可以拿影帝了……)
说完后帅哥很满意,说他觉得没有比这个更好的算法了。哇哈哈哈!
然后就是code了。前半部分很快就写完了,但是后半部分卡了一下,比较失误,递归的时候需要返回两个值,比较麻烦。帅哥让我可以考虑用非递归写。我就开始写非递归。写了一半发现卡得更严重,丢人丢大了!又改回递归,用一个自定义的struct作为返回值。囧啊!!!
不过还好都写出来了,本应秒杀的题竟然费了不少周折。想问题的时候特别困,明显感觉脑子转不动。建议大家有条件的话尽可能倒完时差再去面试!
然后我们就进入聊天环节,这个帅哥是做Google社区的,当时第一反应就是这难道不是Google里最悲剧的Team之一么。然后我就跟他扯利用社区里的用户信息来做精准广告平台之类的事情,这也是我最想加入Facebook做的事。
我们聊着聊着,第二个面试官就来了。
===================================================================
第二个面试官看起来30多,有一定资历了,但是只在Google工作了一年半,在Youtube Team,负责视频版权审核的后台部分。他是从Apple跳过来的。我当时马上就问他Apple这么nb,为何要跳槽。他说在Apple里面,开发计划是绝对不可能完成的。每天都处在赶进度的状态,长时间下来就非常累了。而在Google里任务是有可能被按时完成的,所以他就过来了,而且很enjoy。(果然是领导人决定了公司文化,乔布斯都快累死了,底下的员工肯定没好日子过的……)
还记得刚开始创业的时候,没有任何管理经验。制定任务计划这种管理中最重要的知识自然就需要花大力气去学习了。任务如果定得太松,员工会产生惰性,效率会低下。但是并不是说计划定的越紧效率就越高。如果你的计划总是无法按时完成,员工会失去激情,缺乏成就感,并且久而久之还会产生“反正任务肯定完不成,还是慢慢来吧”的想法,这样就失去意义了。
闲聊了一会儿后他开始问问题,先是数据结构的问题,虽然涉及到一些比较复杂的数据结构,但是不用写code,因此轻易秒杀。
然后就进入coding环节。问了一道普及组难度的题目,当然可以有提高组难度的解法。我先说了最简单的算法,然后再说nb的算法。但是就在“Matrix”这个词刚说出口,他就马上打断了我:"No no no, don't do that!"
原来面试的时候并不是一定要实现最fancy的算法,他们考察的很有可能是你在处理一些简单问题时思维是否严谨。还记得我在国内的Freewheel面试时,一位面试官就跟我说,他不懂什么算法,他们用得最复杂的算法就是一个0-1背包。
code很快就写完了,他检查了两个别人最容易错的测试数据,我的程序都通过了。因为我有一个习惯,就是写程序的时候会别写边想测试用例,尤其是边界情况。
然后他又给出设计某个网站的需求,问了一些数据库设计类的问题。这一年架构师还真不是白当的,轻松秒杀。
接着又是一些操作系统的知识,由于不是很深,还是秒杀。
他看我啥都懂,就问了一个C语言比较偏门的知识,依然秒杀。
最后我都忘记他说了多少次terrific了。反正这应该算是面得最最顺利的一次,面完之后睡意全无,信心暴增。
==================================================================
接下来就是午饭时间了,一个Google员工会带着我去吃午饭,当然不像MS那么变态,Google的午饭不是面试环节。
我一看门外来了一个亚洲人,还以为又是上海人,很鸡冻啊!可是他跟说我英语,口音还挺重,真失望……是个南韩人……
然后我们就闲聊啊,原来他和唐灿是同一个大学同一个专业的,搞密码学的博士后。后来他毕业后发现他研究的东西根本用不上。业界都喜欢用现成稳定的技术,例如加密就是AES,DES,哈希就是SHA-1,MD5,PKI就用X509,Kerberos之类的。就算你研究的新算法更安全,别人也不一定相信,更不愿意去更换。
我以为我小学3年级开始学编程已经够早的了,结果他6岁就开始学了,真bt……不过现在的90后00后应该更早吧,我大舅的儿子3岁就开始天天玩电脑了……
中途我们也免不了会议论其他公司,例如MS和FB之类的。Google有很多人跳槽去了Facebook,估计都是奔着股票去的。而且Facebook的待遇比Google还高。但是他所在的Search Quality组一个跳槽的都没有。他说他们组做的事情很有意思,也很有成就感,大家都不愿意走,建议我去他们那儿。他还说现在Facebook的泡沫很大,股票也快分完了……
吃完饭我们回到building里继续聊,不得不说Google的工作环境实在是工程师的天堂,非常舒适。
MS很有钱,刚进去的new grad就能有私人office,但是这样不利于交流。而Facebook虽然很open,但是略显简陋,一个大工厂摆了若干排桌子,一抬头就能看见上百人。Google介于两者之间,有完全open的工作环境,但是不大,也有几个人的房间,很有利于交流,大部分都不是私人office。
Google的building里有各种娱乐设施,我和那个韩国人聊天的时候,旁边就有几个人在打桌球,还有很舒服的沙发,茶吧之类的。乒乓球,健身器材,甚至还有专门的免费按摩间(要给小费)。实在是太爽了!
==================================================================
中午1点15分是最后一轮面试,这次是一个Search Quality组的一个女生,也迟到了一点点。
她又问了我一道我给提高组小朋友讲课的题,这次我就懒得装了,直接说算法,写code秒杀。最后杯具地发现题意理解错了,口音害死人啊有木有!
题意一变这算法就不太一样了,不过我在一分钟内又将她秒杀了,马上写code,无bug通过。她称赞说写得真快,写两个程序还比别人写一个快……
其实还是很丢人,同一个错误犯了两次了,无论你有多激动,都一定要和面试官确认好题意,以及数据范围,然后再秒杀。
接着她问了一些搜索方面的知识,这个我可是有备而来的。面试前基本上把google的核心技术都过了一遍,什么MapReduce, BigTable之类的,所以很轻松就答上来了。
她很满意,看着还有时间,就又问了一个普及组难度的题目,用她的原话说就是"Candy Question",让你爽一爽的。
===================================================================
结束后是两点多,和张懿挑了一家餐厅聊天。发现人还不少,Google工程师真是自由啊。那家餐厅下午会有各种免费的鲜榨蔬果汁供应,非常健康~
从Google的两轮电话面试和三轮onsite面试来看,普遍比较简单,但是范围很广,如果你什么都懂点,那么面Google应该会比较轻松。
再次感叹Google员工的生活质量,真的是天堂,被评为最佳雇主的Google确实名副其实!
===================================================================
后记:面试结束后的3天都是休息时间,自己去San Francisco玩了一天,和张懿夫妇,尹振华夫妇,还有Helen夫妇去Santa Cruz的海边游乐场玩了一天,晚上回来还吃到了美味的海鲜粤菜。湾区真是个好地方!