找工作总结

来源:互联网 发布:java中方法的数组调用 编辑:程序博客网 时间:2024/04/29 06:39

http://zhan.renren.com/tsinstudio?gid=3602888498029674730&from=post&checked=true

[转载]本科学材料,读研学CS找工作总结,强烈推荐!

CS找工作总结
从去年7月份开始准备,到今年5月底确定下来,我找工作断断续续也有个快一年了,现在回想起来还是有些东西想分享出来,给后来的人做个参考,毕竟在准备的过程中还是看了前人的心得面经之类的东西的。

1. 背景

zju材料本科,考研转至cs,无acm和各种编程大赛经验,无实习经验,无nb开源项目经验(这个我倒是一直想来着,不过后来有点懒就荒废了)。找实习时一个offer也没拿到。找全职前暑假准备了两月。拿到hulu yahoo baidu taobao 知乎 华为,推掉了一些面试笔试,被google china 网易游戏 有道拒了。快毕业时又开始找美国的工作,投了google facebook,都拿到offer。

2. 国内

作为一名小菜,和大牛是完全不能比的,大牛能靠平时的积累就秒杀掉面试题,而对一般人来说,2月左右的突击则是非常必要的。我亲身证实了这个道理,实习的时候根本没准备,面试的时候其实都是不难的题,但一问三不知,被bs也是在情理之中的事。而用暑假准备两个月后基本就挂了很有限的几次(google china 网易游戏 我是不知道为啥就挂了,有道那天真的是脑子一团浆糊,自己的问题),推掉好些面试笔试后也还是拿了好几个offer。因此面试前的突击准备是非常非常非常重要的。

国内的面试题范围很广,从算法到语言细节操作系统都有考到,可以分为算法和非算法来说。国内的算法题难度倒还是有一些的,但一般公司并不会要求你白纸写代码,这真的省了非常多的功夫,只用描述一下思路就能够过关,这一点比起国外来真是简单太多了。我之前主要是通过找题库+经典算法来准备。题库主要是何海涛100题(但其实不到100)+编程之美(有些题太难了不太可能出现我觉得)+编程珠玑,另外有时候还会在网上搜一些别的题库,但那都是扫扫就过了,经典的题目之前说的3个其实基本都涵盖了,网上的主要是查漏补缺加训练灵活应用用的。经典算法还有蛮多,在这里不太能一一列出,我所准备的最难的算法大概就是kmp,后缀数组,动态规划这一级别的,网络流凸包之类我就直接pass了,想着如果面试要是真碰到了我就直接说这可能和啥相关但我不会。国内算法题出现比较难的可能性大些我觉得,因为不要写代码,所以做题的时候还是要尽量地举一反三,总结出碰到什么类型的要怎么做,比如碰到数组相关的题了,那可以先试试hash,排序,归并(我当时总结过的,但是现在一下子可能说不全),一般题目也就做出来了,很多时候是完全没思路,如果想到个开头那基本就解决一半了。但要记住并不是碰到难的做不出来就挂了,面试过不过还要看别人的表现的,所以我觉得主要还是专注于经典的算法就可以了,过于难的花太多时间在上面不值得。保证每天都看看题保持状态。

非算法题的话主要有语言细节,操作系统,海量数据处理。选好一门语言然后精通它,在面试时最好不要说我什么语言都很熟(除非你真的是大师级的)。以我为例,我用的是c+python,如果碰到有人问我很深入的c++问题or java我就直接说我不太会这个你换一个。c的话深入下去要看蛮多os和汇编相关的知识,python的话我也看过源代码,再加上网上流传的题目训练,语言问题倒是不大。同理如果你用java,那么jvm jit等这些应该也都必须有所涉猎。操作系统方面就把恐龙书拿出来很快地过一下重点吧,太细节的肯定不用,一些经典算法(银行家,cache)加上关键概念就够了,再加上网上查漏补缺。海量数据处理听起来倒是蛮nb的,但其实真的不难。不外乎就是几类的题目,总是用什么hash,bloom filter,cache,多机器归并等的方法来解决,网上有个帖子有关这个的,讲的比我详细多了,大家可以搜下,这类问题真的是最不用担心的,看起来难只是因为接触少,引用我面google时一个interviewer的话就是It's just technology, not magic.

