Google 的面试流程

在 Google 工作有一段时间了,是时候和大家分享一下 Google 的面试流程,以方便广大求职的同学参考,也顺便给 Google 打个广告。

Google 有一个全球统一的招聘网站:Google Careers。里面不仅有空缺职位的介绍,还有 Google 在世界各地的办公室的介绍,比如这个是我所在的苏黎世办公室

前期准备

在申请 Google 的工作之前,最好对自己想做的工作和对未来的团队有一个期望。比如自己想从事哪个方面的工作,前端还是后端,网络服务还是客户端软件,团队在美国、欧洲或是中国。尽管不论你的目标团队是什么,面试的难度和流程都是统一的,但毕竟将来你要和你的团队长期协同工作,选一个自己喜欢的产品和团队,何乐而不为呢,对吧。

除了选职位之外,面试的基本工也不可少,去 LeetCode 温习一下算法题吧。

递交申请

你可以通过上述的招聘网站递交你的简历,也可以找正在 Google 工作的朋友帮你递交。当然,后者是有好处的,下面会提到。对于应届的同学,也可以留意一下各大高校的招聘活动,应届招聘的人数较多,多数会有统一的线下安排,效率比较高。

面试

面试分为三种:笔试、电话面试和现场面试。

笔试通常是针对应届毕业生,由于人数多,HR 没有办法一个个打电话来面试,只好统一进行笔试。

电话面试,如果你不慎错过了笔试,并且 HR 又看中了你的简历,或是对于社招的求职者,那么你将接到至少一轮的电话面试。电话面试通常需要写代码,如果条件可行,可以通过 Google Docs 实时交流代码;最不济的情况,则是在电话中口述。这个阶段中,HR 也会打电话过来了解一下你的背景,咨询一下你中意的产品和团队,以及你在 Google 有没有认识的朋友。

现场面试,电话面试(或笔试)通过之后,你将会收到现场面试的邀请,地点一般会选在离你最近的办公室。现场面试至少有四轮,每轮一小时,几乎全是技术面试,要求在白板或者纸上写代码。由于内部规定,这些代码会被记录下来交由招聘委员会审阅,所以在白板上写代码的时候,你可能会注意到面试官在积(mang)极(lu)地抄写你的代码。如果面试期间碰到中饭时间,会有面试官带你去吃中饭,顺便感受一下传说中的免费午餐 :P

面试结束之后不会立即知道结果,即使主动询问面试官或者 HR,得到的回复一般都是“等通知”。

审核

所有的面试结果会交给招聘委员会(Hiring Commitee)进行审核。与此同时,HR 会发信给 Google 内部可能是你以前同学或同事的员工,要求他们写评价。这些人的评价也会一起交给招聘委员会作为参考。这时就能体现出之前提到过的内部推荐的好处了,至少有一个人帮你写了评价,聊胜于无。

招聘委员会审核通过之后,结果会交由 Larry Page (和他的团队)过目。是的,你没有看错,CEO 会亲自审阅你的资料。

讨论合同

上述的审核通过之后,HR 就会开始准备发 Offer。它实际是一个套餐(Package),套餐中注明了基础工资,奖金的比例,入职时的股票奖励等。你可以多多少少谈点条件,当然,大公司有着成熟的等级体系,可商量的余地不大。如果你需要搬家(Relocation),Offer 中会包含搬家的补贴,或许会有一个中介(Agent)来协助你完成搬家的过程。

签订合同和入职

最终会有一堆的文件寄给你,一份一份签名之后再寄回(或交予 HR)。

签完合同之后就等着入职吧。这段时间里,你可能需要办签证、搬家等一些琐碎的事情。由于美国签证名额的限制,H1B 签证现在实行的抽签制度,约有三分之一的概率签不出。如果发生这种情况,你可能需要重新签一份合同,并前往另一个地区的办公室,等待最长可能有一年半的时间,再去美国。这个过程称为 Parking。Parking 的地点可以和 HR 商量,比如瑞士、加拿大或者其它地方。为了避免这种尴尬的情况,你也可以不选择美国的职位,其它地区也有很好的办公室和职位。

试用期

和多数公司一样,入职之后的三个月是试用期,试用期内可能会因为能力不行而被解雇。当然这是小概率事件,大多数新员工都可以顺利度过试用期。在试用期满之后,推荐你入职的同学/朋友,可以得到一笔奖金,金额视你的职位高低不同而略有差异。到时候就找他/她请客吧。

