从3月中旬开始准备找实习,到6月4号结束最后一场面试,整个找实习的过程持续了差不多3个月。简历投了10家公司,参加了4场笔试,面试了2家公司,最后拿到2个offer。

首先我是个本科水人,没有参加过什么比赛(大一被四级委员忽悠参加了一次英语竞赛,纯参与了一下),更不用说获得过什么奖项,也没进什么实验室,只有在凝聚工作室打了1年的酱油(当时我们班进凝聚的特别多,因为我们班导生是当时的凝聚负责人,所以我们班报名参加凝聚的热情自然很高),打酱油期间其实也没学什么,当时加的是渗透组,感觉渗透很酷,但是以当时的水平,确实很难理解那些渗透知识,所以后面就水掉了。大一银杏黄的时候,导生鼓励我们去参加,我就去申请了一个android项目,立项通过后,就搁那不动了,到了9月份开学的时候,一看就剩1个多月时间了,然后就泡图书馆,学android开发,最后做了一个只能在android虚拟机上测试成功,实体机上测试失败的作品出来,不过后面答辩的时候,还是让我们组过了。整个大二基本就是自学了jdbc,servlet,jsp这些东西(其实这根本要不了多少时间),但是没有实际用过。大二暑假,托同学的福,去北京实习了2个月,但是也是很水,其实是要找会渗透的人(因为这活机器做不了),可惜我不会,就打了2个月酱油,做做Java中间件、数据库、服务器主机、防火墙的一些配置的安全核查(很简单,有现成的核查脚本,直接在机器上跑下脚本,把结果导出来就行)。,大三上学期,没什么目标,感觉这样下去不行,当时在河畔上看到Jhat找工作的经历分享,他们工作室在招人,我就联系了他,他说现在项目都已经安排好人员了,以后有项目会让我一起做的。我就等着,后面Jhat说工作室要做个主页,你去实现一个论坛吧,我就和3个大二的一起开始做了。然后就学MyBatis,Spring,Struts,Maven这些,虽然后台功能是开发出来了,但是让我现在去看,那些代码简直就是狗屎。过了寒假,就到了这个学期,开始准备找实习后,工作室那边就没去了,后来论坛那个项目也就流产了,非常对不住Jhat啊…准备找实习的过程中,自己写了一个简单的微博应用和一个chrome扩展,还做了个信安课设(一个web系统,顺便进一步学了Spring(MVC),Mybatis,Maven这些)。

以上差不多就是我从大一到大三的整个过程,很平凡,没有什么出彩的地方,所以投简历的时候,大企业并且是Java相关的职位我投的测试,非大企业我投的开发。下面讲讲期间的一些经历。

网易

投的第一家公司是网易,网易是个很有味道的公司(大家懂的),但是网易杭州研究院的笔试只在杭州,上海,南京,武汉,合肥这5个城市有,收到邮件让我去浙大玉泉参加笔试,问了下学长,说后面还有很多公司会招实习生的,为个笔试跑这么远不太值得,就没去了。

大众点评

大众点评是河畔上看到的信息,于是就投了简历,笔试是在线测评,考图片找规律、文字语句的表述和技术题,在线测评完后就没消息了…

微软

认识一个在知乎实习的朋友,她说她想参加微软的实习生招聘,然后让我也试试,我就报了名。结果后面我收到了笔试通知,她没收到。去川大笔试的时候,认识了一些人,当时大家都很低调,说这个不会,那个不会(估计里面也就我是真的不会),微软的笔试题我在河畔上也发过,考的比较基础,但是我当时秀逗了,明知道答错要扣分,还是把不会的也全答了。回到学校后,一打听才发现一起去考试的都是大神…校ACM的,XX实验室的什么什么的…后面大家都收到婉拒或者通过笔试的邮件,就我没收到…后面还漏接了一个中华英才网的电话(微软的实习生招聘是委托中华英才网的),当时真的很遗憾,所以后面手机就不离身了。又过了段时间,终于收到了微软的婉拒邮件。

思科、IBM

思科和IBM是人人网上看到的,就投了简历,很久没反应,后面仔细看了下招聘的信息(全英文的),结果我投的职位只招硕士学位以上的…

腾讯(offer)

腾讯之前投了内推,但是没反应…后面参加了校招的笔试,腾讯的笔试考的也比较全,但是难度不大,一面的时候看到自己的笔试成绩是58分(竟然没及格)。