3. 国外

鉴于在国外找工作的人还不多(这也是我写这个的目的之一,希望大家多多往海外发展,这样中国人多些也好玩些),我还是先讲下一般的流程。一般国外找工作投简历最有效的方法就是找人内推,网投虽然也不是不可能,但是大多数简历都会直接被剔除(我简历就非常地不convincing,我觉得如果网投的话肯定没戏),如果自己没有认识的朋友在想去的公司的话,那么去linkedin or mitbbs上找人求内推也不是不可能的事,但一定一定要注意自己的言辞,因为别人没有一定要帮你的理由。过了简历关后一般会有一个短的hr talk,大概地考察一下你的兴趣啊语言之类(因为我简历不够好,fb还要我做了一个在线题),接下来就是电面,加州和中国的时差真的很痛苦,不是半夜面就是清晨非常早面。电面过了后公司会安排你飞过去做onsite,一般来说是中午或下午开始面,会有4-5个人左右来面你,每轮都是45分钟,中间有没有break取决于公司(fb只有3轮,google不加lunch interview有4人,都没有break)。面完后你就回去等消息吧。据说在onsite后也有可能电话加面的,但我没有碰到。如果你表现够好,拿到了offer,还有另一个要操心的问题就是工作签证,详细的大家可以google,我简短说下。每年的4.1号开始申请下一年的工作签证,像今年4.1开始申请的就是13年的签证,这几年都比较难签,工作签证有限额,这几年比较紧张,一般2月就满了,如果错过了当年的签证,那问题就有点大了,因为公司一般不会将你的offer保留一年等下一年的4.1再帮你申请工作签证。对于中国人来说想在硅谷找工作的话,基本只有fb和google两个选择,ms和amazon这两个大公司不国际招人,中国人投原则上只能投中国的office。google虽然中国也有,但也国际招,这也是我只投了这两个的原因。对于小的startup来说的话,更不太会国际招人了,因为需要就不多,国际招成本又大些。

接下来讲讲面试题,其实真的不难,只是把中文换成英文了而已。还是题海训练方法我主要做了careercup 150 + mitbbs jobhunting版 + leetcode.com(题目和online judge)+ glassdoor careercup 这些网站上别人报的面试题。每题都一定要白纸手写代码(vim or eclipse其实问题也不大,但像vs那种有提示的就绝对不行)!如果你做500题(手写检查加输入电脑运行),那其实哪个公司的offer都是轻松拿的(我估计只做了300道左右)。fb招master没有设计题,google有但也是设计一个带最小值的stack这样,所以只用考虑算法题,别的全都可以54。如果一个算法难到5分钟无法解释清楚思路,那它基本不会出现在面试中。一定一定一定要专注于基本的经典题,不要把太多时间花在难题上。想知道大概是什么程度的就去我说的题库看看就知道了。

面试要多好的英语?这个问题很难回答,我在国内找工作的时候大摩电面是英文的,那讲的真叫一个惨不忍睹,但是元旦出国玩了10几天,回来再准备面试时感觉就还不错了,后来面试时真的几乎没有因为语言问题觉得难以沟通过。一般来讲电面要难一些,因为只能通过声音交流。你需要在专业领域能听懂对方(这个其实大多数人都行)和表达自己的看法 就好了(可以在准备时一个人尝试解释算法)。总的来说我觉得应该不是大问题。

4. 心态

这是最最最重要,最容易忽视的一点。我从实习时面试忐忑不安到后来觉得任何面试都都很简单,最重要的原因不是因为准备了多少多少题,而是面了这么多,我知道了面试大概的套路,怎么和面试官交流,怎么表现我自己。怎么样养成好的心态这个问题很难用语言解释,我觉得可能也无法用语言解释,多来几次不重要的面试演练一下应该是最好的方法。总结起来大概就是自信,诚实,不要恐慌,把面试官看成平等的人,表现好你自己,突出优点,不用掩盖缺点。

