【转】一枚“程序媛”的找工作经验与教训

来源:互联网 发布:dts音效软件怎么下载 编辑:程序博客网 时间:2024/05/20 03:06
转自好网连接:http://club2.xdnice.com/forum.php?&mod=viewthread&tid=1276698&extra=page%3D1&page=1

2013年的校园招聘基本结束了,只有品味过这段日子的苦辣酸甜,才真心地珍惜现在平静却幸福的生活。前24年对于我来说基本顺风顺水,尤其在学业上,虽然谈不上是尖子生,但是“名列前茅”的标签还是时不时地贴在我的身上。我就是那种传统意义上的“好学生”,重点高中,重点大学,还不错的专业,享受着当下的生活,却不知道自己喜欢什么想要什么。对于计算机专业,谈不上热爱却也不算讨厌。直到找工作,遇到了不大不小的挫折,才觉得真正经历了人生的第一次考验。
      以下的应聘经验仅适用于和我有相同背景或类似背景的学弟学妹,找工作这事不可控因素太多,每个人与每件事都是独一无二的,所以个人经历也不具有普遍代表性,仅供参考。


鄙人背景:
       小硕小女子一枚,本科与硕士均在某电子类211重点高校就读,专业计算机软件方向,保送研究生。学习成绩达到top 5%,基础理论还算扎实。学习能力较强,动手能力一般,工程项目经验欠缺(和某些大牛的根本差距)。家境一般,没有官二代富二代红二代的光环,只能自己动手,丰衣足食。
应聘目标:
       工作地点:必须为北京,原因就不多说了~
       应聘职位:软件研发,最好是后台C、C++开发,这也是竞争最激烈的岗位。
       单位类型:银行 > 研究所 > 互联网企业 > 国企。
       户口:必须有-->最好有。最后妥协,没拿到,计划是要跟着形势改变的。
       薪资:要求不高,够我在北京的基本生活就行。当然,基本的市场行情还是了解的,互联网企业研发类税前16w左右(包括各种奖金福利等),研究所国企不同单位差别较大,据说好的到手能有10w+,一般的也就是6w,当然这是到手工资,不包括各种奖金福利。国字头的奖金福利,你懂的。银行目前未知


      好了,下面正式进入正题
      四月份实习生招聘,稍微大点的企业我都参加了。这是为校招做的预演,是个很好的查漏补缺阶段,也可以及时调整后续准备的方向。当时基本没做太多的准备,所以每次笔试面试都处于比较抓狂的状态。在笔试面试的过程中,发现还是数据结构+算法占了大头,着重考察的还是分析问题解决问题的能力,写code的能力,所以后来的几个月着重准备了这些,忽略了其他方面。结果证明,有利有弊。

准备阶段
1. 数据结构+算法这是我准备最充分的一大块。策略是
       A. 对于简单的数据结构和算法,例如链表,二叉树,字符串,队列和栈的使用,链表逆置,二叉树前中后序的递归遍历和非递归遍历,冒泡排序,快排,二分查找等等最最基本的知识,要在纸上快速准确地写出code。记住是在纸上,而不是敲键盘!面试的时候基本都是在白纸上(高级点的在白板上)直接写code,与敲键盘的感觉完全不一样。在纸上code的修改痕迹一览无遗,能充分表现出你的思路是否清晰,基本功是否扎实。并不是说code不能修改,但是低级的错误还是少犯为好。
       B. 对于稍微复杂点的数据结构和算法,例如图,最小生成树(Prim,Kruskal),最短路径(Dijkstra,FLoyd),Huffman树,KMP,海量数据处理等等,掌握思路,对于直观的表示知道如何解题(一般都是选择或填空)就可以了。关于海量数据处理推荐仔细阅读http://blog.csdn.net/v_JULY_v/article/details/6279498。其实总结起来就是大而化小,分而治之,Hash映射+位数组,堆排快排
       C. 多涉猎各种数据结构和算法问题,只有看的多了,思路才能宽广。在碰到问题的时候,才能调动大脑里面的各种思想。这里并不是教大家要背诵答案,而是在阅读的过程中学会分析问题解决问题的能力,看看别人都是从哪着手分析问题的,是如何思考的。毕竟问题是千变万化的,不要指望在笔试面试过程中能碰到所谓的“原题”。推荐阅读http://blog.csdn.net/v_july_v/article/details/6015165。如果大家有时间,可以好好看看这个blog。
