实习生活

今天qq上一个师弟向我咨询实习相关的问题。关于实习,其实也一直有很多话要说。我是今年5月份出来实习的,一直到现在,已经7个月了,4个月在百度联盟研发部,剩下的三个月在腾讯soso。这个过程中既有欢笑,也有茫然和痛苦。我在收获实习工资(虽然不是很多)的同时,得到了巨大的成长。

我这个人最大的特点是喜欢钻研,我并不是个很聪明的人,也不太善于与人交流,但我喜欢钻研问题,但往往在面试的过程中别人了解不到我的这个特点,反而我的一些缺点却暴露出来了,所以在面试方面我一直都不是很顺。去年的暑假,经过师兄的推荐,我开始面百度,由于没有怎么准备,再加上交流很不顺畅,面试官临时改时间搞得我措手不及,面对他的问题,如果不是一下子就想出来的,我就放弃了。后来发现这点是很要不得的。可想而知一面就挂了,去了百度后,我了解到当时的面试的分非常低。后来微软有一个面试的机会,可惜当时我去问了问老板,老板没有同意我出去实习,最后面试的机会就放弃了。

过年的时候,我的师兄给我电话说,他可以推荐我去百度,不用面试了,直接可以实习。当时听到这个消息,还是很激动,还是师兄比较给力呀。怎么说呢?我是一个善于解决问题的人,同学经常有一些小问题,尤其是编程方面的,很多情况下我都能解决,也许正因为这样,在别人的眼里可能算得上技术比较牛的人。但怎么说呢,自己心里清楚,自己在算法方面和数学方面一直到今天还有很大的缺陷。

我发现我的很多转变,都是在过年的那会儿进行的。那段时间,没有什么事情,每天呆在家里,烤烤火,一天就过去了。每天我都在思考我这一年来的得与失,分析自己不足的方面,心里也在下决心要去改变一些什么。一般来讲,那时候下的决心,在这一年中基本能够完成,这也许就是一种思想的力量吧。过完年,我就跟我一个同学,一起去找的导师,记得那一天正好下着大雪,跟导师谈了我们想早点出去实习的想法。不得不说,我当时还是跟对了导师,他答应我们5月份之后就可以出去实习了。我很庆幸,我遇到了这么开明的导师。

得到了这个承诺后,我开始准备实习的事情。我在上研究生以来,就觉得自己在算法方面有很大的问题,我就开始利用闲暇的时间在做ACM题,这个过程还是给了我巨大的帮助的,最起码熟悉了很多经典的算法。回到说准备面试的事情,我开始修改简历,这个可以说还是比较重要的,我用latex重新做了一下自己的简历。后面的求职证明,我的这个简历还是做得不错的。我的简历的顺序是:教育背景、所获奖励、论文发表、实习经历、语言水平、专业技能、项目经验、社会工作和自我评价。以上是适合我自己的情况,仅供参考,简历我做了两页。

简历完成后,我就开始投简历了,找了一些师兄和学弟学妹(研究生找工作,很多时候就真的要找学弟学妹们内推了)内推,基本上没有网投。以我和周边同学的经历,现在要找到心仪的工作,基本上要找内推,如果要走正常的招聘流程,你的简历很可能直接就被hr pass掉了,招聘的周期也很长。其实我也没投多少地方,投了个腾讯,一个淘宝和一个微软。

下面说说面试前的复习,我主要是找了“程序员面试精选100题”、编程珠玑、编程之美以及《CareerCup-Top 150 Questions 4th》。“100题”我大概自己做了70%左右,看得还比较粗。编程珠玑,怎么说呢,我没看完,虽然一直想看完,但是写书人的风格不是我所喜欢的。编程之美粗略的看了一遍,有的东东,我现在可能也不太会做。CareerCup-Top 150 Questions 4th我基本上看了好几遍,怎么说呢,这里面就是一些面试题,而且面试的时候,从这里面出的可能性极高。这是一个面试速成的书,我推荐给了很多同学,他们反馈的效果是用来找工作屡试不爽。但是个人建议,这本书适合在面试前一个月进行,基础知识还是很重要的,建议多看看算法导论和前面提到的基本书。其实我一直尝试想看看“计算机编程的艺术”,但是最后都没有坚持下来,可能是我对数学有着天生的排斥吧。还有一个建议,就是在学习这些东西的时候,可以做做笔记,最好的方式是写博客,将你对问题的理解转化成文字,也好跟网友讨论,一个问题你能写明白,那就说明自己真的明白,否则很可能是处在一知半解的状态。

最后就是面试了,面试我首先的面的是淘宝的数据挖掘组,感谢一个学妹的推荐,但是由于本人很不给力,直接给面挂了,这也可能跟淘宝的用人思路有关吧。面试的时候,面试官一直问我有没有数据挖掘的项目经验,这个还真木有。还有他们问了我一个关联规则算法的细节,我也说不上来,所以最后就面挂了。我的建议,如果你要去淘宝,一定要相关方面的项目经验。

