搞定G家,谢谢大家帮忙攒人品,ECE转CS方向非典型案例。。。

avatar 12223
xiaokeer
95501
176
1point3acres.com里我总结了到qualcomm为止的结果,后来就回家过寒假了。。。中间陆陆续续跟G和Q联系。1.11回到美国,催着G给结果,直到昨天终于确认。这两天准备纠结一下G和Q。估计是会去G的,因为他家的蛋疼工程师文化深得楼主心意。。。。

跟坛子里的其他神牛相比,楼主只是个普通人。。。所以普通人要用普通人的办法来找工作。。。半年从头学起CTCI刷两遍什么的。。。根本做不到啊亲。。。。{:7_152:}
根据“不懒不是好工程师”定理。。。楼主用的都是最懒的办法。。。不过楼主的背景有点非典型,亲们要学的时候要谨慎。。。
具体的背景请参考上一个帖子
另外这个帖子不会涉及很具体的面试题,因为楼主从来就不是题海战术的人,模糊不清的面经还容易误导人。
=======================================我是调皮的分割线===========================================
先说说G家的流程吧。他们家是著名的广撒网,捞好鱼的类型。面试的时候可以用不计成本来形容。。。。这个和NV这种精打细算的公司相比就很明显(Q也很大气)。

第一轮on campus是在10月份的样子,两轮45分钟的面试,本帖隐藏内容需要登录后才能查看。
第二个面试是一个白人小哥(事后证明已经30多了。。。完全看不出来啊。。。)问的是基本的sorting algorithm。复杂度,空间分析,平行化等等。都是算法书里的基础。他还把binary heap的建堆时间记成n log(n),我说n log(n)都够完全sort了,要堆何用。。。总之第二个面试很愉快。

然后就过了好久好久,小秘通知需要一个third phone interview ( 估计是一个strong hire,一个neutral)。然后又是漫长的等啊等(google面试的人太多了),期间phone interview被跳票2次。。。。
电面的时候被问了一个听起来很简单的问题,然后楼主在电话里使劲想使劲想,还是没有solution,但是一直在沟通思路,这点非常重要本帖隐藏内容需要登录后才能查看。所以。。。有的问题解不出不要慌,很可能他给了你一个很难的题目,目的是测试你的problem solving skill,你要是能45钟做出别人研究几年的问题。。。就不用去应聘了吧。。。。

又过了一周多的样子,楼主收到在NI onsite的时候同时收到Q的offer和G的onsite。 那个时候已经12月初了,M和A也给了onsite,但是考虑了一下seattle太冷了又下雨(最讨厌下雨了。。),所以楼主决定只试试G,不行就去Q了。

G家的onsite是4轮(+1轮午餐,不影响结果的,有问题随便问)。免费食堂很nb。。。中午吃饭人超多。。。估计去了就得胖了。下面简略的说一下面试套路吧。本帖隐藏内容需要登录后才能查看。算法简单,实现蛋疼,是一道coding题。45分钟不停在黑板上写代码。这个时候构架就很有用,不注意构架的话很容易写着写着就乱了。推荐很多向我一样ECE半路出家的同学们,在平时写project的时候就想一想整体构架,有时间的话看一看design pattern,会有意外收获的。


午餐是一个Austin CS毕业的印度哥哥带我去吃的。他也上过C++ template and STL那门课。。。于是就聊了一会教授什么的。午饭后我说我想午睡一会,他就把我带回到面试的房间,坐着休息了20分钟然后开始下午的面试。(一个小提醒,onsite的时候车轮面,换人的时候问你要不要休息,千万别客气,厕所走一走,倒一杯咖啡什么的,可以换换脑子
第三轮,继续三哥。。。我跟三哥真是有缘啊。。。难道是因为我长得像三哥么。。。。{:7_173:}(不过我其实并不排斥三哥,我遇到过的三哥人都挺好的,口音嘛,习惯习惯就好了)三哥的问题很简单,二叉树BST什么的。后来又问,如何比较两个树的结构是相同的。搞了一个暑假的XML能被你难倒么。。。。
第四轮终于见到白人哥哥了。。。。真心跟白人聊天最轻松。。。。白人哥哥问了一个很有意思的问题,给定一个n个数,告诉你数的range是1 到 n-1,有且仅有一个duplicate,如何找到它。如果这个array是sorted,能有什么优化,后来还给了各种奇葩条件求优化,具体不记得了。。。纯算法题,一行代码都没写。楼主当时面的信心爆棚,文思泉涌。。。。算法题什么一定不要慌,气定神闲方能帷幄千里。(当然楼主当时已经有Q的offer了还满脑子是回国先吃望湘园还是海底捞这样的问题,很幸运的心态意外轻松。。。)

最后就是蛋疼的等待时间了。。。因为有圣诞假期所以等了一个月。。。。幸好Q家很nice把offer延期了。不然就要hard decision了。。。。{:7_162:}

===================================================我是心态总结的分割线=======================================
首先楼主对于自己的语文表示抱歉。。。高中狂补了3年也就考了个平均分的伤不起。边写经历边想的感悟我用蓝色标出来了,大家可以注意一下。下面提供几点经验吧
1. 面试dream company之前一定要先做好足够的准备。这个暑假实习的同学们,请把握机会多学一些software engineering的东西,比如design pattern什么的,最难的设计题考察的就是这些知识。找工作前3个月一直到找到工作为止,持续不断地看算法。楼主非常不赞同题海战术,CTCI那本书也就看了10多道题就觉得没啥意思了。。。转而跑去看MIT的那本intro to algorithm,觉得那里面的算法真是神算法啊。于是面试的时候经常overkill。。。不过事实证明这样的思路非常适合大公司,因为他们最看重的就是思维能力,不要求刚去就能上手。

2. 面试季中,communication的锻炼是非常重要的。这点在我前面的总结帖里提到,在这里就不赘述了。

3. 对于ECE转码农方向同志们,我有一些建议。本帖隐藏内容需要登录后才能查看。

4. 对于题海战术,楼主一直持保留意见。当然必要的练习题是要做的,要是不能在白板上完整写出200行左右的solution code,或者是对C++ STL或者java 的collection还不够熟练的话,请先去打基础吧。。。在算法思路上面,楼主觉得靠题目练是比较慢的。。。还不如直接拿算法书看。。。一般面试题最多就用到sorting,BFS,DFS,遇到tree的题目请一定从recursive的方向想问题,重点推荐好好研究dynamic programming,要是给定一个DP问题的情况下你能3分钟就找出optimal subsolution,面试官绝对会眼前一亮的.数据结构好好研究一下hashtable(第一次面试吃大亏了。。。。)

5. 最后讲一下timing的问题吧。。。一般大公司都会很早开始招人,小公司反而会动作比较慢。但是我们总不能没什么面试经验的时候就跑去面dream company吧。。。所以策略上是尽量先安排几个备胎公司面着,不行就当交学费了。等准备成熟了再去挑战top company。不过呢。。。G是出了名的慢,为了避免hard decision,还是把它放的稍微早一点。楼主的timing基本就是乱来的。。。所有的公司一起上。。。。不过其实可以通过电面和onsite的时间协调各个公司的进度。楼主第一个onsite去的NV基本就是去交学费的。。。事实证明这个学费交的非常值,因为后面的onsite全出了offer。。。。

anyway,絮絮叨叨的讲了这么多,无非是想回馈一下地里的同志们。楼主在此表示对不起小学语文老师,这样的文字对于题目来说应该算离体处理吧。。。同学们有问题我可以提供我的看法。尤其是ECE想转方向的同学,可以讨论一下选课什么的。
  • 310
176条回复