完成整个流程之后,恭喜你,你已成为一名 Googler。如有什么问题或者想加入 Google,可以私下联系我。

中文交流中夹杂的英语

如果你经常关注本博客,你可能会发现,超过一半的博文标题中都夹杂着英文。对于英文不太好,或者非业内人士,这样是不太友好的。他们可能一句话都读不顺,看文章很累。我个人不太喜欢这种风格,但作为一名程序员,这种情况又是几乎不可避免的。

大概二、三十年以前,外来语都要先翻译成中文才可以使用的,比如沙发(sofa)、巧克力(chocolate)、坦克(tank)等,连品牌也不例外,肯德基(KFC)、星巴克(Starbucks)、惠普(HP)等。这样人们在交流中不需要用到英文,降低了社会对英文的依赖,也保证了中文的纯洁性。但是近几年,外来语越来越多,已经到了来不及翻译的程度,有一些官方没有给出中文的,比如 H&M、7-Eleven 等,还有一些在年经人中很流行,懒得使用中译版本的,比如WiFi(无线网络)、Cappuccino(卡布奇诺咖啡)等。

而在 IT 行业中,有一点历史的词汇可能大家都习惯它们的中文译名,比如微软(Microsoft)、个人电脑(PC)等,但很多新词都还停留在英文阶段,比如 Java、PHP、HTTPS、Chrome 等。在和同事的日常交流中,总免不了需要涉及到这类词汇,于是谈话中就夹杂着很多英文。举个例子,我以前的一个老板,美国人,号称要学中文,于是约定每周的周五大家都说中文,帮他练习。在测试中有一个常见术语叫“file a bug”,“bug”指软件的缺陷,“file”作动词表示汇报/登记,“file a bug”就是在系统中登记一个“缺陷”的信息,以便让开发人员去修复。但是在实际使用过程中,大家都还是觉得英文比较好用且大家都能接受,于是我老板的中文就说成了“file 一个 bug”……这中文学了等于没学……

这种现象的出现,主要是因为美国输出的技术非常多,不仅是IT词汇,生活工作中的各方面都可能有英语的踪影,比如计算机领域的快捷键 Ctrl+F,对我们来说只是一个按键组合,但实际上它表示 Find(查找)。当然这个是世界性的问题,其它非英语国家也都正在被英语入侵,多数国家要么拿来直接用(拉丁语系),要么粗暴地译成本地语言(非拉丁语国家,如日语)。据我所知,除了法国之外,也只有中国在努力规范外来语。很多年前,我们国家的确有非常优美的翻译作品,比如“若为自由故,两者皆可抛”,但那是诗作,计算机行业就没有那么多文人雅士了,翻译质量低下,比如“鲁棒性”(Robustness)、“句柄”(Handle)、“缺省”(Default)等。译者自然看得懂并理解原文的意思,但看译文的读者和学生们就云里雾里了。又因为那些“经典”译作的销量之高,这些翻译就这么被传下来了。这些拙劣的翻译,影响了计算机学生对技术的理解,也从而阻碍了技术的传播,于是有越来越多的人建议:技术书籍请看原版。看原版固然不错,但这也进一步阻碍了计算机知识的汉化进度。于是就产生了本文开头所描述的现象。

为了解决这个问题,本博客会尽量使用中文写作。当出现无法翻译的情况时:

  1. 如果是品牌名称,且没有官方译名,则保持原名,如 WordPress;
  2. 如果是术语,则使用广泛接受的中文译名,如“电子邮件”,当没有普及的中文译名时,则按上下文选择最合适的一个,并加以原文注释,如“域名转向(Domain Forwarding)”。

当然,那些劣质的翻译要尽量避免,比如 Robustness 可以译成“强壮性”、Handle -> 操作符,Default -> 默认等,希望这样能逐渐提升中文技术词汇的普及程度。

在家工作是怎么回事

这个要从最近一件闹得沸沸扬扬的事情说起,就是Yahoo禁止员工在家工作,不能遵守这项规定的员工会被要求离职。

在家工作(Work from Home,简称WFH),是指员工可以看照实际情况,选择在家里工作,以提高工作效率。由于行业的特殊性,部分IT企业的员工在家里和在公司可以完成同样的工作,也就是工作不受地点的限制。于是公司允许员工在特殊情况下,可以在家里工作,并不会受到处罚。我的老东家新东家都是很开明的公司,我有幸体验到了这一非常吸引人的待遇。