推荐书籍:
1.《数据结构》,严蔚敏的,最基本的教材。
2.《编程之美》,打开思路,勤于思考。
3. 各种算法类的经典教材就不一一列举了,量太大,我看的也有限。
      实践证明,这个思路基本有效。至少在我面试过程中,没有遇到让写KMP或某个图的算法的code。某公司面试官说,如果考KMP那就说明这个面试官太没水平了,说的我心花怒放啊!当然,基本也碰不到A中所列算法的原题,但大多都是其变形,基础打牢了,以不变应万变,问题都不太大。关于写code再多说两句,一定要记住考虑边界条件出错处理!考虑问题一定要全面!吃过亏的我时时刻刻谨记这两条!
2. C、C++语言基础:
      语言问题不必太过计较,无论是C还是Java,对于大多数公司来说都是ok的,但是一定要对你选择的语言负责!至少要对一门熟悉吧!
大概用一到两天的时间就可以把C基础过一遍,注意下自己不经常用的地方就差不多了。指针问题还是要多加注意。有时候想想,指针有什么难的,不就是存放变量的内存地址么。可是实践起来就不是那么回事了,经常就把自己绕进去了。C++在掌握基础后,注意下多态,虚函数。尤其是虚函数,实现的本质就是个虚函数表。一定要把C++中的各种“虚”弄清楚啊!曾经有一度看到听到“虚”,我内心就发虚了,囧!
      语言的东西不用讲太多,考察的点基本都是固定的,掌握好基础,多在网上找些真题做做就ok了。
推荐书籍:
《C程序设计》,谭浩强的,大学里的第一门专业课。
《C++ primer》,好厚的书,挑重点看。
《程序员面试宝典》,不要迷信宝典,书中有一些错误,大家擦亮双眼哈!
3. 操作系统、计算机网络、数据库
         这三门也算计算机专业的基础课了,由于侧重了数据结构和算法,对这三门有些忽视,没有系统的复习。只是零零碎碎地看了一些。直接导致面试全凭记忆回答问题。当然一些基础的常识性东西基本还都记着呢!不过相当一部分问题的回答只能是“不好意思,记不太清楚了”。好在几个大公司对这三门中死记硬背的知识点考察也不太多,手下留情了。
4. 计算机体系结构,编译原理,设计模式
      计算机体系结构直接放弃了,好像也没有遇到过,毕竟是软件研发。编译原理直接放弃了,除了笔试碰到过几道选择题基本也没遇见过。设计模式在上半年找实习的时候看过一遍,但毕竟欠缺实践和思想,不太能深刻理解各种模式,校招的时候也忘得差不多了。笔试面试碰到过几次,除了单例模式,都歇菜了。
推荐书籍:《Head First设计模式》,很有趣的一本书,图多字少,看的比较快就有了看下去的欲望。我好阿Q……
5. 科研项目
      这是一定要好好抓住的。基本每个公司的面试都会问,而且主动权在我们手中,毕竟面试官不可能比你更熟悉你的项目。把做过的所有项目好好整理一遍,能把项目讲清楚是最重要的!项目做了什么,用的什么架构,什么语言,困难在哪,亮点在哪,如果你是leader,如何分配任务协调团队等等。可以拽上一个完全不了解这个项目的同学给他预演一遍,看看他是否明白你讲的东西。由于在这个环节,我们占据了主动,有些人就不由得开始说大话了,其实大多数时候面试官心里和明镜儿似的,如果碰到的面试官是个“行家”,做过类似的项目,说大话的人基本就悲催了。大家还是自己掂量掂量吧!

实战阶段:
1. 研究所+国企
      研究所今年来的比较早,导致求职者远远大于往年。相对于互联网公司,研究所的招聘流程很简单,基本就是投简历+一轮面试,国企一般再加个笔试。笔试题真的很简单,面试也就是十几分钟,那么如何考察求职者呢?后来我们总结的是:男生+成绩高+保研+中共党员+专业和项目对口,如果再能获几个含金量高的奖项就更好了虽然其他条件我都满足,但是性别和项目不对口是我的硬伤,所以在研究所和国企这块,完败。
