原文地址:http://blog.csdn.net/luckyxiaoqiang/article/details/13000431linux
找工做是一个长期准备的过程,突击是没什么效果的。准备时间越长,准备就越充分,就越容易拿到好的offer。我基本上从研究生一入学就一直在准备找工做的东西,看书、研究研究笔试面试题、在线编程训练、参加实习招聘等等。固然,其实主要仍是研二开始准备的,也算不上多认真,反正一天一天的积累吧。这里我把我准备的内容向你们分享一下。c++
1、推荐书籍面试
计算机的好书挺多的,我买了也有四五十本,也花了很多钱,可是这些投资都是值的,好好看一下这些书,让本身找工做时的薪水涨个几千是没问题的。固然,也有些书是电子版的。我是c++方向的,可能大部分书都是和c++相关的。算法
1. c、c++相关数据库
C语言问题通常都是在笔试题中出现,面试题中问的比较少。首先是下面这三本经典的C语言书:编程
《C和指针》windows
《C专家编程》设计模式
《C缺陷与陷阱》网络
这里还要极力推荐的是:数据结构
《C语言深度剖析》
这本书是国内人写的,重点讲解了C语言里的一些晦涩的问题。
上面这几本书应该基本上就能够熟练掌握C语言的各类问题了,笔试题基本都能从容应对。
下面首先推荐三本C++相关的书:
《深度探索C++对象模型》
《Effective C++》
《STL源码剖析》
我以为这三本是C++方向找工做必备的,这几本看熟了(我以为至少认真看个三、5遍吧)至少能够搞定90%的C++笔试面试题。
下面这两本我也极力推荐:
《More Effective C++》
《C++反汇编与逆向分析技术》
若是这两本书也掌握了我以为面试中通常没有什么C++问题能难倒你了。
固然还有不少其余经典的C++的书,有精力均可以好好去读一下,我就不一一列举了。
小结:C、C++知识是很重要的,是绝大数公司笔试面试中重点考察的知识,除了Google、微软等一些公司面试中基本不考察编程语言外,其余大多数公司都会把C++做为重点考察的内容之一,我面过的公司:百度、阿里巴巴、腾讯、网易游戏、雅虎等等都会问C++问题,固然具体问不问也可能跟你的简历、面试官的喜爱有关。
2. 算法、数据结构相关
谈到算法天然少不了圣经了
《算法导论》
固然这本书我只是偶尔翻翻,可是我以为这个应该从头至尾认真看一遍、好好作一下练习题。
下面是几本跟面试中的算法最相关的一些书籍:
《编程珠玑》
《编程之美》
这两本是最经典的了,这里面注重的是解决问题的思路,看的时候里面的问题要认真思考再参考解答。
下面两本是对具体的面试题作一些解答,同时有详细代码实现的。
《剑指Offer》
《Cracking the coding interview》
上面这四本我以为都是必备的,里面的题目解决思路要数量掌握,可以触类旁通、解决相关变种问题。同时,里面的题目,应该都要在纸上实现,而后再在电脑里实现、测试。Bug-free是面试中重点考察,面试官也会常常让面试者写测试用例,因此,平时咱们要养成这些好的习惯。
下面也推荐一本经典书吧,
《算法艺术与信息学竞赛》
固然不适合算法薄弱的人看,这通常是ACM大牛的家常饭。不过,能看多少是多少,总归是会有收获的。
小结:算法是重中之重了,各个公司都把算法做为考察重点,甚至有的公司只考察算法。应该早点开始积累,好比多刷一下POJ,LeetCode等等,后面也会提到这些在线编程网站。
3. 数学相关
这方面我看的也很少,固然,我以为这几本都很重要,对笔试面试都会颇有好处的,并且这方面的内容笔试面试中考察的也不少。
《组合数学》
《具体数学》
《数学之美》
4. 操做系统相关
操做系统也是笔试面试考察的重点,我看的相关书的也很少,主要推荐下面两本吧
《深刻理解计算机系统》
《操做系统精髓与设计原理》
我没有linux相关经验,可是我以为linux内核应该好好研究一下,这方面我不懂,就很少说了。
我稍微研究过一点点windows内核源码,这里推荐
《Windows内核原理与实现》
还有和windows编程相关的
《Windows核心编程》
5. 网络相关
我基本就只看了一本
《TCP/IP详解卷1:协议》
6. 软件开发、设计相关
首先是设计模式,我以为设计模式是很重要的,对之后工做也颇有好处。固然面试中考察的不是特别深,通常就是问一下你熟悉的模式是哪个,而后稍微问一下,估计Singleton是问的最多的。我仍是极力推荐你们熟练掌握设计模式。下面这两本书配合一块儿看,效果至关好
《Head First设计模式》
《设计模式—可复用面向对象软件的基础》
而后是
《代码大全》
这个就很少说了,也是必备的。
我再极力推荐两本重构相关的书
《重构—改善既有代码的设计》
《重构与模式》
这两本可能对面试没有直接的帮助,可是应该会有潜移默化的影响吧,对之后工做确定是至关有好处的。
7. 搜索引擎
这个不是必备的了,可是我为了丰富一下简历,也看了几本书,主要两本吧
《搜索引擎—信息检索实践》
《这就是搜索引擎—核心技术讲解》
这两本配合着看,就能够把搜索引擎原理、相关技术了解得差很少了,我简历上写了这个,面试中也常常被问到,应该是能够加分的。
8. 数据库
数据库也是重要的内容之一,尤为是数据库底层实现相关的一些东西,索引啊等等。
首先是你们最熟悉的
《数据库系统概念》
还有一本很好的,就是讲解数据库底层内容的
《数据库系统实现》
8. 其余
这里主要是推荐一本《垃圾收集》,这个算是比较底层的东西了,可是这个绝对的会给面试加分,我也很受益于这一点,同时能够稍微研究一下JVM的垃圾收集机制,能够参考《深刻理解Java虚拟机》以及一些相关文章。
还有《CDN技术详解》,我以为也不错,能够很好的了解一些大型网站使用的一些技术等等,面试中也经常会问到一些大型的网站系统设计问题,负载均衡等等。
2、推荐网站
1.LeetCode
这个网站里有不少经典面试题的讲解,固然最主要的是它的OJ系统,里面有100多道题目,和ACM OJ不一样的是,这里面的题目都是来自于面试题,全部更有针对性,建议至少刷3遍,我刷了差很少5,6遍,多刷几遍不丢人。
2.POJ
这是北大的OJ,leetcode知足不了你,就能够来这刷了,若是还知足不了就找国外的OJ吧,USACO、URAL等。
3. NOCOW
这里也有很多acm相关的资料,推荐看一下USACO和URAL的题解。
4. Careercup
国外著名的帮助找工做的网站,里面有不少Google,MS,FB,Amazon等等名企的面试题,有精力就一道一道作吧。
5.CSDN
有很多人的博客仍是不错的,总结不少笔试面试相关的东西,好比v_JULY_v。也常关注一下热门博客。
3、其余
在这里推荐一下陈利人的微博(http://weibo.com/lirenchen),该微博里有不少不错的资料。建议认真读一读google云计算的三篇论文,毕竟云计算仍然是热点。好好研究几个开源项目的源码,如levelDB。作几个有水平的项目。找个好公司实习一下,著名互联网公司的实习经历也挺重要的。
总结
以上基本上是我为找工做准备的东西,固然我也没把我所列的每个方面都作的那么充分,可是只要准备个差很少,我以为国内的公司BAT之类的仍是不在话下的,但愿来年准备找工做的同窗早点准备,到时候拿到理想的offer。