[综合面试] 计算机面试书籍与求职网站推荐

一、推荐书籍

计算机的好书挺多的,我买了也有四五十本,也花了不少钱,但是这些投资都是值的,好好看一下这些书,让自己找工作时的薪水涨个几千是没问题的。当然,也有些书是电子版的。我是c++方向的,可能大部分书都是和c++相关的。

1. c、c++相关

C语言问题一般都是在笔试题中出现,面试题中问的比较少。首先是下面这三本经典的C语言书:

《C和指针》

《C专家编程》

《C缺陷与陷阱》

这里还要极力推荐的是:

《C语言深度剖析》

这本书是国内人写的,重点讲解了C语言里的一些晦涩的问题。

上面这几本书应该基本上就可以熟练掌握C语言的各种问题了,笔试题基本都能从容应对。

下面首先推荐三本C++相关的书:

《深度探索C++对象模型》

《Effective C++》

《STL源码剖析》

我觉得这三本是C++方向找工作必备的,这几本看熟了(我觉得至少认真看个3、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. 软件开发、设计相关

首先是设计模式,我觉得设计模式是很重要的,对以后工作也很有好处。当然面试中考察的不是特别深,一般就是问一下你熟悉的模式是哪一个,然后稍微问一下,估计Singleton是问的最多的。我还是极力推荐大家熟练掌握设计模式。下面这两本书配合一起看,效果相当好

《Head First设计模式》

《设计模式—可复用面向对象软件的基础》

然后是

《代码大全》

这个就不多说了,也是必备的。

我再极力推荐两本重构相关的书

《重构—改善既有代码的设计》

《重构与模式》

这两本可能对面试没有直接的帮助,但是应该会有潜移默化的影响吧,对以后工作肯定是相当有好处的。

6. 搜索引擎

这个不是必备的了,但是我为了丰富一下简历,也看了几本书,主要两本吧

《搜索引擎—信息检索实践》

《这就是搜索引擎—核心技术讲解》

这两本配合着看,就可以把搜索引擎原理、相关技术了解得差不多了,我简历上写了这个,面试中也经常被问到,应该是可以加分的。

7. 数据库

数据库也是重要的内容之一,尤其是数据库底层实现相关的一些东西,索引啊等等。

首先是大家最熟悉的

《数据库系统概念》

还有一本很好的,就是讲解数据库底层内容的

《数据库系统实现》

8. 其他

这里主要是推荐一本《垃圾收集》,这个算是比较底层的东西了,但是这个绝对的会给面试加分,我也很受益于这一点,同时可以稍微研究一下JVM的垃圾收集机制,可以参考《深入理解Java虚拟机》以及一些相关文章。

还有《CDN技术详解》,我觉得也不错,可以很好的了解一些大型网站使用的一些技术等等,面试中也常常会问到一些大型的网站系统设计问题,负载均衡等等。

二、推荐网站

1.LeetCode

http://leetcode.com/

这个网站里有很多经典面试题的讲解,当然最主要的是它的OJ系统,里面有100多道题目,和ACM OJ不同的是,这里面的题目都是来自于面试题,所有更有针对性,建议至少刷3遍,我刷了差不多5,6遍,多刷几遍不丢人。

2.POJ

http://poj.org/

这是北大的OJ,leetcode满足不了你,就可以来这刷了,如果还满足不了就找国外的OJ吧,USACO、URAL等。

3. NOCOW

http://www.nocow.cn/

这里也有不少acm相关的资料,推荐看一下USACO和URAL的题解。

4. Careercup

http://www.careercup.com/

国外著名的帮助找工作的网站,里面有很多Google,MS,FB,Amazon等等名企的面试题,有精力就一道一道做吧。

5.CSDN

http://www.csdn.net/

有不少人的博客还是不错的,总结很多笔试面试相关的东西,比如v_JULY_v。也常关注一下热门博客。

三、其他

在这里推荐一下陈利人的微博(http://weibo.com/lirenchen),该微博里有很多不错的资料。建议认真读一读google云计算的三篇论文,毕竟云计算仍然是热点。好好研究几个开源项目的源码,如levelDB。做几个有水平的项目。找个好公司实习一下,著名互联网公司的实习经历也挺重要的。


总结

以上基本上是我为找工作准备的东西,当然我也没把我所列的每一个方面都做的那么充分,但是只要准备个差不多,我觉得国内的公司BAT之类的还是不在话下的,希望来年准备找工作的同学早点准备,到时候拿到理想的offer。


转载:CSDN


你可能感兴趣的:(面试)