程序员面试笔试宝典
上QQ阅读APP看书,第一时间看更新

第2章 面试心得交流

“前车之鉴,后事之师”。本章以各大名牌高校、研究所的应届毕业生的亲身求职经历与体会为蓝本,对当前程序员面试笔试相关的准备工作、时间计划、书籍阅读、面试技巧、offer(中文指录取通知)选择等多个方面的内容进行了独到地分析,对于未出校门的应届毕业生有着极大的指引作用。

2.1 心态决定一切

董哥,男,中国科学院计算技术研究所2012届硕士研究生,现就职于北京腾讯搜搜。

1.抛砖引玉

找工作的过程是综合实力较量的过程,一个好的offer背后凝聚着无数辛勤的汗水,需要勤奋、坚持、积累、付出。这里介绍一下自己找工作的经验,希望对师弟师妹们有所启发。需要注意的是,完全做到了这里提到的几点并不意味着你一定可以拿到一流的offer,我仅是抛砖引玉而已,如果想在找工作时得心应手,需要平时不断积累和总结,领悟其中的真谛。

2.心态决定一切

对于找工作,心态很重要。找工作之前,一定把心态端正。20年寒窗苦读,最重要的一个目的是找一份理想的工作,从而实现自身的价值,因而我觉得,我们至少应该像准备高考那样,全身心地投入到找工作的准备中,将之前所学的知识重新温习整理,以便将所有能力能够最大限度地发挥出来,进而向面试官充分展示自己、推销自己。

3.冰冻三尺非一日之寒

关于找工作前的准备,有两个因素直接决定着你是否能最终被录用,一个是项目,另一个是基础知识,这两者中任何一个被面试官相中,均可能拿到offer。

对于项目,不在多而在精,一般的项目,如普通的管理系统、网站等,面试官几乎不用耗费脑力,一眼就能看到底,没有什么好讲的,最切合也最能引起面试官兴趣的项目往往是与他现在的领域相同或相近,解决的问题的确具有一定的难度且提出的解决方案具有一定的创新点。但遗憾的是,对于大部分毕业生,项目的深度往往不够,毕竟想在研究生短短的两三年时间里成为这方面的专家,还是比较有难度的,所以这个时候就全靠你的基本功了。

基本功大致可分为以下几个部分:编程语言,数据结构与算法,操作系统和其他小知识点。对于编程语言,个人认为C语言是必须掌握的,很多公司把C语言作为必考项。另外,要在C++和Java两种面向编程语言中选一个,主要知识点是面向对象编程中的一些基本概念,如虚函数、构造函数、析构函数、拷贝构造函数等。有一些题目已经成为经典,是必须、一定要掌握的。例如,(C++语言)虚函数是怎么实现的?构造函数可以是虚函数吗?为什么鼓励将析构函数设计成虚函数?对于数据结构和算法,这是面试的重点,很多公司基本上只考算法与数据结构,这就需要大家平时多积累、多练习。尤其对一些基本数据结构和算法,要非常清楚,如单链表反转、Trie树、两个数组交并差集等。对于操作系统,主要掌握Linux里的一些基本概念,如线程、进程、内存管理、文件管理等,这些也会在面试中出现,一定要好好复习。最后是一些其他知识点,如设计模式(单例、工厂模式等)、编译原理(程序从编译到运行要经历的几个过程)等。

4.修炼程序员之“葵花宝典”

找工作的过程中,一些经典的题目,一定要反复推敲,很多题目来自固定的几本参考书,大家应该好好琢磨一下这几本书中的题目。

(1)《编程之美》。这是一本实战书,任何找过工作的人都知道,很多笔试面试题直接来自该书,值得各位找工作的应届生认真地阅读和讨论。此外,该书中有些题目难度过大,从找工作的角度考虑,可暂时不看。

(2)《编程珠玑》。该书主要介绍软件设计思想,书中的例子已经成为百考不厌的经典题目,如数组循环移位、随机采样算法等。

(3)《算法导论》。该书对各种常见算法有很深入的讲解和详尽的证明,并对每个算法的起源、动机和求解过程有较多的涉及。

(4)《深入理解计算机系统》。该书从程序员的视角介绍了计算机系统。几乎囊括了计算机的各类技术,包括数据表示、C程序的机器级表示、处理器结构、程序优化、存储器层次结构、链接、异常控制流、虚拟存储器和存储器管理、系统级I/O、网络编程和并发编程等。该书中提到的一些知识点,常作为面试题目出现,如Linux信号量、虚拟内存管理等。

5.八面玲珑

