程序员求职必备《程序员面试笔试宝典》教你如何顺利经过面试

21世纪的前10年是IT技术迅速发展的10年,嵌入式技术、互联网技术等蓬勃发展,程序员,尤为是高级程序员可观的薪水以及程序员巨大的发展潜力使得愈来愈多的人选择了程序员做为将来的职业。同时,因为计算机技术自身博大精深,涉及的知识面很广,企业在给程序员开出高薪的同时,对他们的专业素养也提出了很是高的要求。每一年九月份开始,各大IT企业开始招兵买马,招贤纳士,无数具备计算机专业背景的学生都但愿在招聘季可以进入本身渴望的企业,本身喜欢的行业,而且领取一份可观的薪水,寻找一份这样的工做成为每个求职者的终极目标。可是这些企业的招聘人数毕竟是有限的,像GoogleMicrosoft这样的行业巨头,每一年在中国的招聘计划可能只有区区几十人,如何可以鹤立鸡群,从众多求职者中脱颖而出是每个IT求职者所渴望的。html

经过调查发现,虽然IT业在不停地炒做新概念,例如SOA云计算等,并且各大IT企业的工做重心也可能大不相同,有侧重互联网开发的,也有侧重嵌入式系统开发的,还有侧重应用性软件开发的,可是在对求职者进行面试笔试时,他们却达到了惊人的一致,都会特别看重求职者对基础知识的掌握能力,重点考核他们的计算机基本知识,包括C/C++、数据结构与算法、操做系统、计算机网络、大规模数据处理等,毕竟这些具体技术问题是有客观答案的,并且计算机技术之间每每都是相通的,这些基础题型几乎是固定的,无论求职者以前技术水平如何,只要可以在找工做前将这些知识理解,作到融会贯通,以不变应万变,必将能在求职中找到一份理想的工做。程序员

  

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

一、抛砖引玉面试

找工做的过程是综合实力较量的过程,一个好的offer背后凝聚着无数辛勤的汗水,须要你勤奋,坚持,积累、付出与表现。我以过来人的身份介绍一下本身找工做的经验,但愿对师弟师妹们有所启发。但须要注意的是,彻底掌握作到了这里提到的几点并不意味着你必定能够拿到一流的offer,我仅是抛砖引玉,点播你,启发你而已,若是想在找工做时驾轻就熟,须要你平时不断积累和总结,领悟其中的真谛。算法

二、心态决定一切编程

对于找工做,心态很重要,找工做以前,必定把心态端正。二十年寒窗苦读,几千个夜晚与孤独为伴,最重要的一个目的是找一份理想的工做,从而实现自身的价值,于是我以为,咱们至少应该像准备高考那样,全身心投入到找工做的准备中,将以前所学知识从新温习整理,以便将全部能力可以最大限度地发挥出来,进而向面试官充分展现本身,推销本身。设计模式

三、冰冻三尺非一日之寒数组

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

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

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

四、修炼程序员之“葵花宝典”

找工做过程当中,一些经典的题目,必定要反复推敲,不少题目来自固定的那几本参考书,你们应该好好琢磨这几本书中的题目:

(1)       面试指南类书籍

面试指南类书籍是很是基础的书籍,里面的题目比较经典,经常以笔试或者面试题的形式出现。虽然对于进入好企业帮助不大,可是应付通常的小企业,这本书能够做为必定的参考。

(2)       《编程之美》

这是一本实战书,任何找过工做的人都知道,不少笔试面试题直接来自该书,值得各位找工做的应届生反反复复地阅读和讨论。此外,该书中有些题目难度过大,从找工做角度考虑,可暂时不看。

(3)       《编程珠玑》

该书分为一二两本,但从找工做角度考虑,第二本可暂时不看。第一本书主要是软件设计思想,书中的例子已经成为百面不厌,百考不厌的经典题目,好比数组循环移位,随机采样算法等。

(4)       《算法导论》

大师级的书,几乎是找工做必看,该书对各类常见算法有很深刻的讲解和详尽的证实,并对每一个算法的起源,动机和求解过程有较多的涉及。

(5)       《深刻理解计算机系统》

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

(6)       CareerCup.Cracking.the.Technical.Interview.Ed4.2010

该书还没有在中国大陆发行,但在网上可找到很是清晰的电子版,本人在此留下一个连接:http://ishare.iask.sina.com.cn/f/12828753.html,仅做为学习之用,请勿用于商业目的。该书中的题目全是常见题,相对于上面基本书,其题目更新,技巧性更强。听说,有人借助此书拿下huluhulu是美国最知名的视频网站之一)的offer

五、八面玲珑

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

六、多多益善

最后是offer的选择。offer原则尽可能多拿一些,以便给本身留一些选择的余地,至于怎么选择offer,这是我的的问题,每一个人侧重点不同,因人而异,但我以为适合本身的就是最好的,不必和别人进行比较。

技术的更新永无止境,做为一名即将毕业的学生,要时刻保持清醒的头脑,不断地学习,不断地充实本身,只有这样,才能在激烈竞争中不被淘汰,二十年寒窗苦读,最重要的一个目的是找一份理想的工做。梦想立刻就要实现,但愿学弟学妹们再接再砺,像准备高考那样准备找工做!

相关文章
相关标签/搜索