ps. 在准备时也要调整好心态,不要有过高的期望,这不是说要没有动力而是如果期望太高容易让人太过紧张烦躁,脑子里只要想着怎么准备这件事,尽量不要想如果拿到offer了怎么办,如果找不到工作怎么办这样的问题。
 
 
http://zhan.renren.com/tbback?tagId=18599&from=template&checked=true

迟到一年的面经,给准备做程序员的童鞋们

去年的这个时候,我还刚从阿里巴巴实习回来,在实验室里无心干活,整天忙着找工作的事情,找工时的经历还历历在目,一晃一年都过去了,现在成了帝都我谷公司的一位码农。毕业离校前就答应要给师弟师妹们写个面经啥的,拖了半年,眼看下一届这就要找工作了,不能再拖了。其实网上能找到的面经啥的都很多,我就不废话了,给大家带来一点干货。

找工作是可以准备的么? 虽然说找工作的时候主要靠的是你平时积累的结果,但是,任何考试都是有一定模式的,所以呢,通过一定的训练可以提高拿到高级offer的几率,特别是面技术类的职位,有些练习是有立竿见影的效果的,准备还是相当有必要。

找工作要准备什么? 请先参考一篇文章《怎样花两年时间去面试一个人》

怎么样,知道自己要准备什么了没,是不是发现时间根本就不!够!了!
没错,时间永远都不够的,现在只剩下一个多月了,咋办呢?
其实一个多月的时间能做很多事情,我本人也只是从8月结束前的几天开始准备找工,一直到10月底结束所有面试,边准备边面试大约也就2个月的时间。不过因为时间紧迫,选择做什么更为关键。下面我罗列下该做的事情。


1.复习数据结构与算法

几乎所有IT公司的主要面试形式都是问编程题,如果数据结构与算法都丢了建议你还是不用找IT类的工作了吧。首先是把数据结构和算法设计这两门课的课本再看一遍,熟悉数组、链表、堆、树、图、hash这几个数据结构,掌握排序、分冶、贪心、动归、搜索、这几种常见算法。

形象一点说,可以把这些内容分为3级。 1级包括:数组、链表、树、排序。这些都是最基本的东西,必须非常熟悉,如要多写写链表的插入删除节点,树的遍历啥的。特别是排序,各种排序算法都最好能在5分钟内写出来,排序几乎是任何一个公司面试都会考察的。掌握了第1级的技能,年薪12w以上的工作肯定就没问题啦。 第2级包括:所有常见的数据结构、简单的分冶和贪心、基本动归和搜索算法。掌握了这些,你应该能拿下18w左右的offer。 第3级:除了常见的数据结构,你还得对啥字符树啊,B+树啊比较熟悉,hash必须能写出一个优秀的hash算法并且知道hash的几种不同实现如何解决冲突等,对于几种常见算法类型如动归搜索等,最好在pku的acm平台上都做上几道题熟悉一下,锻炼解题思维。嗯,做到这些的话,你应该可以冲击25w以上的offer啦。当然,如果你是ACMer,可以自动忽略这段东西。

2.计算机科学技术的技术知识

也就是上课的时候学到的内容啦,越是优秀的公司越注重你基础是否稳固,烂公司只关心你会不会写javascript或php。最先得复习的两门课是操作系统和计算机网络。操作系统有多进/线程、虚拟内存、文件系统啥的。计算机网络把TCP/IP。HTTP,UDP的概念都熟悉一下。计算机系统结构最好也看一下,主要明白下cpu架构,流水线什么的。还有两门必须复习的是离散数学和概率论,离散数学主要是复习下各种概念,不用看太多。概率论要着重搞清楚条件概率是咋回事,去年好多的笔试题都有涉及。

3.做一个好简历

简历绝对是需要花时间做的一个东西,一份好的简历能让你有一定的几率免除掉笔试,直接进入面试阶段(有道和hulu我都是通过简历直接免了笔试)。我的简历历经各种修改到最后定稿我弄了一个多星期。一份好的简历好要做到重点突出,排版整洁。篇幅1到2页即刻,我的简历写了两页。多想想自己的哪些经历是和职位相关的。注意不要用乱七八糟的字体,中文以宋体为正文,英文Times New就ok。切忌太花俏,你是程序员又不是搞UI的,还有千万不要写什么能熟练操作word、excel啥的,相当扣分。最后,要把简历格式保存为pdf格式,不要用啥doc,docx,让人一看就认为是除了windows啥也没用过不知国际标准为何物的小白。