关于找工作的技巧,主要介绍两点,一是回答问题的技巧。对于项目,主要回答点应该是遇到的挑战和解决问题的思路,对于算法问题,要从复杂度高的算法逐步向复杂度低的算法过渡,第一眼见到题目,可先将自己想到的思路说出来(如O(n2)复杂度),然后不断优化(如O(nlogn)复杂度),最后尽量得到一个最优的算法(比如O(n)复杂度),这时候可能要在纸上写出来,一旦没有了思路,应该主动要求面试官加以提示。另一个是交流技巧,这里指的是面试者之间的交流,这一点非常重要,每当前一个面试者面试完后,应该主动跟他交流,主要询问一些个人收获和心得,尤其是别人的失误,应该尽量避免,因为面试官一天要面试众多的求职者,很可能会对不同的求职者提出相同的问题。

6.多多益善

最后是offer的选择。offer尽量多拿一些,以便给自己留一些选择的余地,至于怎么选择offer,这是个人的问题,每个人的侧重点不一样,因人而异,但我觉得适合自己的就是最好的,没必要和别人进行比较。

2.2 假话全不说,真话不全说

萧叶,中山大学2012届硕士研究生,现就职于睿初科技(深圳)有限公司。

1.万事趁早

我大概是研究生三年级新学期开学后开始准备找工作的,从后来的情况来看,我已经准备晚了,因为校招时间提前了半个多月。这也给了我一个教训:万事趁早,因为我们不能预知公司什么时候来招聘,只能自己提前做准备。准备太晚的结果就是9月中下旬的阿里巴巴、淘宝等公司的招聘全没赶上。

2.不经一事,不长一智

虽然我找工作的两条原则很早就确定了:去外企、搞技术,但是当校招开始时,我几乎还是逢公司必投简历(当然是软件研发类的),一来是因为自己手头无offer,总是有些没底,不知道自己是否能够找到满意的工作,特别是看到周围暑假实习回来就拿到offer的同学,心里不免更加担心,紧迫感更加强烈;二来是因为本科毕业就直接读研了,没有真正找过工作,对找工作还是很陌生,虽然有师兄师姐留下的一些找工作的心得和建议,但毕竟“绝知此事要躬行”。

所以我认为,“海投”也没有什么错误,虽然“海投”的这些公司并不都是自己非常想去的,但是如果不趁早积累和总结一些属于自己的找工作心得,等到心仪的公司来时胜算的把握有多大就很难说了。

3.读书破万卷,面试如有神

因为找工作准备得比较晚(我觉得从暑假开始准备算是比较适合的),所以我基本上是一边找工作一边准备面试笔试,而准备主要就是看书。对于大多数没有项目经验或项目经验少的研究生和本科生而言,看书是投入产出比最高的找工作准备方式。因为笔试面试最常见的内容就那些:语言、数据结构与算法、操作系统、软件工程等内容。语言类靠编程指南之类的书籍即可,其他专业知识点我认为比较有帮助的书籍有《(more)Effective C++》、《(more)Exceptional C++》、《C++Common Knowledge》、《算法导论》等。语言类书籍给出的都是语言规范等确定性的知识,告诉你是什么,非常适合应付笔试;而后一类书则好比内功心法,给出一个场景,分析各种方案的优缺点,告诉你为什么是这样,看这类书的收获,与编写的C++代码量正相关,面试时有水平的面试官比较喜欢问这类问题。这系列的书,无论读者水平的高低(当然基本语言知识得懂),总能从中领悟到一些东西,而且每次再读,又有新的体会,不仅仅适合找工作时读。至于算法方面,我认为这不是看看书突击一下就可以显著提高的,就算把那些常被问到的排序算法死记下来,面试时也不太管用,这个还是要靠平时的积累和悟性。

4.人性化的简历

简历的制作上,排版可以讲究些,目标是让筛选者快速、准确地找到他所关注的内容(如技能、项目经验、成绩等),以两页为宜(有人说最好一页,但是我感觉一页根本写不下,也容易让筛选者觉得材料有点单薄)。至于打印,我觉得最好选稍厚一些的纸,至少不能很清晰地看到背面。总之,要让简历的筛选者拿着、看着觉得舒服。彩色打印就不必了(明确要求的除外),除了相片是彩色的,和黑白打印并无大异。

5.假话全不说,真话不全说

面试到了尾声时,面试官(通常是技术主管、人力资源或经理)有时会问有关求职者职业规划、家庭背景、已经拿到了哪些offer等情况。尽管在此之前,有很多师兄师姐给我传授了相关技巧,但是我还是按照自己的真实想法来回答,也许正是因为自己太“老实”的原因,最终与几个公司擦肩而过:华为、爱立信都问了我拿了哪些公司的offer,我如实回答了,还有一家公司问我如果给我offer我是否签约,我说要考虑一下。我觉得实话实说并没有什么不当,人的本性都是差不多的,一个对自己负责的毕业生找工作时货比三家,最终选择自己最满意的工作是无可厚非的,自信的企业应该能够理解这一点。但实话实说也并非一定要回答面试官的所有问题,有一位面试官问我家里的情况问得过于详细,还有两个问到了其他公司给的待遇问题,我都没有正面回答。拒绝回答问题就要靠技巧了,要尽量委婉地拒绝,不要太过直接,伤害彼此的感情。