一面面试官估计是搞数据库的,问我很多数据库的问题(可是我只用过Mysql啊),我就慢慢引向我会的地方,好不容易引到我会的地方,结果问一个问题后又回到数据库了…问的比较细,存储引擎、字段区别、数据库安全等等,不过这个面试官比较好的一点就是,你答不出来就慢慢引导你往正确的方向去思考。后面对我做的微博应用问了一些问题,说如何实现微博黑名单人员的信息过滤,我说可以在数据库查询的时候做过滤,也可以在业务处理的时候做过滤,甚至可以用js来过滤,面试官就让我分析每种方案的优缺点,我就balabala说了一下,说完后面试官问,可不可以单独做一个过滤层来处理这种业务呢,我一听觉得挺有道理的,然后就说可以的,然后把这样做的好处说了一下。面试官跟我说,做技术要知其然知其所以然,不能仅仅停留在使用上。面完后感觉是跪了,当天晚上微信查结果的时候,竟然过了。

二面由于雅安地震改成了电话面试,面试的电话是北京的,也不意外,因为一面的时候,面试官问我为什么工作地填的是优先成都,但是服从调配,我就说了下在成都有什么什么好处,在深圳有什么什么好处,然后面试官说他们部门在北京…好尴尬啊…我就说了点北京的好处把话题圆了过去。二面就面了10多分钟,就问了我做的那个微博应用,问的也算细的,微博接口有哪些分类,哪些权限,怎么处理JSON等等,然后就完了。感觉问题是都答出来了,但是时间也太短了吧,就10几分钟。第二天查微信的时候,发现二面过了。

三面是HR面,我问了几个面完出来的,他们说大概面20到30分钟左右。等我面的时候,就面了10几分钟…HR面都问些很大的问题,同学怎么评价你的、你的优缺点是什么、有没有外号、平时喜欢做什么这些,然后跟我说如果录用的话,你的实习部门可能是北京的微博事业部。本来以为HR面不刷人的,回学校后,发现很多人HR面被刷了,然后心里就有点没底了。五一节期间,腾讯实习生招聘的微信说招聘已经结束,阿门…看样子是完了,结果发现河畔上那些人说查询结果都是说已经结束,估计是查询系统出问题了,后面腾讯官方确实说是意外,搞错了。五一假期结束后,终于接到了深圳打过来的录用电话。

能够拿到腾讯的offer还是很意外的,5月初去签实习入职书的时候,发现整个成都地区录用的腾讯实习生只有我一个人是去北京的,当时就蛋疼菊紧了,不过反正是实习,也没有很在意地点。

创新工场

创新工作投了简历后,打电话让我去北京参加面试,又没有说报销路费什么的,就没去了。

亚信创联

亚信创联投了简历后,过了几天接到了面试通知的电话,让第二天去面试,当时正在腾讯HR面完回学校的路上,从清水河跑去软件园腾讯公司来回还是有点折腾的,确实有点累,第二天就没去了。

百度

百度今年貌似没怎么宣传,我也是快要简历截止投递的时候才知道。看了下职位,没什么和我比较契合的,所以就投了一个web开发(是php的),结果后面就没消息了…

阿里(offer)

阿里的实习生招聘,和腾讯的实习生招聘相比,简直无力吐槽了。

阿里还没公布实习生招聘计划的时候,我通过同学关系问了一个在支付宝上班的人,她说她也不清楚今年有没有实习生招聘计划,如果有的话,会给我消息的。结果第二天阿里就出了了实习生招聘计划,然后我就把消息告诉了她,她看了下说,都是招技术的啊,没有非技术的(她以为我是应聘非技术的),我说我就是找技术类的实习,她说那没问题,让我发封简历给她。我发了后,第二天她说这是阿里集团的实习生招聘,支付宝现在不算阿里集团的,所以这个招聘可能对支付宝不相关的。不过那个时候,河畔已经出了阿里的内推贴,我也就谢谢了她,然后开始关注河畔的内推贴了。

有个学长发了一个淘宝无线事业部的Android开发,我就投了份简历,学长跟我说如果有电话面试,会提前2,3天通知我的,结果第二天中午就电面了,啥都没准备,问了一堆Java多线程的问题,让我用servlet,filter,listener实现一个MVC框架,然后问了下大一时候做个那个android项目(早忘了)。关键是处女面,当时又没看面经,很多细节都没做好,比如刚开始让自我介绍的时候,我就说了下我叫XXX,是XXX学校XXX学院XXX专业的,就完了…现在自己来看,都会吓尿。所以结果可想而知,自然是悲剧了。后面我也问了那个学长,学长帮我问了问情况,面试官说我动手能力还不错,但是基础知识还是差了点。

后面就陆续有很多阿里的内推贴了,我也投了2个,但是都没反应。认识的几个投阿里的,都是第一次投,马上有电面,后面投的,都没消息了。不知道阿里内部是不是有记录的,只给一次内推机会,但是问了一下说各事务部自己负责内推的,没有影响的,所以只能是简历太拙计了…

