2010总结
2010回顾
1月份还在趋势实习。从09年最后11月到10年1月份,是在趋势实习最辛苦的日子,白天一直坐在座位上,连厕所都没时间上的写代码,晚上基本上还要到9点以后回来,那段时间经常晚上很晚还在伊家巷那里等清安,有好几次10点多就自己打车回来,等清安是一件非常痛苦的事情,不过人生就是这样,要想得到别人的认可,不是靠夸夸其谈,而是靠自己一点点努力,虽然别人一时半会不会注意到你的努力,但是只要你肯付出,总有收获的时候。这段日子,虽然辛苦,但是很充实。不过充实的生活不一定有意义,虽然你写代码能力不错,解决问题也还行,也许你的优点是勤奋加踏实做事的态度,但是面试的时候这些面试官一般是看不到这些东西的,面试官一般更喜欢那些基础好、又比较会扯的人,虽然做事态度更为重要,但是这些要在长期的接触和了解下才能发现到的。正是基于这方面考虑,加上我语言基础和算法、数据结构方面的薄弱的现状,我决定在过年之后辞掉实习回到学校
2月份上班上到4号,在学校呆了3天7号左右回家的,在家里其实挺无聊的,就那样同学聚聚会,然后过年,家里都喜欢打麻将,不过我虽然会技术也行,但是对那个没啥兴趣,因此过年其实也比较无聊。自从上学,基本上都是一年回家一次,,我在外面,我哥也在外面,嫂子带着侄子住在娘家里,平时就爸妈二个人在家里,他们也挺辛苦的。
然后23号回学校,24号继续去趋势实习,因为之前说好的离职时间是3月15号,刚好这段时间也可以和新来的实习生吴同学做下交接,之前我一个人做的工作现在确有二个人来做,想想就知道我当时的工作量有多大了。不过到了交接的时候,我的工作就比较清闲了,然后白天能在公司上上网,抽空去OJ上刷刷题,过过其他实习生的生活,其实有时就是这样的,你努力写代码、调程序、修BUG,别的人却可以利用这段时间来看书、为找工作做准备,结果努力工作的人反而没有那些上班酱油的结果来的好。
实习的时候伙食不错,再加上经常能蹭到我妹那段时间经常煮的东西,那段时间体重倍增,回答学校已经胖的不成样子。
所以回答学校就开始准备面试的东西,刚开始是看算法,好像看的是算法导论,不过后来其实还是忘的差不多,那个时候花了很多时间在OJ上刷题,OJ上的题目对于一个算法平平的人是非常困难的,首先你得知道怎么解,而且就算你知道怎么解了,你会发现自己敲的程序就算能过掉所有的example,但是还是会经常RE, 所以经常一个题目就要半天,甚至1天2天的都有,这个确实非常能提高你的能力,如果你从大一、大二就开始,肯定收获会非常大,但是对于我即将找工作的来说,OJ上的题目跟面试问到的题目还是有区别的,面试关键是看你的思路和你对算法的掌握能力,比如说求最长回文子串,你知道用后缀树、后缀数组能比较高效的解决,一般面试官都满意了,如果你能说出后缀数组的倍增或者DC3的实现算法思路就可以加分了;但是如果是OJ上的,你必须要一点点的调试,让你的代码能AC掉,这之间的距离其实还是比较大的。
除了OJ,我还做TopCoder的周赛,也是蛮有意思的,但是我一般只能做第一题和第二题,然后时间就结束了。不管是OJ还是TopCoder,对提高自己的能力绝对是有帮组的,这个越早进入越有优势,但是作为面试应付算法问题来讲,不能讲非常有效。
那个时候其实还找了贺、王去参加江苏软件设计大赛,基本上开始每个礼拜都在讨论,按理说二个大牛在,其实我们实习还是不错的,不过由于我这个不太合格的队长的作用没发挥好,结果这个比赛还是流产了。其实这也是我和曹的差距所在,如果是曹来当这个队长,估计最后结果就会是另一番景象了,这也使得我发现自己暂时在领导才能上还有所欠缺的,必须在技术上有了深刻的积累才能更好的做好领导者的角色。
4月份还去MOTO面了次实习生,面试相当水,10分钟就解决了,一个技术问题没问就拿到实习OFFER,估计是因为趋势的实习经历的原因,后来还听趋势的manager说MOTO还找他问过了,真汗…虽然MOTO的实习待遇还是不错的,不过后来考虑到还是应该好好看书积累下对将来找工作更有帮组。
因为暑期时间比较短,所以一般光暑期实习一般不太好找到比较好的地方。所以后来5月份最开始想打算暑假继续去趋势实习的,Manager也打电话来跟我说好了说6月中旬过去,
不过后来由于有Baidu的面试机会,再加上自己想找个更有影响力的实习单位,所以打电话跟manager说实话说不想去趋势实习了,想尝试下更好的地方比如百度,当时manager就有点发火挂了电话,这件事我到现在依然耿耿于怀,感觉对不起manager。
在6月份非常有幸的得到了第一届的Google奖学金,这应该是2010年唯一值得高兴的一件事。
暑期实习总共有投过IBM、MS和Baidu的实习职位,其中MS在南大安排场笔试,自认为还笔的不错,但是后来杳无音讯,不知道是走了过场根本没在这边招人还是有大牛已经去了,反正MS就这样没了。还是Baidu比较正式,先在网上有个答题,然后二轮电面,面的东西包括C++、算法、操作系统(线程、进程、虚拟内存、并发)、数据库、项目等。然后第三面去面上海面的,问的问题是搜索引擎有三个要素,时效性、覆盖性还有个啥忘了,就其中一方面会问你,反正就是扯。然后一直没有消息,后来那个三面面试官来学院做宣讲的时候,我说当时实习面试挂掉了有影响不,他说是你是在pending,其实不就是挂了嚒..反正自己三轮面试面的一般,所以挂了也在情理之中。不过百度的挂掉其实也是非常有好处的,让我意识到自己的基础还有很大的空间需要提高,所以从百度实习挂掉开始我就开始阅读大量的技术书籍,基本上一个礼拜2-3本书这样字,然后有些书还看了好几遍。到8月份左右的时候,IBM来了实习的电话面试,是通过电话一对多的面试,我用手机,那边电话开着免提,一会这个人一句那个人一句,感觉比较杂,再加上马上要找工作了我说实习时间最多到10月份,反正最后就这样也挂掉了。
谈到暑期实习不得不提的是,如果你十分中意的公司有暑期实习的机会强烈建议能去暑期实习,这样对最后拿到OFFER非常有好处的。IT公司就不讲了,像广移能去实习的就基本就能够留下,有些公司甚至当年应届的职位都会给实习生了像华泰证券的IT部门今年都没找应届生,而是只留下二个暑期实习生。
正是因为没有去实习,所以暑假那段时间有了充分的时间来看书。因为在实验室看书不能完全集中精神,所以白天我好多时间就待在宿舍,没有电脑,没有其他人,就自己一个人,如果床上看累了就跑到椅子上坐着看,如果椅子上不想看了再跑到床上去,这样效率会比较高,一般一天都能看100页左右;然后晚上的时候,就跑到实验室去写写代码,看看网上的题目,然后看看电影,所以那段时间真的是非常充实也非常有收获。看了书包括
《深入理解计算机系统》
(这本书真的很不错,非常多的面试题都是从里面演化出来的,特别是对虚拟内存的讲解非常不错),
《现代操作系统(Modern Operating System)》
比如文件系统,线程、进程区别、中断等等操作系统的概念都讲的比较清楚
《数据结构(清华大学)》
这本书应该说是后来到9月份才看,这本书也非常不错,特别是排序那部分,我敢肯定没多少人能写出对数组的归并排序
《算法导论》
这本书就不讲了,都比较熟悉,还记得百度问过不死虫的一个 The hiring problem的变形。还比如为有个很常见的面试题二个有序数组中找中位数,其实就是CLRS的一个习题。5月份看过,不过主要看了些比较常用的章节。
《数据结构与算法 用C语言描述》
算法导论讲算法都是用伪代码的,这本书的所有算法都是用C语言实现的,而且习题也不错,大致看过一遍。
《编程之美》
总之1/3的面试的算法题都可以在上面找到,我算看过二遍吧,还不错。
Careecup出了一本关于面试题的算法书
还有个http://www.careercup.com/收集算法题的,不过好像被墙了。
《Effective C++/More Effective C++/ Effective STL》
Effective系列太出名了,基本上所有的C++方面的基础题都是来自前面二本
《OJ: 程序设计导引及在线实践》
这本书是和一个OJ相结合的,有100多道题目,里面题目是分类的,而且难度不大适合锻炼写code的能力,不过我才做了60道左右。
《STL源码解析》
对于了解STL非常好,不过个人觉得还是有点难度的,看了二遍,感觉还是有很多地方值得继续琢磨的。
《C++ Primer》
记得上次潘MM讲的挺对,这本书其实并不适合从头翻到尾,而是适合作为参考书查阅,比如我想知道关于异常的部分,当时以专门找相应的章节好好看看过。
《Inside C++ Object model》
这本书我看了二遍,只能说非常好,对于了解C++底层的东西。
《计算机网络》
关于网络方面,我4月份就看了一遍,到了暑假又看了一遍还是很多很纠结,名词比较多,而且蛮多需要理解和记忆的,不过还是很值得好好看。
另外关于网络的《用TCP/IP进行网际互联》第一卷讲基础,讲的挺好的我看过,第三卷讲网络编程的我没怎么看。
《深入浅出设计模式》
看过二遍,和面试官扯设计模式非常好,基本能秒杀掉面试官。设计模式我还看过《大话设计模式》,不过这本书讲的太浅了,基本上就看看可以,感觉没啥实质的东西,而且把所有的设计模式都讲了遍,而不像《深入理解设计模式》重点讲了几个重要的设计模式。
《UNIX高级环境编程》
我买的英文原版的,看的很吃力,没看完。不过只要能看完这本书,进百度完全没问题。
《编程珠玑》
这本书可以适合当课外读物,我也看了二遍,还不错,计算机方面的巨著了吧。还有个编程珠玑2,在网上买经常有人弄错编程珠玑第二版和编程珠玑2.。
此外,我其实也写过前段,所以也看了下《JavaScript高级程序设计》,《JavaScript权威指南》相对后者前者应该讲的更好点。
除了白天看书,我晚上还会去实验室看看一些网页,这里也列下:
1. 用Google Reader订阅的http://www.careercup.com/,
2. 还有题酷发芽网http://fayaa.com/tiku/view/, 曹如今基本上把所有的地方都写代码实现了遍,我只是看了遍,没动手写过,还是应该像曹学习,收获更大。
3. 另外还有个何海涛的IT面试100题 http://zhedahht.blog.163.com/ 加上《编程之美》可以占2/3的面试算法题。
4. 还有个是 Mitbbs Jobhunting版面:http://www.mitbbs.com/bbsdoc/JobHunting.html,里面都是美国的一些面试题,都是美国一些大公司的面试题,题目不错,不过中国这边好像同样的题目用的不多。
暑假过了之后就到9月份了,因为计算机类的招聘都比较早,这个时候基本上就开始找工作了,开始各种找人内推,上更大bbs包括东大虎踞龙盘、南大小百合、上交的bbs、还有水木社区和北大的bbs,各种网申和投简历。
找工作是个悲剧的过程,具体过程回忆起来感觉比较惨不忍睹,这里来说说简历,关于简历,简历是给面试官的第一印象,写好简历是一门学问,需要你一遍遍的思考一遍遍的更改,如果你用版本管理器管理自己的简历,你会发现简历的版本从最初的1.0版有可能到最后第10版,第20版,我自己的简历也改过10遍以上。简历就好比BBS的征友帖子,你得用貌似平淡的话讲出自己优势,如果太含蓄了是吸引不了人,如果太直白同样会引起别人的反感。多用数字和实例来讲事实,让看你简历的人来自己下结论。比如你成绩好,你可以用GPA3.9/4.0、各类奖学金、保送这样的事实来告诉别人,再比如说你用负责什么活动,然后获得好评之类的事实就比你干巴巴的讲自己组织才能优秀更能打动人。
其实相比最后笔试、面试来说,我觉得还是前期的准备最重要,如果能向Cao一样,获得各种ACM的奖励,最后进入ACM全球总决赛,这样的人才各个公司都会抢着要的,根本不用谈什么笔试面试技巧;但是毕竟这样的经历不可复制,大多数人还是普通人,需要按照自己的方式来努力一步步的获取自己想要的东西。
前几天和一个经管的同学聊天,她现在还没拿到OFFER,我就让她和周围同学比较下为什么人家能拿到offer而你没拿到,她说周围人投的公司她不想去,她投的公司周围的人没投;然后我问她难道没人拿到比较好的OFFER么,她说有些牛人拿到了,然后我又问她为什么牛人能拿到你拿不到呢,她告诉我说人家又会学习又会玩又有能力。然后我告诉她说你看到的都是表象,你得找出人家为什么比你牛的本质原因。
好比大家都看到Cao很牛,但是又有多少人想过自己为什么不想他一样牛呢,有多少人知道Cao为了写代码加了多少班,通了多少宵,又过过多少寒暑假。如果能深究到这些层面,会发现只要努力即使成不了大牛,你也能成为小牛。
到11月初,基本上工作就结束了,不过当时还是有蛮多好的机会的,所以如果到时候还没拿到好的OFFER的话,完全不用太着急,不过我已经找工作找伤掉了,到11月就放弃找工作了。本来在11月初拒了淘宝的OFFER,不过后来淘宝的南天师兄打电话来说不要那么急着拒,先过来看看,所以23号过去杭州参加淘缘聚活动, 总共三天时间,了解淘宝文化然后逛了下西溪湿地和西湖,总的来讲3天的活动感受还是蛮深刻的,淘宝办事非常用心,从吃饭到活动安排,再到往返的报销,处处让人感受非常舒服。另外淘宝文化非常开放和平等,而且牛人很多,我感觉在3-5年之内应该能超过百度。所以如果要做技术的话,特别是Java这块还是非常推荐淘宝的。
12月份开始写毕业论文,不过没啥思路,也非常苦闷,不过天天睡到中午倒是非常舒服。
关于2010年一句话来总结就是,平淡缺少激情。总之,不太顺的本命年也快过去了。感谢父母,感谢老师,感谢身边的朋友们!
展望2011年,希望
1. 论文搞定,顺利毕业。
2. 入职顺利,工作顺利。
3. 父母和朋友们身体健康
4. ….
5. 多锻炼身体
6. 看10本左右的书(7本左右专业书,3本文艺书籍)。




最新评论