6.豆腐白菜,各有所爱

对于offer的选择,这是一个见仁见智的问题,自己最满意的就是对自己来说最好的。我找工作时主要有两条原则:第一,以外企为重点,希望将来有机会到国外工作,但也并不是非外企不去。第二,非技术类的工作不做,因为我知道自己不适合也不太喜欢做售后、策划等工作。结果,拿到的几个offer中,爱立信和睿初都算是符合这两条要求的。在满足条件的这两家公司中,爱立信给予的是带附加条件的offer,要求现在能够过去实习至少两个月,人力资源和项目经理先后打电话问了两次,看得出来是确实急缺人手而不是为了赚廉价劳动力,但是导师不同意实习,所以只好放手。而深圳睿初科技是我找工作以来所有公司中流程最严格(1轮笔试,1轮电话面试,4轮现场面试,两轮总部的电话面试)、最人性化的一家公司,我对它的期望和好感就是在一轮又一轮的面试和沟通中不断提升的,以至于当它最终给我offer时,我毫不犹豫就签了。

其实我觉得首先得确定自己找工作的原则,明白什么是自己最为看重的,然后重点准备符合自己原则的那些公司的笔试面试。

2.3 走自己的路,让别人去说吧

小郭,女,西安电子科技大学2012届硕士研究生,现在计算机网络与信息安全教育部重点实验室攻读博士学位。

这是我第一次找工作,现在把自己找工作的一些情况以及心得整理出来,一来对自己的经历作一个总结,二来可以为师弟师妹们提供一些信息。本人本科专业计算机科学与技术,毕业后直接保送了本校的计算机软件与理论专业读研,研究生阶段从事的基本都是软件类研发工作。

1.无悔的选择

在研二时,我就开始纠结于找工作还是继续念博士之间,但紧迫感不够。到了研三,不能再犹豫了,我做的决定就是先找工作,看看找的情况,毕竟找工作是一份很宝贵的经历。对于工作,我真正拿到了4个offer:华为的软件研发、阿里云的无线平台开发、百度的客户端研发和腾讯的后台研发。但最后我还是选择了攻读博士学位。

2.出师未捷身先死

我是从研二放暑假回学校后开始着手找工作的,应该算比较晚的,复习的内容其实就是面试指南、《编程之美》和各种专业课书(如数据结构、操作系统、计算机网络等)。现在校招的时间越来越早,当第一批公司来的时候我还有很多内容没有复习。

来的最早的公司是联发科,毕竟是第一次找工作,当时我心里还是很紧张的,笔试题不算难,我顺利过关了。接着就是一面了,一面大概半个小时的样子,主要问的就是实验室做的项目,一面结束后等待二面消息,可是当身边很多同学都收到二面通知时,我却依然没有收到二面通知,第一次找工作就碰壁,当时对我打击还是挺大的。后来我静下心来总结了一下这次面试失败的原因,其实联发科问我的问题并不是特别高深,都是一些基础知识,失败的主要原因我觉得在于两点:第一点是面试太紧张;第二点是准备不充分,尤其是项目部分,与面试官的沟通不是很好,面试官对我做的项目应该没有什么了解,而我又没有提起面试官的兴趣,因此我说的话面试官不懂,面试官问的问题我也没有清楚明了地回答。

3.过五关斩六将

接着9月下旬华为、中兴等公司陆续开始了校招。华为面试的场面非常壮观,每天参加面试的学生数以千计,4轮面试不停,我是从下午一点开始面试的,第一天直到晚上九点才面了三轮,而第四轮面试需要等到第二天,于是我拖着疲惫的身体返回学校。华为的面试一共分为4轮,分别是:技术面试、机试(上机编程)、性格测试和HR(人力资源)面试。技术面试就问了一下实验室项目然后让写了个简单的程序就通过了,接着是上机测试与性格测试,机试并不是要求编写的程序完全正确了才让通过,而是根据写的程序进行打分,然后参照同一批人的水平来决定是否通过,其实通过率还是挺高的。而最关键的就是性格测试了,很多人都在性格测试这一关止步了,实在可惜,我一个同学就因为性格测试的时候仔细斟酌,害怕回答得不好,最后没有通过性格测试。对于性格测试,我的心得就是不要太紧张,放轻松点,做题前后要保持一致,尽量不要前后矛盾,按自己的真实想法耐心回答即可。第二天进行的第四轮面试其实也只是随便聊聊天,面试官就问了一下我的家庭背景以及一些与技术无关的问题,接着就直接发给我口头offer了。

