当前位置:首页 > 就业辅助 > 面试指南 > 面试详情

加州求职记之Google面试经历 – 网友分享
Google的面试机会是师兄推荐得到的。事后来看当时完全没有准备好,实在是浪费了一次大好机会,对不住师兄。被推荐后不久,Google北京的HR联系我。电话聊了大概半个多钟头,了解了一些背景情况,然后便着手帮我安排电话面试和onsite面试。

电话面试的面试官是美国的华人工程师,全程说的是中文。由于时差,面试时间是北京时间早上八点(对方的下午四点)。简单问了一些之前的工作背景就开始做题,大致是写一个类,模拟TCP栈的收包逻辑。写完之后又要求改为多线程版本,类似于一个生产者消费者模型。Google电话面试时是在Google Docs上在线写代码的。头一回写,动作比较慢,总体上超时比较多,而且第一次给出的解法虽然没有错但并不高效。多线程版本快写完的时候SSH隧道竟然断了(Google Docs直接访问不稳定,保险起见是翻墙访问的)!由于面试已经超过预订时间,面试官就说算了,面试结束后发到他邮箱好了。最后是例行的问答时间,不记得当时自己问的是什么问题了。

虽然面试官让我把最后一个问题的代码用邮件发过去,他却没有给我留邮箱,事后是通过HR转发给面试官的。此外面试结束后发现面试官给出的多线程的条件有误,会导致系统死锁。于是写了封长邮件,解释了会导致死锁的时序,给出了两种可能的解决方案,并附上了详尽的测试用例,顺便优化了一开始效率不够高的数据结构。当然,过程中没有查阅其他资料,完全是独立思考的。

约莫一周之后,HR帮忙敲定了位于五道口的onsite面试。两轮面试各45分钟,都是算法题,要求在纸上写代码,面试后纸张由面试官回收,似乎是要誊写到面试反馈中去。第一轮的题目很经典,简单到现在根本不好意思说自己曾经做不出来……如果是一个月后的我的话,毫无疑问可以秒杀,但当时却严重卡壳。第二轮的题目稍有一些纵深,DFS搜索加字典树加接口设计,也不是很难;面试官持续要求优化,最后一个优化点我在最后一分钟才想出来。面试末尾仍然是例行的问答环节,由于之前做了几年即时通讯,我便问了一下Google在实时互联网应用方面有没有什么规划,但由于面试官不是这一领域,无法给出什么实质性的内容,相互嗟叹了一下Google Wave之后面试结束。

两轮onsite下来,自我感觉非常不好,事实上这也是我这段面试经历中表现最差的两轮——没有一道题能够在规定时间内给出完整、无错的代码。回想起来,这个结果跟我当时的复习策略有很大关系:当时我还处在看算法大部头,辅以ZOJ/TopCoder做题的阶段,基本上是什么题难做什么题,后果就是每道题都钻很久,解题时间很长,完全没有达到训练编程熟练程度的目的。再加上纸上写代码一涂改就乱七八糟一团,越写越紧张……就面试中写代码的方式来说,我觉得用CollabEdit或Google Docs在线编程最轻松,因为跟平时写程序差不多(当然如果是平时被VS/VA、Eclipse宠坏了那就两说了);白板上写代码次之,因为写错的、不满意的地方可以随时擦掉,保持整体整洁;纸上写代码最难,一不小心就涂涂改改搞得一团乱麻,既影响自己的情绪也影响面试评价。

虽然Google的面试只进行到第二轮onsite,但可以看出Google的面试要求还是比较高的。面试官在关注代码的正确性的同时,也会关注编程风格甚至接口的注释。此外,Google的HR工作做得很到位,面试前给我发了详尽的准备材料,邮件回复也很及时。最后电话通知面试结果的时候HR先是问了我自己的感觉,然后结合面试官的评价委婉地给出了结论。
您的评论
ICP备案号:浙B2-20090187