接下来面的是腾讯,但是是我的另外一个师兄推荐的,面了一面,还算顺利,出的题,我基本都是我看到过的(career cup上的),所以答得都还不错。后来,我的师兄告诉我过了,但是由于我那是已经去百度实习了,他们就没有再面我了。

微软也是找一个学弟推的,但是一直都没有接到面试通知,最后那个学弟知道我去了百度之后,也没有后文了。

按时间顺序说吧,之后我就去了百度实习了。怎么说呢?有的像走后门的意思。面试没过,在师兄的力荐下,我在5月4号,去了百度实习。刚去的时候,总感觉小心翼翼的。还好有好多师兄和师姐在那边。百度是一个很注重效率和很有激情的公司,第一天要配置各种各种的环境,由于都不是很熟悉,尤其之前不怎么懂linux,搞起来非常麻烦。进入百度的每一个人,都会有一个导师,这个导师负责给你安排任务。我的第一任务是花两周的时间完成一个新人题,是一个训练项目,从写详细设计到编码、单测的流程都要走一遍,整个过程大概是两周的时间。这个过程压力山大,要学会各种各样的新东西:公共库(百度内部的库)、makefile(或者内部的编译工具)、vim、linux编程、多线程、gtest。最坑爹的是,我以前一直用visual studio编程,到了百度要用vim编程,很不习惯。这个人是出于内向与外向之间的一个人,不太喜欢去问别人问题。我当时主要是问了问我的师兄一些问题。但当他们很忙的时候,我就没着了,问别人的问题很少,很多时候是靠搜索内部的wiki。另外,我在另外一个部门的师姐对我的帮助也很大,但是她也做了这样的一个新人题,当时她告诉我了很多细节,并把她的代码给我参考了。我也是一个追求完美的人,所以我写代码的时候,把整个工程铺得很大,完全用了面向对象的方法,而且考虑用了一些模式,比如单子模式,所以整个项目的工作量还是很大的。我记得当时天天都在加班,周末也不例外。不过努力总是有回报的,最后再项目串讲上,我得到了导师的认可。再接下来,就是看组里的代码了,这个可真要了我的命,代码量比较大,第一次串讲没有过。第二周一边看代码,一边开始学习部署小流量实验,可能部署小流量实验的过程花费了比较多的时间,看代码没有太多的时间,第二次串讲还没有过,当时压力山大。第三周我的导师直接不让我干别的活了,让我看了一周的代码。这个时候,我也大概摸清了大家问的问题,我在这一周里面,对每个代码模块都写了一个文档,最后文档大概有20多页,把所有的细节问题都用文字记录下来,第三次串讲终于过了。后来在腾讯的时候,看到一个来自雅虎的人用free mind来理清代码的逻辑结构,如果当时知道这个工具的话,就不用那么去写那20多页的文档了。不过还好,我写的那个文档,给后来的人串讲提供了很多帮助,也算是无形中的一个帮助了。接下来的时间,我开始做重构项目,有我的师兄来做概要设计,我补充详细设计,然后再进行代码开发和写单测。我代码的开发是整个重构项目的第一个模块。记得第一周,我补充完了详细设计,但是在设计文档的评审上面,文档被工程组的人否定了,之后就由我来改了。其实我当时也觉得那个设计有点问题,当时也有点不爽。由我来改之后,一下子就顺畅多了,加之之前读了三周的代码,对老代码还是比较了解的,所以之后的重构的写代码还是比较爽的。我也发现,我在写代码的过程中能够获得成就感。

重构完这个模块之后,在师兄的争取下,我开始跟着师兄做策略项目,选择了做策略之后,我就发现做策略确实比做工程难多了。这之后,我每天的工作量就非常的大了,每天要晚上很晚回去,回去了之后还要干活,而且还有各种各样的报警,哎,很郁闷,但是这个过程对我的锻炼是最大的,我慢慢的熟悉了各种各样的环境,我也有机会去实现各种各样的东西,想办法去优化代码,也在写各种各样的脚本。我明白了一个道理,做策略的过程中,你要统计各种各样的数据,统计完了之后再根据结果去调整策略,然后再进行统计,所以你跑一个统计任务一定要写脚本,这样使得你再次进行统计的时候,只要运行一下脚本就好了。也正式因为这样心力交瘁的工作方式使我感到厌倦。另外一个方面,我来实习的时候就决定,先在百度实习一段时间(大概三个月),然后再到另外一个地方实习。我当时就开始面其他的公司,具体来讲一个腾讯,另外还有一个叫NHN的韩国公司。我其实还有考虑百度的其他部门的。开始我来实习的时候,我听到上午搜索,我以为跟搜索差不多,其实来了之后,还是有一定的差距的,所以我曾经想办法找人推了百度的网页搜索部,但是最后那边让我先和这边提出,然后再去那边面试,这个很不爽的说,所以就没有考虑了。

