原定的下午2:00开始,一分钟都没迟到。赞一下Google工作的认真。电话是从google北京办公室打来的。上来一听是中文,失望了不少。之前连续听了两天NPR News温习口语环境,现在一看完全用不上了。
 
上来第一个问题是:谈一下你以前做过的项目。因为我应聘的是google的wireless项目,所以挑了一个以前做过的微软的移动开发项目说了说。刚简单介绍了一下项目内容,对方就开始针对刚才我的描述发问。问得基本都是和技术有关的问题,比如我说我们的项目用到了GPS定位,他就问如何获得准确的GPS定位数据,如何把GPS坐标和二维地图进行一一映射,如何处理不合情理的数据,如何存储数据更高效。感觉上对方相当善于从我的描述中找到发问点。所以建议xdjm们介绍自己项目经验时,除非自信是特别能化无为有、自圆其说、口才惊人的那种,否则一定要挑自己最熟悉的项目介绍。
 
第二个问题是编程常识题:C语言中分配内存有几种方式。这个不多说了,仔细查查书就能知道。我谨慎的答一种是分配在堆里一种分配在栈里。达人不要笑话欧。
 
第三个问题是算法设计题:一张白纸上画了N条直线,用一种时间复杂度最低的方法算出这些直线一共有多少个交点。个人感觉以后在面试技术类职务之前一定要多看看算法题,答不上来真的好糗。我一开始想了一种最直接的复杂度为O(n^2)的,被鄙视说复杂度太高,问还能不能把复杂度降下来。于是我开始绞尽脑汁的想。大概20分钟时间都花在这道题上了,中间被对方提示和纠正了两三回,最后还是没完整的答完,只好进行到下一道题。(真后悔之前没主攻一下算法部分)
 
第四个问题还是算法题:有个MxN的迷宫,一个人站在迷宫的左上角,出口在右下角。这个人每走一步只能向下一步或者向右一步,不能向左或后退。问这个人从入口到出口一共有多少种不同的走法。这题相对简单一点儿,我答上来了。
 
最后是提问阶段,我提了一个技术层面的问题和另一个Google产品定位上的问题,对方很耐心的给予了解答。
 
整个电面持续了57分钟。个人感觉那个求交点个数的答得不好,没有给出正确答案。以后应该多看看算法部分,要不然就别指望进Google混了。但愿自己和Google的缘分不会到此终结,特发此面经以攒rp。
 
挂上电话后的心情是好像弄到了五味瓶,各种情绪汇集在一起。平日里自己觉得自己挺优秀的,但是突然感觉有种被鄙视了的感觉。也许以前的自我感觉良好都是蒙在眼前的幻觉,真正的被鄙视的感觉才是真实的。听着dido的thank you写完此文,希望自己能够重新找回自信,开拓出属于自己的一片天空。

(自己也亲身体会过后,感觉知名外企的面试相当打击自信的。)