后面就参加了阿里的笔试,笔试比腾讯的要难,考了很多算法题,我在河畔上也发过阿里的笔试算法题。不过很意外的是,我的阿里笔试分数竟然是68分,比腾讯的笔试要高…

阿里的面试从来没有什么短信或者邮件通知,直接就是一个电话过来,就开始面了…

一面电面,问了一些TCP/IP的基础知识,数据结构的基础知识,然后开始问算法(我是算法渣渣啊)

一个长字符串和一个短字符串,如何判断短字符串中的字符在长字符串中是否出现过

我说最简单的就是,短字符串中每个字符去长字符串里找,看是否出现过,时间复杂度是o(M*N);为了加快查找速度,可以先对长字符串进行字典排序,然后进行二分查找,时间复杂度是o(nlgn+mlgn)=o(mnlgn)(我擦,才发现这个比上面时间复杂度要高);如果操作很频繁的话,可以采取空间换时间的做法,可以将长字符串建一个HashMap,这样时间复杂度是o(M)。面试官说,还有什么算法吗,我想都o(M)了,还有什么算法啊,我说难道用二进制来操作吗,面试官说你自己想想看有没有什么其他算法,然后我突然想起来以前看过的一篇文章,是用素数的,就说每个字符对应一个不同的素数,然后将长字符串中每个字符对应的素数相乘,得到一个数,然后用短字符串中的字符对应的素数去除这个数,如果能够整除说明这个字符出现在长字符串中,否则没有出现。面试官说那如果数据太大怎么办,我当时说可以分段处理,但是后面想想其实只要将长字符去重就行了,因为总共就26个字母。后面问了一些java方面的东西,就结束了。

二面电面,是一个北京的号码,当时心里想,靠,怎么又是北京…当时在上课,我说可以推迟到12点吗,他说要不下午1点吧,我说行,结果1点了没打来,等到1点半还没打来,我感觉被遗忘了,结果快要2点的时候打来了。二面主要问一些做过的项目(你懂的,我其实没什么正经的项目),面试官可能也比较理解,所以没有对项目细节问的很深,主要问的是在项目中学到了什么、项目有没有后期维护、维护过程中对项目有了什么新的认识、现在来看以前的项目,有没有什么需要改进的地方,然后问我为什么不读研,对云计算有什么了解,就balabala说了一下,然后问我有什么问题,我说你是北京部门的吗,他说他是杭州的,来北京出差,然后跟我说阿里云还是会偶尔有一些出差的什么什么,我问他面试结果大概什么时候出,他说如果通过的话,下午应该有三面。

下午就很紧张,不知道有没有三面。结果到了5点半还没电话,应该是挂了,就吃饭去了,吃完饭回来结果来了一个杭州的电话,说明天下午2点视频面试。第二天视频面试的时候,面试官说用qq吧,阿里旺旺不稳定…然后就加了面试官的qq。三面竟然主要问我大二暑假在北京的实习经历…从来没想到会问这个,答的比较吞吞吐吐,问我为什么去实习、实习主要做什么、为什么安排你做这个、你的价值体现在什么方面、为什么不去读研什么什么的,然后问我对阿里云有什么了解、对测试有什么了解,我就balabala了一下,然后面试官说你对云计算的了解还是太少了,对测试的了解还停留在以前的测试,现在的测试更多的也是需要会开发什么什么的。感觉是婉拒的节奏,我就说现在离暑假还有1个多月,这期间我还可以补下相关方面功课什么什么的,然后就完了。

三面面完感觉跪了。下午查了下云计算的一些介绍,看到一本书《IT不在重要》,里面对云计算有所介绍,将云计算比作现在的公共电网。晚上看到面试官qq在线,于是就跟她说了一下下午看的一些云计算的东西,她说阿里云内部也有类型的比喻什么什么的,但是云计算不仅仅是这些,怎么怎么的,后面她说,你的面试在阿里云已经通过了,不过需要把结果提交到集团层面再review一遍,后续还有没有面试不清楚,面试官让我好好珍惜这次机会,她说现在本科生要进阿里如果没有实习过还是很难的。通过三面还是很意外的。