4.多面试,多做题,前期海投,后期重点突破

在短时间内最立竿见影的方法是参加各种面试,做各种真实的面试题,针对面试的反馈做调整,然后下一次面试就能用上了。 基本上,大部分it公司都会在9月初开始到10月底这两个月的时间段内进行校招,国企银行什么的可能会晚一些。推荐大家在早期尽量多参加笔试面试,各种海投,一个作用是明白这些公司的笔试面试都会考什么问题,避免自己闭门造车。二是尽快熟悉面试的节奏和气氛,之后面心仪的公司时才比较不会紧张。在学校里面最好能跟几个同学形成一个圈子,分享各自去面试遇到的问题,搞个内部论坛多写面经多分析。如果有在不同城市的高中或本科同学,可以利用有些公司在不同城市招聘的时间差,获取今年最新的面试情况,如题目和各岗位招人的数量等等。到了10月份之后,对自己面试的情况有一定的了解了,根据反馈多做一些准备,多花些时间看点相关的书做调整,重点选择参加几个自己确实想去的公司的招聘。

5.书单
最后推荐几本有用的书:
《编程之美》: 这本书有许多面试题的真实案例,几乎我在每个公司的面试中都能遇上一道在书里能找到的题目,如找第K大数什么的。最好能完整读完。
《c++ primer》: 在熟悉下c++语法,特别是面向对象部分(因为我学校里c++写得多,所以很多书是关于c/c++的,据我观察似乎学校里写c++比java要稍微好找工作,因为很多面试题c++实现比java要简单)
《c专家编程》: 关于C的很多比较底层的知识,忽悠面试官专用。
《深度探索C++对象模型》: 关于面向对象怎么实现的一本书,会解答诸如虚函数是怎么实现的,一个对象占用多少内存这种问题,据我所知网易游戏非常喜欢问这方面的东西
《effective C++》: 忘了讲什么的了,记得我好像读过...
《c++/java程序员面试宝典》: 这本书价值不大,不过可以看看...其中智力题部分,大部分公司不会问到智力题啥的,不过不能排除部分奇葩公司来一道。
《算法技术手册》: 很多常用算法有很好的实现,可以做查阅用

6.多读书多看报,少打dota多睡觉

要多关心下业界的新闻,明白下最近都近都在发生些什么事情。不要在面试的最后让你提问题的时候净问些工资多少啊,什么时候发offer啊这种没啥作用的东西,多针对公司聊下业界的一些情况,让人知道你不是一个只会写代码的码农。如果你说啊我平时都没注意咋办呐?最简单的方法就是关注各种IT公司老总的微薄,什么周老板啊雷布斯啊李开复啊看看这帮人最近都在说什么,然后再上上虎嗅网啥的,起码扯一扯是没什么问题了。

好了,基本上也就这样了,我已经把我毕生的心血交给了大家,接下来就看你们的了。祝各位师弟师妹们好运~ 哦对还有某些博士师兄师姐们也~好运

 
 
it面试与非技术面试经验总结
 