之后是百度、腾讯和阿里云三家互联网公司,我感觉百度最注重算法,面试时间也最长。其实能拿到这3个offer我个人觉得很重要的一点就是心态,我去面试这三家公司的时候心里很放松,没有一点紧张,我就权当是去锻炼锻炼,这样效果反而会更好。当然也不是只要不紧张就可以了,面试成功的因素是多方面的,与你碰到的面试官,当年的就业形势都有很大的关系。但是在自身方面,除了心态好,还有就是要有充分的准备,尽量把自己会的面试官也感兴趣的东西告诉面试官。在项目方面因为有了之前面试的经验,我在与面试官讨论项目的时候越来越熟练,对项目的理解与总结也越来越好,因此讨论项目这一部分我的问题越来越少,而且我个人认为不仅要对自己做过的每一个项目做充分准备而且一定要实话实说,因为每家公司注重的与感兴趣的内容不同,或许他们会对你没有准备的项目很有兴趣,如果这时候你显得很生硬,那么就对你不是很有利了。在我面试期间,阿里云对于我曾经参与过的与编译器有关的项目很感兴趣,而百度则对网络安全中的身份认证感兴趣。当然,实话实说的意思是不能说假话,但是并不意味着要把所有实话都说出来。如果说假话被面试官拆穿了,那么就彻底没戏了,有时候可能有人会抱着侥幸心理,不过我碰到的这三个公司的面试官对我简历上写的项目总有一个会很熟悉,有的甚至不止熟悉一个,因此还是踏踏实实、实话实说比较保险。这三家公司的面试题与华为、中兴的区别甚大,他们更注重的是你的能力和反应,一个问题面试官可能会与你讨论很长时间,如果很顺利地回答好了,那么面试官会将这个问题延伸,如果不能回答出来,面试官会给你提示并且与你讨论。总之你和面试官交流的过程就是把自己的能力展示给面试官看的,就算回答不出来或者答得不完美其实也没有很大的关系。

4.成绩第一

除了心态好、对项目熟悉之外,就是技术了。我在面试过程中,虽然没有把面试官问的问题全部回答出来,但是也差不多,因为有很多面试题涉及的知识都是我以前在实践中或者在技术书籍中看到过的,在研究生阶段我利用课余时间看了不少专业书籍,如《编程之美》、《编程珠玑》、《计算机程序设计艺术》、《Windows程序设计》、《C陷阱与缺陷》、《C专家编程》和《深度探索C++对象模型》等。这些书籍对我找工作的帮助非常大,不仅仅是面试题中可能会出现,考虑问题的思路或者是方法都可以从书中得到启发。

在面试过程中,笔试成绩高还是很有优势的,我在阿里云面试的时候就是得益于笔试成绩很高(后来面试的时候看到的,接近满分),面试过程中面试官貌似对我很有信心,没有特别为难我,尤其是第三轮面试的时候,部门领导直接说已经可以确定我通过了,整个过程中都说我的笔试成绩很好,因此没有问什么技术问题,都是给我介绍他们的工作情况。

拒绝我的Marvell(美满)上海研发中心是一家全球领先的半导体厂商,因为是外企,因此他们对英语有比较高的要求。我很早就投了这家公司的简历,过了很久之后才接到了他们给我的电话,让我去面试,一面结束后我才了解到之所以让我去面试是因为我有参加ACM竞赛的经历,所以在这里插一句,有机会的话一定要尽量多参加一些竞赛,一来可以锻炼自己的能力,二来可以结识一些不错的同学,而且有可能会让你拥有比别人更多的机会。Marvell的面试一共有三轮,三个面试官全都问技术,三面下来花了四五个小时,面试官不同于上面提到的那三家互联网公司那种随和的感觉,每个人都很严肃、很犀利。第一面主要问我算法,让我设计一个两部电梯的调度算法,主要从人性化的角度去考虑,我设计了几个方案之后面试官都不太满意,算法题结束之后又用英语交谈了一下,第二面的面试官主要问的是与项目有关的内容,还有一个与专业无关的测试,问项目的时候问得非常细致,幸亏来之前有所准备,这些结束之后他让我说说如果让我测试一款手机我会怎么测试,越完整越好,由于在此之前我曾去中兴西安研究所参观过手机测试部门,所以就说了一些自己见到的,面试官对我的回答结果应该还算满意。第三面的问题包罗万象,软硬件都有所涉及,软件我还能应付,硬件就有些力不从心了,因为研究生阶段我都没有接触过硬件。当天面试完毕之后我感觉应该没戏,不料过了一段时间我收到了Marvell美国那边的邮件,叫我把GPA和英文简历发给他们,当时我已经决定上博士了,还在准备英语考试,所以就没在意,随随便便发了一下,之后就没回音了,我感觉是因为英文简历不过关。那份英文简历是我在暑假的时候草草做的,没有修改,很多地方都不完善(甚至有语句不通的可能)。虽然没有收到Marvell的offer,不过我的收获还是很大的,这次面试完我知道了自己的知识和水平还有很大的提升空间,只有以后再努力了。