需要在家里工作的原因有很多,主要是因为去公司不方便。举个例子来说,在上海,你家住在五角场,而公司在闵行外环外20公里的地方,上下班乘地铁单程就要2个小时,公司班车可以把时间缩短到1个半小时,来回就是3、4个小时。如果早上发生了一些事情,比如煤气坏了等人来修啦、一大早电话会议啦、儿子生病了要去医院啦、老丈人从外地来上海要去接个机啦……等等之类的事情而导致没赶上班车,而又不高兴搭车公共交通去公司,就可以申请在家工作。道理很简单,做完上述的事情可能半天就过去了,而去公司在路上又要花费4个小时,如果拿这个4个小时来工作,能完成更多的任务,这样老板也会满意的。在日常生活中,这类阻碍员工去公司的事情很多,于是在家工作就成了习以为常的事。

在家工作有它好的一面,通常来说家里的环境更舒适,早上可以睡个懒觉、用不着去食堂排队并且忍受口味恶劣的食物、可以获得一定程度的隐私权,等等等等。对于提高员工的工作效率有积极的效果。

当然它也有不好的一面,简单来说,在图书馆看书要比在家里看书的效率高(这是为什么图书馆会有很多座位的原因),类似地,在公司工作要比在家里工作的效率高。在家里工作,舒适是舒适了,但也有了很多使人分心的东西,比如电视啦、游戏机啦、猫猫狗狗啦、隔壁邻居啦等等等等。另一方面,公司里提供了更有利于工作的设施,比如更快的网络、更强大的机器等。这样的差距就使得在家里工作的效率可能连工作的一半都没有。

在把效率作为业绩评估准则的公司,多数员工会想着尽量提高自己的工作效率,于是体验过一两次在家工作之后,肯定会尽量去公司工作,从而赚到更多的工资和奖金。但是,人都是会变懒的嘛,在家工作毕竟是舒服的,于是就会有一部分员工热衷于在家工作,于是也就有了Yahoo的新规定。

至于这项规定的效果如何,让我们拭目以待……

神奇的班车

周一乘了一次通河新村的班车,时刻表上写的是7:15从通河新村地铁站发车,7:45在马戏城停靠,然后直奔公司。心想,通河新村到马戏城这么近的,用得着半小时么,这要在马戏城停多久啊……然后没想到,正好7:45到马戏城,这一路上还真堵啊……

今天又乘了一次,堵就堵吧,反正咱也习惯了。可是没想到,刚上车没多久,车就在共康路转弯了,咦?然后上了三泉路,师傅,您这是要送小孩上学么-_-。然后就猜测司机是想去加油了,(三泉路上面有个加油站),但是,司机看都没看加油站一眼,直接在场中路小转,往大场方向开去。班车改道咧?或者司机想带我们玩个大逃杀(车上的确有偶数个人,不过太少了,只有4个)?开了Outlook收了下邮件,没说要改道嘛,但是场中路的路况也没比共和新路好多少呀……要是改道的话,或许可以走沪太路然后上个中环啥的,不过这样也很绕呀……果然,车在少年村路转弯了,这时候已经是7:30了,然后原平路、万荣路(一路都好熟悉呀),看到中环高架的时候,听到司机在打电话,“赶不上来,那娘X”。好吧,看来还是要去马戏城的……

顺便说一下,麦当劳的早饭真不好吃,吃完就睡不着了(因为有咖啡),白白浪费了班车上的大好时光呀-_-

加班奇遇……

上周五被拖去打了一会篮球,导致有一点事情没做完,所以今天从彭浦回来之后就直奔公司,把事情做完……

从公司出来的时候,发现下雨了,而且没带伞,郁闷……刚出楼的时候,看到一辆黑车和一辆taxi,于是飞奔过去,但是那两个司机居然没看到我,把车开走了T_T。无奈,只好走了很长一段路,到大路上。然后等了很久,才看到一辆空的taxi,上车之后,司机和我说,他的雨刮坏了……无语……挣扎了一下,如果我下车的话,可能还要等5-10分钟,衣服可能就全湿了,我的羽绒服不防水,估计明天就只能窝在家里了;如果我不下车的话,就是冒着生命危险乘3公里的车……最终还是没下车,没有雨刮真是刺激下,前方一片模糊,什么都看不见,不过还好一路上没什么车,也没什么人,基本上就是闭着眼往前开了……HOHO,很爽……

现在终于明白,为什么雨刮是一项伟大的发明了=.=