offer: 两个,最终总算有一个比较满意的offer。
总结:
1、投简历速度一定要快,血淋淋的教训 民生银行总行 简历截止11.20多吧。但是据内部
消息10.31之后投的简历直接无视,另外中国银行总行也是差不多。
2、平时多积累一些非技术问题,比如我之前在微软实习过,终面时那个manager问我来微
软实习的时候期望从微软得到什么东西,我都不知道回答得到一个永久的工作,终于很遗
憾的在一个月之后得到了一个口头的拒信。
3、实习的时候就要选择一个好的实习公司,这边说的好指的是偏向于留实习生的公司。这
里特别推荐baidu,marvel,ibm。
4、终面的时候,特别要引起足够重视,同时要注意各种细节(特别是电话面试一定要注意
信号和手机正常工作),这个我做的不好,没有什么经验可谈。
5、要低调,先拿一个保底的offer再说。这个microstrategy是我一个很好教训。当时自以
为能拿到另外一个ms的offer,比较狂,跟那边说只要us的offer,结果挂了。要是能够拿
下那个offer的话,至少后面找工作的时候不会那么被动。当然那些和我一样对地域有要求
的同学,可能不是很有参考价值。
6、要积极主动,脸皮要厚,可以在适当的时机再三骚扰一下,人家拒了你之后,不会记得
你是谁的。我们最终的目的是要offer。这里hulu和网易有道,腾讯算是人为得来的面试机
会。大家找工作的时候不要等人家来通知,特别是那种要去外地找工作的,因为很多公司
在当地就有足有的资源供他们挑选了,他们不愿意花费那么多时间精力去外地招人。我当
时投hulu的时候,第一封邮件如果他们给我机会,我愿意自己去北京面试,结果没有给我
机会。一天之后,我再次发邮件说我已经在北京了,随时可以安排面试。一个小时之后,
就收到了面试通知电话。
7、关于终面,我的总结是缘分最重要,不要计较太多得失。我拿到的第一个offer,终面
的时候manager是我们实验室出去的,所以最终比较顺利的拿下了offer,虽然我感觉面试
几乎没有面什么技术性很强的问题,主要是跟他一起回忆他的大学生活和向他汇报各位老
师的近况。有校友的感觉真好!
8、关于我拿到的比较满意的这个offer,主要是兴趣使然,外加有些挑战性。经验是如果
是小公司,而且你面试面的还不错的话。尽量得到公司老板的电话,如果他是因为你对某
方面的经验比较缺乏而犹豫的话,回去看看这方面的书,保证能看出些名堂的话,再回头
去找他。对这种公司,你的passion对他来说是最有吸引力的。

________________________________________________________________________________________________________________
////////////////////////////////////百家争鸣,各抒己见///////////////////////////////////////
建议的准备:
1. 其实我觉得“项目”、“算法”、“操作系统”、“数据库”、“网络”。。。等,只要取其一你比较精通,面试的时候引面试官往你精通的方向侃,基本搞定个互联网 offer问题不大。
2. 我是走的算法这条路,POJ 上几十道题吧,POJ 首页上介绍的《程序设计导引及在线实践》做完了,大概有100道题,这100道题其实比较水,然后就是有什么比赛神马的都打打酱油嗯。。。刘汝佳的白书《算法竞赛入门经典》看完了,题没怎么做,黑书《算法艺术与信
息学竞赛》没看。《算法导论》完全就是当参考书用,跟新的一样。。。《编程之美》看了个半吊子,《程序员面试宝典》看了一遍。

我个人觉得代码这个东西,首先要手写流利,数据结构一定要精通,一般的单链表的操作、排序等等,一定要流利的写出来,然后就是不要默写书上的,要做到自己能敲出自己的代码实现排序等等。这些都做到了才需要去看一些算法,OJ上敲一些水题,看看《编程之美》的第二三部分基本就够了。

马上互联网招聘潮就来了,我觉得我上一段说的方法还蛮速成的,可以加紧练习一下。
 

结束打酱油的生活

2010-11-01 15:13:58| 分类:life bubbles | 标签:面试酱油|字号订阅