5.走自己的路,让别人去说吧

最后我拒绝了所有的offer,选择了继续攻读博士学位,这里有一些主观原因,也有客观原因。总之,选择了就要走下去,其实每个人都会在生活中遇到很多选择,我觉得不管你选择了什么,只要是你自己的选择就不要后悔,踏踏实实地走下去,坚持是最重要的。

2.4 夯实基础谋出路

jololee,男,浙江大学2012届硕士研究生,现就职于杭州网易游戏。

1.万事不备

我是从7月份开始准备找工作的,刚开始并不算太努力,断断续续,自己也比较松懈,所以只是零零散散地进行着复习,对于知识点的掌握也并不是非常精通。直到9月份重心才完全投入到找工作中,开始看一些专业书籍,如《算法导论》、《C专家编程》等。

2.夯实基础谋出路

对于面试笔试的准备,我觉得基础是根本,所以需要多学习一些基础知识,参考的图书有《算法导论》、《数据结构》、《深入Java虚拟机》、《Java多线程模式》等,其他的内容由于时间关系,看得比较匆忙,如《编程之美》、《编程珠玑》。另外,编程指南类速成书籍也看过,不过感觉一般,应付小公司还可以,真正的大公司,仅凭这种书肯定是不够的。所以我的教训是如果时间允许,多读书,读好书,夯实基础是王道。

3.字字珠玑

找工作的过程真是道路崎岖,现在分析关键原因还是准备得太晚,9月份第一波招聘潮到来的时候,我还没有看过《编程之美》等书籍,这也导致我错过了一些好公司。

简历制作要区分国企、私企、外企3种,国企考查求职者的综合素质,需要经历辉煌,他们一般更注重综合素养,而不仅仅是技术细节;而私企一般会深入追究,需要把简历上的每个项目弄清楚,技术要扎实深入;外企需要能够用英语讲述自己的经历、说清楚一个项目的工作以及有良好的表达能力。

不准备算法、错过一半公司;不准备项目经验和技术,错过另一半公司。如果去外企,英语是必需的。

4.多方询问

一般可以从师兄师姐那里得到一些关于企业的详细资料,也可以从学校bbs(水木清华、饮水思源、飘渺水云间、西电好网、北邮人等)上的帖子获取相关信息,还可以广泛征求同学或朋友的意见和建议。一般实验室应届生毕业每年去的公司都差不多,要善于与实验室毕业的前辈联系,询问他们的建议,他们一般也会毫无保留地给予非常善意的回答。

5.忠言也顺耳

找工作过程中的磕磕碰碰让我头破血流、身心疲惫,但同时也受益匪浅。最大的教训就是应届生的水平一般不会差距太大,如果想把工作找好,就要下真工夫、下苦工夫,就跟高考一样,绝对是天道酬勤,水到渠成。

9月份第一波招聘会来的时候你就必须要把基础知识、算法、智力题、英语准备好了。否则你只能惨淡地接受教训并发奋努力在国庆节后第二波高潮之前加紧追赶了。不过这比较紧,效果往往不是太好。

最后,签约要慎重,如果觉得没有找到好工作,一定要坚持,不要以为后面没有机会了。进入招聘后半段,大多数公司都会补招,这是坚持到最后的人才有的机会。

2.5 书中自有编程法

涛哥,男,西安电子科技大学2012届硕士研究生,现就职于华为技术有限公司西安研究所。

我虽然找到了一份不错的工作,但很难说得上是成功的经验。这里总结求职过程中的经验教训,对后来的求职者应该还是有很大的警示作用与借鉴意义的。

1.选择因人而异

经过近一个月的努力,最终我拿到了两个offer:一个是华为技术有限公司西安研究所的云计算研发的职位,另一个是腾讯深圳的无线终端开发的职位,最后我放弃了腾讯,选择了华为。之所以放弃薪水更可观的腾讯而选择华为,一方面是由于我做的项目都是Java语言开发的,自身对C++不太熟悉,腾讯给的offer是终端开发,而我不想做终端开发;另一方面是深圳的生活压力大,我不想在工作压力大的同时,生活压力也这么大。所以我在国庆前就签约华为了,之后也没有再找工作,而是开始做毕业设计相关的事情。

2.有所不为才能有所作为