2. 互联网公司
      腾讯笔试题考的知识点比较全,操作系统、数据库、编译原理、计算机网络、设计模式、数据结构、算法等等,与计算机相关的基本都涉及到了。大题主要还是考数据结构和算法,考写code的能力。对于零碎的知识点,基本上每个人都有盲区,所以一定要保证复习过的知识不出错,大题要发挥好。据说笔试成绩决定面试顺序,笔试成绩高的最先面试,那会面试官精力还都比较充沛,所以会比较占优势。今年腾讯的面试和往年大大不同,我一面二面HR面加起来用了大概一个小时,太不是腾讯的风格了!
      微软、百度、搜狗这些公司是以考察数据结构+算法为主,基本上考察完基础知识就开始在纸上写code了。当遇见完全没有思路的题目千万不要慌张,在保持镇定的同时,要与面试官多多交流,多多讨论,不要一个人埋头冥思苦想,面试官一般都很nice,他们会引导你往正确的道路上走。某个大公司的HR说过,她们希望招应届生,因为应届生就是一张白纸,可塑性比较强,在面试过程中也不指望什么问题都能回答出来,但是一定要“孺子可教”,也就是悟性比较高。微软和百度一般是三面,全都是技术面,一路过来就像闯关似的,很惊险,很刺激,结果也是有悲有喜。顺便再爆个小料,这些公司非常希望招一些“程序媛”,因为搞研发的好多光棍组,HR说性别比例失调对公司发展是不利的,要招一些girls去活跃一下气氛。我等女同胞终于扬眉吐气了一回……
      网易、360、人人、绿盟等等后来的公司,我直接就放弃了。因为前面已经拿到了几个offer,后来的这些公司给了offer也不一定会去,所以就不白白地浪费名额了,还是把机会留给想去的人吧!我不是那种以手里攥着一把offer为乐的人,除非特别有吸引力的我还会去尝试,其他的该放弃就放弃吧,有舍才有得,做人要厚道。
       即刻搜索,盘古搜索,这两支“国家搜索队”我去尝试了,为了我那遥不可及的帝都户口。很悲剧,笔试就挂掉了。其实自我感觉答的还可以,为什么就挂掉了呢?难道这就是传说中的木有缘分?郁闷。

总结阶段:
大规模的招聘基本结束,只剩下还没有来的几家银行了。银行是我非常想去的单位,后面可能还会去尝试几家。忙忙碌碌了2个月,总结一下吧!
1. 重视基础,重视笔试。
2. 多动手在白纸上写code,注意边界条件和出错处理。
3. 面试时一定要与面试官多多交流,多多讨论。
4. 面试时心态要摆好,在某种程度上说,我们和面试官是平等的,把他当做我们的师长或者前辈,可能会更好。
5. 找工作要有针对性,在找工作之前一定要想好什么对你最重要,工作地点?公司类型?职位?薪金?户口?一旦想好了,就朝着目标努力吧!如果定了去北京,就   
不要再投上海了,人的精力毕竟是有限的。
6. 找工作基本上每个人都会遇到挫折的,千万不要丧失信心。一定要给自己正面的能量!此处不留爷,自有留爷处。对于我们无法改变的,就坦然接受吧!有不喜欢
女生的研究所和国企,就有喜欢招女生的互联网研发岗。说不清哪个机会在等着我们。

         洋洋洒洒写了这么多,就希望对学弟学妹们有或多或少的帮助。至于笔试面试题,当初签了保密协议的,不方便透露哈!做人还是要讲诚信的!而且我觉得这些东西不是最重要的,题目是千变万化的,层出不穷的,还是修炼好内功最重要!再推荐一篇含金量非常高的博文,看看站在招聘者的角度上是如何看待找工作这件事的。
http://mindhacks.cn/2011/11/04/how-to-interview-a-person-for-two-years/

         最后感谢在我找工作期间给予我帮助的所有人。一路走来,正是有了你们,在我低谷的时候给予了我无限的正能量,在找工作期间还充满了欢声笑语,在找工作的这条路上才不孤单!@亲爱的老爸老妈@亲爱的他@实验室的孩子们


转自好网连接:http://club2.xdnice.com/forum.php?&mod=viewthread&tid=1276698&extra=page%3D1&page=1