10.31日晚11点左右回到宿舍,给打酱油的生活画上了句号。从七月份开始准备找工作,到现在已经四个月了,期间夹杂着一些不开心的事情发生,直接导致自己瘦了10多斤,不打酱油了,也不换了,Just SoSo 了~。暑假前hulu来交大,被狠狠的鄙视了一番,让人感觉自己是低能儿的感觉,令人欣慰的是那面试官给推荐了几本书看,像《编程之美》《如何移动富士山》《编程珠玑》这几本,看完之后对于面试技术类岗位绝对是有很大帮助的。《编程之美》的题经常出现在各种笔试面试的题目里,应该说是非常实用的宝典;《如何移动富士山》稍微不那么侧重于题目,但是书写的很好。暑假在家的六七天里,心情不好,就搬个躺椅坐在门口看这本薄薄的书,一点点惬意,一点点着迷,把生活的琐事、烦心事都忘了的感觉;《编程珠玑》感觉写的一般,很侧重于怎么提高代码的效率,很细节,很细节,笔试面试中出现的概率不大,但是看一看应该对自己将来写程序有所帮助,一个好的coder是不能不考虑效率问题的。
之后,经过了漫长而充满了血色的哀伤的暑假,首先是腾讯来了,来的那个早啊,都提前到国庆前了。内推面的soso岗位,上来做题,面试官是个很看重代码实现的人,而且是c的,直接被pass了,我很抑郁。回来一琢磨,是自己太抽筋儿了。有时候面试就是拼的运气,笔hulu的时候一道题和这次面试的题一样,笔hulu的时候给出了o(n)的解法,这次却给了个O(nlgn)的,这就是抽筋儿的具体表现。不错的是第二天又收到了面试通知,过去首先开诚布公的说“我是做java的,c不太好”,面试官很和蔼,说“我就是招java的”,问了些基本问题,感觉ok就过了一面。然后二面的面官也很好说话,介绍介绍项目经验就过去了,然后等了一个多小时,HR面,谈完就完了。心想终于有个offer垫底儿了。
9月底腾讯通知签offer,我们一伙人结队去的,等了一上午最后跟我说“我的部门还没划分清除,要再等等,但是给口头offer”,窃喜,不签刚刚好,还可以找找其他的,货比三家。
之后的360笔试因为KKS回学校了,喝酒喝的有点儿high,直接忽略了,后来才知道360给的很高而且还解决户口,我了个去……
之后百度来了,笔试感觉还不错,虽然给出的答案都有些小bug,但是我个人基本满意。等啊等,等到了第一次面试,别人都是去南阳面的,可是我的一面竟然是电话面,感觉有点儿悲剧的可能。不过一面的效果还不错,第二天就去二面了。二面时前面的问题都是很自然的技术聊天,最后一个就是那个4枚硬币的问题,没做出来,不过还是通过了,进入三面。三面很凄惨,被三面的面试官狂鄙视~幸运的是最后还是通过了,第二天晚上收到了搜索研发的offer,那一天过的叫一个忐忑一个纠结啊。
创新工厂来了,笔试被鄙视,霸王面,继续被鄙视,往往最想要的就是你得不到的,或者说是得不到的是最想要的,反正是很郁闷。他的题除了那个KMP意外都很easy,不知道为什么就被鄙视了。霸王面最后问了下,人说“我们字符串倒序那个的判卷标准是完整可运行,无bug的程序为标准”,我郁闷。我当时还考虑了如果字符串特别长,长到大过内存容量怎么办,写了很多idea。估计就是看到字写的太多了,直接被pass了。所以说笔试、面试前还是要多搜搜面经,不是为了碰到题,而是为了了解公司的取向,公司和人一样,有些秉性,而且很少有变化。
后来,Micro strategy 来了,听师姐说“英语不是大问题”,就上了。笔试题目不难,一个C++继承虚表结构的题,一个非递归广度优先遍历的变形,一个概率题,一个0-1涂色的题,还有一个忘了。题的具体内容后面可以再说,都不难,但是考完了就发现学好英语真的很重要,因为很多词不会写了,心里有但是倒不出来的感觉真的不爽的说。
差不多有一周以后收到了面试通知,题目吧,有保密协议在先,不便透露了。虽然英语很烂,答的吞吞吐吐的,但最后还是过了两面。然后收到了去杭州面试的通知,过去聊了聊就直接发了offer,感觉自己真是人品大爆发了。从西湖国际出来,往南看去就是天目山(说实话在杭州呆了三四天我还是转向的一塌糊涂),穿着二锤的正装一路就走到山脚下,又爬了上去,可怜了我的脚和新皮鞋了。山不高,而且都是石板路,一路上来也不是太累,稍微出了点儿汗。一路上就在想签哪个,签哪个?其实我最想签的是创新,可惜开复大伯不要俺。剩下的三个中间选一个,先前百度和腾讯pk,百度已经落马了其实,因为我很看好腾讯做什么东西都做的很成功的团队,虽然抄袭等等的毛病太多。百度吧,纵然出了个框计算,但是我真没觉得他有多虎。SOSO刚起步,我看好他。一路上,其实就是在微策略和Tencent之间徘徊了,想来想去,微策略的优势不过是工资高、上班轻松、可以学一口英语。但是于我何益?从此远离了互联网,远离了直接用户群,这辈子就只能给人打工了。再者,反正是要卖身,干嘛不卖给自己人。中国已经出了百度、腾讯、阿里、华为这样的企业,我们这一代继续努力一定可以走的更远,更强。我不知道这算不算爱国,我只是觉得我们已经沉睡了200年了,是该重新站起来的时候了。想着想着,一种强烈的责任感油然而生,就直接给老贾打了电话,把三方寄出去了。So just soso。soso更懂你~哈哈
 
 
葫芦HULU面试经历(转)
本人是搞嵌入式软件的,对算法的了解就停留在大二的数据结构与算法课的水平上,
本着攒面经的精神给葫芦发了封简历过去,没想到今天收到面试通知,这可是我
的处女面啊~
全程中文面,首先自我介绍,balabala,然后对着简历问了我的学习经历,我简历上
写的保送浙大,面试gg对这个比较感兴趣,问具体是什么竞赛,第几名,还参加了什
么竞赛,都少人参加之类的
问完这些问我参加过ACM竞赛之类的没,回答NO,然后开始出题
1、给定一个N位数,例如12345,从里面去掉k个数字,得到一个N-k位的数,
   例如去掉2,4,得到135,去掉1,5,得到234。设计算法,求出所有得到的
   N-k位数里面最小的那一个