联发科来的时候在全西安进行招聘,没投简历的也可以参加笔试。由于联发科是最早来招聘的大公司,所以参加笔试的人特别多。笔试题目不难,考的都是一些基本的数据结构、操作系统、计算机组成原理和C语言的知识,有三四道《编程之美》上的算法题,做完后自我感觉良好,顺理成章地收到了后续的面试通知。后续一共经过两轮面试,第一轮面试一共10分钟,都没问技术,只涉及了项目;第二轮面试我的是两个部门经理,也没问技术,时间大概有20分钟,提了提项目和性格方面的问题,最后他们当场说给我offer,然而我拒绝了,因为我想做后台开发,而他们提供的职位是终端开发。联发科也是一家非常不错的企业,我只是不想去做自己不喜欢的东西罢了。也许正是因为我的放弃可以成就另外一个人的成功。

3.落花有意流水无情

我一直想进的是阿里系的公司,原因有两点:第一点是我觉得整个阿里系的公司技术和氛围比较好;第二点是我非常佩服马云这个人,感觉对自己今后的成长会比较好。

阿里云是9月中旬来的,在西北工业大学笔试,一个小时要做十几道算法题,因为太想进阿里云了,所以非常紧张,最后没有发挥好,笔试都没通过。所以,在此提醒以后找工作的师弟师妹,找工作心态一定要放平,相信自己,没有什么大不了的。后面的笔试面试我就非常淡定,但还是被百度和淘宝两家公司给淘汰了。百度是3个小时做10道左右的算法题,应该是我参加的所有笔试中题目技术含量最高的,也是最难的,感觉就三道题目自己比较肯定答对了。后来收到了百度的面试通知,一面的时候问了3个技术题,一道是数学题,一道是问LRU页面调度算法用程序怎么实现,还有一道是文件分布式存储方面的,感觉回答的不太好,果然一面就把我给刷了,因为后续一直没有收到二面的消息。而淘宝跟阿里云的笔试很像,时间也是一个小时,题量比较大,题目比较难,我笔试也没通过,淘宝和阿里云的失利对我打击挺大的,它们是我最想进的公司。

国庆之后没再找工作,一是因为没信心了,还有就是通过对这几家互联网公司的应聘,我发现自己的实力确实不行,首先是基础不扎实,对专业课中的知识点仅仅是知道皮毛,理解根本不深,然后是算法太差了。

4.书中自有编程法

在这里推荐几本对找工作和以后搞软件技术有帮助的书籍,不过大家还是要有一个自己喜欢的方向(数据挖掘、图像处理、搜索等):

专业基础:《深入理解计算机系统》、《操作系统》、《数据结构》。

算法:《算法导论》、《编程之美》、《编程珠玑》、《编程珠玑2》、《计算机程序设计艺术》系列,算法的提高还要平常多做些题,网上有很多。

C:《C语言程序设计》、《C陷阱与缺陷》、《C专家编程》、《C和指针》。

C++:《C++程序设计语言》、《Effective C++》。

Linux:《UNIX环境高级编程》、《Linux设备驱动程序》、《深入理解Linux内核》、《UNIX网络编程卷1》、《UNIX网络编程卷2》。

Java:《Java编程思想》、《Java虚拟机》、《Java与模式》。

5.充电与实践非常重要

如果立志于做软件研发工作,那么求职时最重要的还是技术实力,而实力的练就需要平时的积累,现在还在上本科的同学要抓紧时间了,不管是工作还是上研究生,都要坚持每天给自己充电,如果有机会读研究生,尽量选准一个自己喜欢的方向,把大量的时间放在上面,而且要跟老师、师兄师姐以及企业里的人多交流。对于搞技术的人而言,实践是非常重要的,除了实验室的项目,大家还可以参加一些竞赛,如果在技术含量比较高的竞赛(ACM、腾讯创新大赛、华为创新设计大赛、中兴捧月程序设计大赛、百度之星等)中拿过奖,对于找工作会很有帮助。所以,我的建议是,如果实验室有比较好的项目,那就做实验室的项目,如果没有,那就多参加一些竞赛。

2.6 笔试成绩好,不会被鄙视

小白,女,电子科技大学2012届硕士研究生,现就职于中国电子科技集团某研究所。

要说给学弟学妹们留点建议,我想从找工作前的一些方面说起。毕竟找工作也就短短几个月,真正决定自己应聘结果的是最初的一些准备。当然,找工作确实也是个运气活,但是运气并非我们所能掌控的,所以做些我们能够做到的事情才是重要的。

1.知己方能百战不殆