4号现场面试,之前看微博上说现场面试分初试和终试,初试为技术面,终试为技术加HR面。轮到我的时候,是一个男的面的,一上来就直接问算法了(吓尿)…问冒泡的时间复杂度,我心里想怎么问这个,我直接说o(n^2),他说怎么来的,我说每次冒需要访问n-i个元素,一共冒n次,所以是o(n^2),然后还说了改进的冒泡排序。然后他说你还知道什么排序不,我说快排、希尔排序、堆排、选择排序、插入排序、并归排序、基数排序什么的,他说快排时间复杂度是多少,我说o(nlgn),他拿了纸和笔给我,让我写下来,我说写代码吗,他说不用,直接写时间复杂度就行,我感觉好奇怪,刚不是说了是o(nlgn)吗,于是写上了o(nlgn),面试官说你平时就这么算时间复杂度吗(我当时理解错了,后来才知道他是让我把nlgn的计算过程写出来),为什么是nlgn,我说一共n个元素,每次排完,问题二分,所以就是o(nlgn),他说你直接想想就知道是nlgn了,不用算吗,我说二分不是lgn吗,他说我要知道的是怎么得来的lgn…然后,很久没写过演算过程了,写的很不严谨,很多漏洞…所以当时很是尴尬…面试官估计看出来我算法不咋样,就说行了,大概知道怎么算了…然后说我看你专业是信安,不是计科,信安学点什么,我说计算机的一些基础课都学过,像数据结构,算法,操作系统,计网这些,面试官说你学过算法刚那个演算还不会写啊…我继续尴尬…然后后面开始问java的内存模型、垃圾回收、虚拟机规范、并发、常用类什么的,说的过程我提到了自己用过阿里巴巴wenshao的fastjson和druid,面试官很惊讶说你还知道wenshao,他说wenshao当年就是他招进去的,现在在一个部门,我说wenshao在OSCHINA上很活跃的,顺便说了我做的那个OSCHINA的chrome拓展,因为那个拓展里面涉及到正则表达式,可以我只会简单的正则匹配,结果面试官就问了我一些正则表达式的问题,没答好,很尴尬又被鄙视了…他问我平时喜欢做什么,我说看电影、看书,和同学踢踢球、打打游戏,然后参加一些社区活动之类的,他说你玩什么游戏,我说dota、lol,他又问dota你玩什么英雄,我很兴奋说你也玩dota吗,他说他不玩,我就说我主要玩些远程的英雄,近战的我一般玩肉什么的,然后他说他也喜欢玩远程英雄(看面试官的年纪,可能他以前玩过dota,但是现在不玩了)。后面让我问问题,我说今年淘宝城要启用了,那14届的招聘规模会不会有所变化,他说据他所知不会有大变化…我说现场终试是什么时候,他说这就是终试啊,我说微博上讲分初试和终试的,他说前面的电面就是初试…

终面是被鄙视最多的一次,感觉是没戏了,所以开始在腾讯实习群里联系人打算在北京租房子了,结果8号收到了面试通过的短信。

小结

我没什么很出彩的地方,所以3月份就开始为找实习做准备,补算法,补数据结构,期间接触到AJAX的时候,就做了chrome拓展,接触到JSON的时候,就去做了一个微博应用,这种学以致用的才是理解最深刻的。这学期也是我看书最多的一个学期,包括技术书和非技术书,我一般习惯在kindle里只放3,4本书,一半的技术书,一半的非技术书,看完了再换一批,这样就没有选择恐惧症。刚数了数这学期看的书,竟然快要有20本了…以前我一年都看不了2,3本…

《编程之美》确实是本好书,不管应对找工作还是开拓自己的思维,都有帮助。
《深入Java虚拟机》(SUN公司的那本,不是国内的那本,国内那本我没看过,看评价也很不错)对Java的内存模型介绍的很详细,也写的通俗易懂。
《数学之美》《浪潮之巅》吴军博士的这两本书也很不错,对了解互联网行业以及互联网产品中的数学使用很有帮助。
《Java编程思想》其中的多线程和NIO是笔试面试的长考点。
《Java程序员面试宝典》有些人说看这种书不好,但是我觉得如果节省一两盘dota,lol的游戏时间来看看,肯定是有所收获的。
《黑客与画家》阮一峰翻译的,翻译者博客里的文章都很有学习价值,这本书是知乎人手一本的,对我们普通人了解黑客,接触他们的思维很有帮助。
《看见》柴静的看见很火,可以了解中国的一些纪实性的东西,以及央视工作人员的苦衷
《影响力》深入了解生活中一些常用的伎俩的原因,做到如何完善自我,不轻易被他们影响。
《禅与摩托车维修艺术》据说很多程序猿到后面都喜欢研究点哲学,教我们Java的那个老师,也教哲学,每个人都有自己向往的一个境界吧
《把时间当做朋友》让我们控制大脑,而不是让大脑控制我们

书这种东西,以前越是不读,越感觉没书要读,一旦开始读了,越读发现更多的书想要去读!



blog comments powered by Disqus

Published

12 June 2013

Category

work