2、“找明星”,N个人中,只有一个明星:明星不认识其他所有的人,而其他人
   都认识明星,这些人中也可能相互认识。你每次只可以问一个人是否认识另一
   个人这样的问题,问最少问多少次可以找出明星。
可能因为本人没搞过ACM之类的,面试gg手下留情,现在感觉HULU的这些问题没传说中
那么变态,不过因为处女面那个紧张啊,俺答得还是很烂,想了半天,最后一个问题
被提示了一下才答出来。
最后问我的职业规划,一直做嵌入式开发为什么要投葫芦⊙﹏⊙b汗,对葫芦有什么了解
问我对葫芦有什么问题,我问他葫芦什么时候在中国开放在线视频服务,面试gg说这个
可能要比较久,他们打算先在英语语系国家开放,然后是日本新加坡之类,最后才是中国
。。。主要也是因为政策等原因,北京葫芦是除了美国之外的第二个技术部门,做的内容
跟美国也是一样的。面试前网上看了看葫芦的介绍,感觉还是比较有前途的,主要是盈利
模式还不错,CS的同志们加油吧,俺攒完面经就给大家做炮灰了~
 
也发个葫芦面试面经,hulu记 - hulu面经


10月11号,hulu面试。

早有耳闻hulu面试算法巨难,所以是准备着被bs的心情去的。早上实验室有同学去面,
听了他简单描述了三个题,也不是很难,基本上想想都可以解出来了。

下午一点的面试,我习惯提早半小时到,到了房门口,等了20分钟左右,始终没人。后
来hr mm赶到,说去吃饭了,所以等了会。后来正式面试是一点十五左右才开始。

面试的是香港出生,美国读书的一个sg。感觉很像房祖名,但更健康一点。

先让我自我介绍下,说了之后,然后,他也自我介绍下,听口音比较舒服,人很nice。
但是他的名字说了几遍都没听清,没有好意思问。

三个题,都是代码题

1、两个有序链表的合并。看过这个题,考虑下边界问题,可以用O(n)时间,O(1)空间解
决。写完后,说我代码有个小bug,然后讨论后改之。问这个算法在哪种条件下不work,
想了许久,突然灵光一现,想出可能链表有环或者两个链表有可能有公共节点。他很开
心,说很久没有人能同时想出两个case了。

2、字符串A和字符串B。是否B包含了A所有的字符串,要考虑字符的个数问题,比如A:
aabb , B: abccc,就不满足条件了。这个题目跟google当年的笔试题很像,开一个256的
int[]数组做hashtable,很容易解决了。由于之前没有考虑上述的情况,他指出来了,
稍微改下,就过了