首先我要说的是,自己一定想清楚自己要什么。有不少人读研究生,其实没有想清楚自己以后到底想要从事什么样的工作。和大部分人一样,我从一开始就是完全听老师的话,没有任何自己的规划与计划,老师让做什么就做什么,也不想想自己为什么要做,怎么做更好,而老师不管的情况下,自己也恍恍惚惚不知如何。所以我建议大家从一开始,至少研一修完学分开始,想想自己想要怎样的工作。想去外企的,尽早做好英语的准备,毕竟英语好,对于进外企还是很加分的。其次在自己所在的专业,专业基础扎实,成绩优秀也是外企较为看重的。对于进私企或其他单位而言,当然也需要为以后从事的工作做较多的准备。就我的专业而言,因为我是从事算法研究的,找工作的时候就比较苦恼,现在大多数IT企业,无论是招聘硬件工程师还是招聘软件工程师,都看重求职者的编程能力,他们很少将重心放在算法研究上,而我研究的算法面比较窄,他们也并不是很了解,所以在招聘过程中还是挺吃亏的。鉴于此,希望大家还是尽量多完善自己这方面的能力,不要等到找工作时,才手忙脚乱地开始准备。当然很多时候,作为学生,我们没有选择的权利,研究方向都是导师指定的,必须要做一些科研方面的东西,这个时候就要自己合理地安排好自己的工作了。倘若想进研究所,算法方面的研究还是必要的,有比较出色的文章发表也是很不错的。倘若想读博,一门心思搞学术,才是硬道理。所以,大家尽早衡量好自己的性格兴趣,选好方向,有的放矢,绝对是有益无害的。

确定好了工作类型,下一个问题就是工作地点的问题了。在正式开始找工作之前,希望大家结合自己的实际情况,和父母好好商量一下,如果有男/女朋友,也可以和男/女朋友好好商量一下,自己也多做些思考。毕竟全国各地,公司岗位那么多,海投的效果始终是不好的,个人也没有那么多精力。确定好几个工作地点,有针对性地选择准备,才能事半功倍。

2.笔试成绩好,不会被鄙视

正式找工作开始前,还是要看看相关的找工作的书籍。程序员笔试面试题目还是和做的实际项目不太一样,笔试面试一般侧重细节,更加注重基础知识的考核,所以进行这方面的准备还是很有必要的。

对自己感兴趣的公司来招聘之前,还是要做好提前准备工作,对公司的初步了解,往年笔试面试题目等。公司面试时喜欢问为什么选择我们公司之类的问题,若能回答的比较得体,印象分会不错。

3.诚者,天之道也;思诚者,人之道也

关于面试,本着相互尊重的态度,应该穿戴整洁,必要的场合还应该穿正装。第一次参加面试,心理上可能会有些紧张,其实也就是刚开始一两次会这样,面试笔试多了,也就习惯了,就会平淡很多,所以开始拿一两个自己不是很想去的公司练练手也是可以的。

在面试期间,做到礼貌、大方,对于对方的问题,做短暂的认真思考后有条理地回答比较重要。同时我想强调一个问题,诚信还是很重要的,我自己就在这块差点栽了跟头。面试前听说面试官是宣讲会的主讲人,很在意有没有去听他的宣讲,所以当面试官问我是否有去听过他的宣讲会时,多了个心眼儿(之前也了解了他大概宣讲的内容),我就回答说去了。结果没想到他突然问我啥时候去的,我完全不记得宣讲时间了,只记得是下午,大概说了个时间,结果差了一个小时,幸好反应快,说中午出去办事,回来的匆忙,急急忙忙去听,具体时间不是很清楚了,所以在此做个反面教材,给大家做个警示,诚信诚恳,才能获得好的机会。

群面是一个面试中经常遇到的事情,像华为、华赛、腾讯产品一般都有群面。对于群面,网上的讲解很多,大家可以了解一下。我个人觉得,在群面中并不是说一定要保持中庸,不能多说话。不该说的时候不要乱说,该说的时候一定要当仁不让。同时,注意语气态度,很多人说开了,就一副唯我独尊的样子,不给其他人说话的机会,其实不是话太多的错,是心态没摆正的错。

4.offer不在多,在于精

生活中的痛苦大多不是因为没有选择造成的,而是选项太多造成的,所以我个人认为offer不在于多,在于精,一两个保底,然后为自己最中意的offer再认真一搏,这些就够了。关于如何选择最后在手中的offer,其实做好工作类型和地点的考虑后,基本也就能够确定了。在同等条件下,不仅需要衡量基本工资、绩效、奖金、福利等诸多因素,还要考虑所在地的生活成本等。

我教研室的一个同学,从研二上学期开始,就认定了一家研究所,详细了解他们的研究方向,在做实验室项目的同时,也参与了该研究所的相关项目。虽然研究得不够深入,但也做到了基本的了解,通过参与到研究所的项目,不断弥补自己在该方面的欠缺,最后在找工作的时候,几乎是一击即中,时间精力都节省了,身心相当轻松愉悦,所以希望大家以此为榜样。

5.谋事在人,成事在天

我找工作的经历说难也不难,说顺利也不算顺利。确定要回家并且进研究所,却发现大部分研究所不要女生,而我厚着脸皮勉强面试了一家并且耐心地等到了最后,幸好最后还是顺利签了。虽然没有面试几家单位,但是心里承受的压力也不小,所以对于自己想去的单位,一定要尽可能地表达自己强烈的意愿和真诚,天道酬勤,不轻易放弃,只要不是太差,最后一丝机会也应该尽力抓住。“谋事在人,成事在天”,做好自己应做的努力,也就无悔了。