我这个人有一个特点,越是在我感觉不爽的时候,我越是会去努力学习,当时我利用一切可以利用的时间,开始看了很多面试相关的书,具体来讲,还是上文提到的那几本。我去NHN笔试、面试了4面了,最后HR面的时候被pass掉了,可能是他们看出我不太想去他们那了。腾讯去面的时候,我面了两面,一个是跟我现在的导师,一个是现在小组的组长。由于这次面的部门跟我研究生做的研究非常契合,我做的研究是搜索反作弊,这个组正好是soso反作弊组,所以聊得很high,再加之我的这个导师之前也是百度的,所以一面轻松就过了。二面是组长,聊得没有之前那么好了,但是他问的所有技术问题都被很快的拿下,感谢Career cup,基本上是那里面的东东,而且我也渐渐克服了面试时的紧张。感觉是两个方面对我的帮助最大,一个是在实验室的时候讲ppt,另一个就是百度的高强度训练。

之后我就顺利到了腾讯soso的反作弊组实习。做人要地道,我在想走之前,我就跟我的师兄说了我想走的意思,然后他告诉了部门经理。当时的部门经理还找我谈话了,后来他问我要不要百度这边给offer。那当然要了,傻子都会回到要的。不过我其实还真心觉得百度很不错的,如果不是百度最后给我的offer的数量跟腾讯一样,HR也不给我谈的空间,我当时还很有可能要回百度工作了。

前面也说了,给我的感觉,百度是一个很有激情的公司,新人在那里能很快的成长。公司氛围也很好,我在那熟了后,认识了好多的人,而且大家都觉得我技术还不错,我要在那混的话,应该能混得很好。百度的文化很好,经常有聚餐活动,报销制度也很人性化,经常还有各种各样活动,如三国杀,同事之间经常会相互开开玩笑,继续秉承了在实验室的e文化,感觉也是相当不错的。怎么说呢,百度非常适合像我这种技术型的人待的地方,可惜HR不给力,而且我个人也不是很愿意做广告,所以最终没有选择百度的原因。如果要我在百度网页搜索部和搜搜之间选择的话,我肯定选择百度。

下面说说我在腾讯的实习生活,我是9月7号到soso实习的。我感觉很搞笑的是,我在面试的时候,告诉组长百度对新人的训练非常好,告诉他我们那有新人题,可以迅速熟悉公共库,然后我到了soso后,我们组也搞了这个东东,然后我又做了一遍这边的新人题,题目跟之前的差不了太多,我慢慢悠悠的做了一周的时间,最后答辩的时候,感觉还是很不错的。之后一直到现在,我都是在网页中无效页的识别的调研,从之前的单机小数据量(100w)调研到单机大数据量(2000W)调研,最后到现在的map reduce分布式调研,总之搞的时间很长了。在腾讯感觉一点,没有人拼命的催着你干活。在百度,我感觉,如果你能完成100%的活,上面的人一定给150%,甚至200%的活,反正这是两种不同的感觉。这需要自己感觉这两种方法,哪种要好一些也真很难说,就个人来讲,我还是喜欢腾讯的这种感觉。在这里也实习一段时间了,感觉soso这边的基础建设做得不够好,像map reduce这种平台都还不是很成熟,还处于开发阶段,分工似乎也不是很合理,有的时候,大家可能干的活会重复。但是怎么说呢?乱世出英雄,在这种稍微有点乱的环境中,如果你是人才的话,就更能显示出你的作用。这个东西也需要自己来感觉了。对于生活方面来讲,加班的几率要少很多,我基本7点前就走了,除了我为了蹭加班餐。要是的在百度,起码要9点之后。由于住的原因,对我的表现并不是很明显,我去腾讯了,虽然上班的时间减少了,但是在路上的时间加长了,等真正工作了,再找个别的地住吧。

总的来说也差不就是这样的了,都是一些个人的感觉问题。补充一点,不管在哪里,还是做自己感兴趣的东西会比较好,会比较happy。人生嘛,不就是为了乐呵乐呵。写了这么多,一方面是为了总结一下,另一方面也是为了给将要面临实习的师弟一些参照吧。

再给一些别的建议吧:

  1. 实习的时候,跟学校不一样,在学校,做不出来就做不出来,但在企业你就必须得做出来,所以需要坚持一下;
  2. 即时在实习,可能实习的地方也很有可能留下你,但请不要完全放弃找工作,自己感兴趣的企业还是可以试试的;
  3. 多注意身体,不要累趴下了;
  4. 知足常乐。

差不多就这些了吧,欢迎提问。

posted on 2011-12-22 22:41  小橋流水  阅读(397)  评论(1编辑  收藏  举报

导航