3、一个n*n迷宫,方块里可能是墙,可能是路,问怎么走出出口,求最短路径。先说思
路,然后写伪代码。很简单的宽度优先,每个方格里记录走的步数和来自于哪个方块。
很快就解决了。

第一面面试官人很nice,感觉自己也面得很不错,他也几次说我很好。

晚上听了hulu的宣讲,跟面试官聊了天,叫错了他的名字,没有一个字叫对了。-.-!!
!。要了他的名片,

第二天,hulu笔试。由于已经面试过,就不需要参加。

第三天,开始通知面试。实验室同学通知到去二面,而我没收到。

第四天,据说hulu当天要走,于是我给他们打了电话,问了情况。接电话的是另外一个
国内的面试官,说什么合适不合适之类的等等,其意思就是我被淘汰了。感觉很郁闷,
想想也算了,反正重在参与。但是,过了20分钟左右,接到hulu hr的电话,叫我三点去
面试,当时是中午一点。只能猜测是他们工作失误,忘记通知我了。。。

于是3点去面试,参加二面。是那个国内的gg面试的。

先问了下我的情况,然后问有没有参加笔试,然后说没有。然后问第一面写了几个程序
,我说三个,然后他说怪不得就不用笔试了-.-。

感觉他不怎么热情,不如第一面的面试官感觉nice。

然后开始问问题,先问了两个试卷上的题目

1)N个数,选出任意两个数求和,问所有这些可能性的和是多少。我说最简单的方法是
模拟,O(N^2),然后问有没有更简单的,想了想,计算了下所有数出现的个数是 (N-1
)/2,所以很简单,就是 sum*(N-1)/2,时间复杂度是O(N)

2)问试卷最后一个题。之前听同学说过,我自己想过。A B两个有序数组,A中选一个,
B中选一个,要求和为某个指定值m,问怎么选。感觉是《编程之美》上一维数组中求两
个数和的变形,所以只要变换一下:A中的数从头往尾走,B中数从尾往前走就好;但是
这么会遗漏,如果没找到,用相同的方式,A中的数从尾往头走,B中的数从头往尾走,
看能否找到

3)问知道怎么确定有环链表。说知道。然后问,怎么确定环的起点节点。然后说没见过
。他说,浙大的很奇怪,第一个问题都会,而第二个问题都不会。然后我开始想,最简
单的用hash表保存已遍历的节点。然后他说需要常数空间。想了很久大概15分钟不会,
让他提示下。说如果两个链表有公共节点,问怎么去找这个公共节点,想了几分钟,想
出来了。只要都遍历一下得到长度的信息,利用这个信息再遍历一次,就可以找到公共
节点。

然后想到第有环的只是一个变种,只要把环断开。就成了第一个问题。然后叫我写代码
,很顺利的写完。

4)已知两个矩形的四个节点信息,然后给一个API——可以得到某个点在是否在某矩形
内,问怎么判断矩形相交。答曰,矩形相交不需要这么复杂,只要判断线段相交就行。
可能他之前没想到我会这么回答,仔细解释了下,他说可行。然后问有没有特殊情况,
我说有,一个矩形在另一个矩形内,可能线段不相交,矩形也相交了。然后答曰,这个
只要判断小矩阵的几点是否在大矩阵内就可以了

5)问一个n*n的方块内,有一条环形路径。路径上的点都是1,其他点都是0.。给路径中
的任意一个点,问这个路径所包含的面积。想了一分钟,觉得粉两步走:1)深度优先找
路径 2)宽度优先算面积 然后解释了下,说可行

最后问有没有什么问题。看得出来,他对我兴趣不大,直接问我进公司的可能性大么。
他解释了下,因为人多,大家都很优秀,然后浙大有比我表现好的,所以基本意思是我
希望不大。然后送了T恤,就回来了。

过了一周后,收到拒信。觉得是我这次找工作经验中,面得发挥比较好,但是被拒的一
家吧。只能说自己实力还不济吧,哈哈

原创粉丝点击