应届生找工作,确实是一件大事,但其实也并没有想象中的那么重要。人的一生还有那么长,你现在的认知未必和以后相同,机遇和发展都是不定的因素,所以良好的心态绝对是至关重要的,一次的选择,并不能确定你的一生。人的一生取决于人一直以来的认真和坚持,对于不可控的运气问题,保持一个正确的态度,切记不可急躁。真心不愿意的也不要屈就,感觉比较满意的,能签就先签上。其实就我的经验而言,只要你有实力、有耐心,保持好的心态,一般都会有较为满意的结果的。

2.7 不要一厢情愿做公司的备胎

追风少侠,男,西安电子科技大学2012届硕士研究生,现就职于杭州支付宝网络技术有限公司。

以下是我的个人经验与教训,大公司的面经笔试我就不谈了,网上到处都是,我只是想说点求职过程中需要注意的地方。

1.好学校不如好成绩

笔试成绩的好坏直接决定你在一个面试官心目中的初期印象,而且很多面试顺序都是按照笔试成绩的顺序排列的,成绩排名越往后,面试官越是看不中你,要是你再迟到,那入围的机会就更加少之又少。淘宝的那次面试就把我安排在下午三点半进行,可是那天我参加了支付宝的笔试耽误了,赶到面试地点都已经将近六点半了,一轮面试刚开始就被面试官反问试卷及格了没,我说及格了,结果没答对,然后就一直处于她问我答的环节,而她问的范围很广也很细,面试大概一共持续了将近一个小时十分钟,尽管如此,可是结果还是被淘汰了。

2.不要一厢情愿做公司的备胎

在和公司签署三方协议之前,千万不要在一个公司上吊死,每个HR都会说自己的公司有多好多好。所以在此奉劝大家最好能联系一下在这家公司里面的员工,大体知道个大概情况,不要一味地相信给你的口头offer。

作为口头offer,本身没有法律效力。作为应届毕业生,要尽量多找几家公司,拿到多一点offer,这样比较保险,同时在与用人单位谈工资时,也有很大的资本可谈。所以不要一厢情愿地做公司的备胎,要让自己有好几个备胎,这样不会处于被动局面。

3.钱多事好离“家”近

如果就业有总部与分部之分的话,最好选择去企业的总部,因为企业总部和分部差别很大。在企业总部,大部分的资源都会汇集在那,机会也多,能够很快得到支持和帮助,学习的机会也更大,个人空间也更大,而在分部就会有很多局限性,很多好公司都不会把核心业务放在分部,顶多设置一个办事处,晋升机会一般也少,接触核心的东西也少,对个人的成长当然也会不利。

4.论持久战

找工作是个艰苦的拉锯战、体力战、消耗战,有时候拿到了一个offer,还希望有更好的offer,有时候拿到了多个offer,还需要考虑一段时间,不断地比较offer或者等待更好的offer的出现。所以一定要做好持久战的准备,并非人人都是千里马,也并非每个面试官都是伯乐。找工作,希望在短时间内得到面试官的认可也不是一件容易的事情,所以就算被这些“伯乐”拒绝也是很正常不过的事情,“此处不留人自有留人处”,好公司有的是,而且很多都会来第二次招人,不用担心找不到工作。

5.实习是捷径

好公司人人都想去,可是好公司招聘的人数有限,并非人人都能进好公司,必然有很大一部分人最终与好公司擦肩而过。能进入好公司除了运气,更多的还是依靠实力。对于实力有点欠缺的人来说,千万要抓住该公司的实习机会,能去一定要去,因为通过实习最终留下来的可能性非常大,很大一部分实习的人都可以留下来成为正式员工。而且和你一起竞争去实习的同学数量与实力要远远少于校招的时候,而且很有可能,校招的人数会锐减。不仅如此,光鲜的实习经历也会增加简历的分量,对于应聘其他企业也会大有益处。

6.做研究还是做项目

若不考虑读博士,就不要把精力仅仅只放在做研究上面,多做点工程性的项目。当然不可否认研究生阶段做科研给我带来的思维上的锻炼,但是公司青睐的大多数还是工程技术性人才。

2.8 小结

成功不可复制,所以不要盲目照搬别人的成功,因为每个人都是唯一的,都是不一样的:性格、环境、能力、智商、情商、机遇、身份都不一样,但是“他山之石,可以攻玉”,成功的方法、失败的教训却可以借鉴,成功也变得有章可循,认识自我、创造自我、成就自我,最终一样能够站在前人的肩膀上,用自己勤劳的双手、聪明的头脑取得成功,开创自己的美好明天。