百度的宣讲我没参加,当初他们隔壁的豪威的宣讲送了件衬衫把我吸引过去了(后来豪威的电话面试只问了不到10分钟就结束了,没问什么技术,估计觉得我的兴趣方向和他们做的不合适)。百度每个职位的笔试题基本都不同,我投的深圳的移动开发的岗位,考的也是基本的数据结构和算法。有个面试宝典中最少用几只小白鼠测试出1000桶酒中的一桶毒酒,用二进制搞定,笔试的算法题有一个逆置单链表的问题,用3个指针搞定。最后一个大题让设计系统,不会。
面试在酒店进行,一面先自我介绍了下后问了问项目,问到我HTML5的一些问题,去年在北京多次参加HTML5的峰会和年会,礼品都拿了不少,这方面熟悉。我从HTML5的概念、前世今生以及它和Adobe Flash之间的恩怨给他吹了一大堆,包括WHATWG与W3C的分裂和各大浏览器厂商在订制H5过程中的掐架。最后总结就是HTML5是标准,将来必然有它的用武之地,现在有些性能已经比较成熟可以使用,但还有很多像WebGL等还非常不成熟,在游戏开发等方面现在还无法和Flash比拼。当我提到现在几乎所有移动设备的浏览器都不支持WebGL时,他指出他们的百度浏览器是支持WebGL的,我心里一惊,然后扯了些其他的圆了过去。后来回寝室后下载了个百度浏览器试了试,确实支持WebGL。此外一面还让写了2个题,一个是冒泡排序,这个简单,很快搞定,还有个用宏定义来实现2个元素数据的交换,思想给他说了下,我用的是a =a+b; b = a-b; a = a-b;但没写好,其实基本都已经写出来了,还是自信不足。
一面过了一天后收到二面通知,这次只让简单介绍了下项目后就连续出了几个题。第一个是查找单链表倒数第k个元素的问题,09年考研的数据结构好像就考了这个题,用2个指针搞定。第二个又是那个上楼梯的问题,可以选择走一步或两步,问有几种走法,几次听说了这个题都没有用心去考虑过,好在最后还是在他的提示下用递归写出来了。最后一个是查找一二维数组元素的问题,二维数组的行和列元素都是递增的。我刚开始一直想用二分查找,最后他不让用二分查找,我一下没辙了。最后他还是提示我在每次查找失败都删除一行或一列,能在O(M+N)的时间复杂度搞定。二面感觉不是太好,但没想到他就直接让我留在酒店等待三面了。
三面只问了项目,他让我给他介绍我所做的Eagle3D游戏引擎的结构和功能,我把整个架构和设计过程给他说了一遍,后来他告诉我那边开发的有一些百度地图的项目,好像还和图形学、虚拟现实相关。面试过程非常融洽,感觉非常好,第一次强烈感觉能够得到offer。后来差不多两天过后就电话通知给offer了。后来签三方时HR MM告诉我深圳那边主要是些国际化的业务,也许我在外企实习的经历沾了不少光。
腾讯是我第二次去上海笔试,考的也比较基础。后来在面百度时收到了腾讯的面试通知,于是百度3面过后拦了个的士就往火车站赶,刚好赶上了能赶上面试的最后一趟火车,到上海后又疯狂的挤地铁,赶到腾讯订的酒店时刚到面试时间。正感叹今天的运气很好,结果面试时让我彻底心凉了。我投的是深圳腾讯的游戏开发的职位,当我进入面试后介绍我做的游戏引擎时突然被他打断,然后说这次通知面试的是上海腾讯后台开发组的信息安全的职位,问我对这职位有没有兴趣…后来跟他聊了聊Flash3D的技术和Unity3D那些引擎后,他告诉我这边校招的职位不合适,看后面如果深圳游戏开发有职位时再内推,哎,两次去上海的路费就这样白费了,不知道他们招聘系统怎么做的。
2012.10月下旬EMC第一次霸笔
EMC本来和我兴趣不相干,但其优厚的待遇和欧美企业的性质还是很吸引我。之前投的所有简历基本都收到笔试通知了,唯独EMC没给笔试。于是果断去要求霸笔。试卷一发下来我就SB了,都是操作系统的题,还又考了PV进程,让我考研之后做都能比现在做的好。本来2个小时的笔试我笔了一个小时,名字都没写,交了卷灰溜溜的逃出了考场。