[综合面试] 计算机面试书籍与求职网站推荐
一、推荐书籍
计算机的好书挺多的,我买了也有四五十本,也花了不少钱,但是这些投资都是值的,好好看一下这些书,让自己找工作时的薪水涨个几千是没问题的。当然,也有些书是电子版的。我是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
相关文章:

python在工厂中的运用_Python常见工厂函数用法示例
工厂函数:能够产生类实例的内建函数。工厂函数是指这些内建函数都是类对象, 当调用它们时,实际上是创建了一个类实例。Python中的工厂函数举例如下:1. int(),long(),float(),complex(),bool()>>> aint(9.9)>>> …

Java Random()函数生成指定范围的随机数
java中随机生成数字(指定范围) //随机获得0到(i-1)的一个数 int i ThreadLocalRandom.current().nextInt(i);

删除链表中的重复项
方法一:时间优先建立一个hash_set,key为链表中已经遍历的节点内容,开始时为空。从头开始遍历链表中的节点:- 如果节点内容已经在hash_set中存在,则删除此节点,继续向后遍历;- 如果节点内容不在h…

python提取文件名数字_在Python中从文件名提取扩展名
是否有从文件名中提取扩展名的功能?#1楼一种选择可能是与点分开:>>> filename "example.jpeg">>> filename.split(".")[-1]jpeg文件没有扩展名时没有错误:>>> "filename".split(&…

imagick API 中文说明
下面是 imagick API 中文说明 : imagick 类 imagick::adaptiveblurimage 向图像中添加 adaptive 模糊滤镜 imagick::adaptiveresizeimage 自适应调整图像数据依赖关系 imagick::adaptivesharpenimage自适应锐化图像 imagick::adaptivethresholdimage 基于范围的选择…

利用dom4j将实体类转换为对应的xml报文
利用dom4j生成xml报文 目标格式: <?xml version"1.0" encoding"GBK"?><Packet type"REQUEST" version"1.0"><Head><RequestType>C03</RequestType><UserCode>BOCIJS</UserCode…

JSP--JavaBean
JSP 最强有力的一个方面就是能够使用 JavaBean 组件。 按照 Sun 公司的定义, JavaBean是一个可重复使用的软件组件。实际上 JavaBean 是一种 Java 类,通过封装属性和方法成为具有某种功能或者处理某些业务的对象,简称 Bean。 一个基本的 JSP …

python 速度矢量_最近邻搜索4D空间python快速-矢量化
For each observation in X (there are 20) I want to get the k(3) nearest neighbors.How to make this fast to support up to 3 to 4 million rows?Is it possible to speed up the loop iterating over the elements? Maybe via numpy, numba or some kind of vectoriza…

使用ajax不刷新页面获取、操作数据
在使用jsp或html时,利用ajax达到不刷新页面就可以获取、操作数据。 首先上代码 (htmljs) 在此处需要引入jquery插件 <!-- 这是页面部分 html--> <body><div style"width:100%;height:30px; float:left"><in…

C/C++面试题分享
1、指针和引用的区别? 答:引用是在C中引入的。它们之间的区别有: (1) 非空区别:指针可以为空,而引用不能为空 (2) 可修改区别:如果指针不是常指针…

js增加属性_前端js基础2
JavaScriptECMAScript(ES):规定了js的一些基础的核心知识(变量、数据类型、语法规范、操作语句等) 3/56/7 说出ES5和ES6的区别? DOM:document object model 文档对象模型,里面提供了一些属性和方法,可以让我们操作页面中的元素 BO…

附加的操作系统服务
select :等待I/O实现threading:高层次的线程接口thread:多线程调度dummy_threading:提供threading模块的副本接口dummy——thread:提供thread模块的副本接口mutiprocessing:在全局调度锁下使用子进程mmap:内…

使用myeclipse的第一步
使用myeclipse的第一步 将以下代码copy放在一个包中运行,然后在控制台输入任意字符,回车,然后控制台打印一串密匙,这里你输入的就是账号,控制台返回的就是注册码,点击MyEclipse->Subscription *** 输入…

一道题弄明白二维数组的指针
#include<stdio.h> int main(int args,char ** argv) {int map[3][3]{{1,2,3},{4,5,6},{7,8,9}};int **pMap(int **)map;printf("%d\n",map);//数组的首地址printf("%d\n",*(map1));//数组第二行首地址printf("%d\n",*map1);//数组首行的第…

Linux网络编程--进程间通信(一)
进程间通信简介(摘自《Linux网络编程》p85) AT&T 在 UNIX System V 中引入了几种新的进程通讯方式,即消息队列( MessageQueues),信号量( semaphores)和共享内存( sha…

mysql 行号_PQ获取TABLE的单一值作为条件查询MySQL返回数据
下午,我正爽歪歪地喝着咖啡,看着Power BI每秒钟刷新一次,静静等待某个分公司完成本月绩效任务,自动调用Python在钉钉群中发送喜报:紧接着再次调用Python将Power BI云端报告中的各分公司最新完成率数据和柱状图截图发在…

UUID的使用及其原理
今天敲项目要用UUID,想起之前老师告诉UUID的使用,但没说具体的生成逻辑,于是我进行了百度 首先,UUID的使用: //生成随机的UUID String uuid UUID.randomUUID().toString().replaceAll("-", "")…

链表类型题目需要用到的头文件list.h
下面是后面链表相关题目中需要用到的链表结点的定义和相关操作函数,参见下面的list.h文件: 注意链表结点的定义采用cpp的定义方式,它会被cpp的文件调用。比如后面删除链表重复结点的文件del_repeated_list.cpp中的编译方式: g -…

led计数电路实验报告_「正点原子FPGA连载」第八章 按键控制LED灯实验
1)实验平台:正点原子开拓者FPGA开发板2)本实例源码下载:请移步正点原子官网第八章 按键控制LED灯实验按键是常用的一种控制器件。生活中我们可以见到各种形式的按键,由于其结构简单,成本低廉等特点,在家电、数码产品、…

svn官方备份hot-backup.py强烈推荐
Author:牛班图 Date:2016/05/18 Address:suzhou --- centos 6.7默认安装的python是2.6.6,大家可以先查看一下自己操作系统的python版本,python -v; hot-backup.py是基于python2写的,python3的语法有些地方不一样,所以在…

用js方法做提交表单的校验
基础知识: 原始提交如下: <form action"<%basePath %>puser/register" method"post"><input placeholder"Name" name"realname"> <input type"email" placeholder"Email…

tree类型题目需要用到的头文件tree.h
下面是树类型题目需要用到的头文件tree.h,请包含在cpp文件中编译,而不是放在c文件中编译,比如查找树中两个节点的最低公共父结点的题common_parent_in_tree.cpp,编译它的方法是: g -g common_parent_in_tree.cpp -o common_parent_in_tree 下面是tree.h的内容: #include <…

用easyui动态创建一个对话框
function randomString(len) { len len || 32; var $chars ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678; /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/ var maxPos $chars.length; var pwd ; for (i 0; i < len; i) { pwd $…

网站收录工具(php导航自动收录源码)_网站如何快速收录,网站不收录怎么办?...
经常有朋友说怎么快速收录,网站不收录怎么收录??其实,网站不包括一般的新网站数量,没有SEO基础,SEO了解合作伙伴经常会遇到问题,甚至很多人会告诉你,不包括网站引流,导致…

JS Uncaught SyntaxError:Unexpected identifier异常报错原因及其解决方法
最近在写ajax的时候,调用js方法,遇到了Uncaught SyntaxError:Unexpected identifier异常报错,开始搞不清原因,很苦恼。 以为是js方法参数个数和长度的问题,后来发现原来是这样~ 以下是 浏览器窗口的报错 以及 按钮处…

python 打印皮卡丘_Python到底是什么?学姐靠它拿了5个offer
你ZAO吗?最近陌陌发布了一款很有意思的产品——ZAO,这款AI换脸的产品刷爆朋友圈!这款产品火爆到什么程度呢?正在使用ZAO的用户会发现,想要生成一段新的AI换脸视频,已经不是等待几秒、排队第几位的问题&…
有一个1亿结点的树,已知两个结点, 求它们的最低公共祖先!
对该问题,分为如下几种情形讨论: 情形一: 假如该树为二叉树,并且是二叉搜索树, 依据二叉搜索树是排过序的, 我们只需要从树的根结点开始,逐级往下,和两个输入的结点进行比较. 如果当前结点的值比两个结点的值都大,那么最低的公共祖先一定在当前结点的左子树中,下一步遍历当前…

数据库SQL优化大总结之百万级数据库优化方案
1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t w…

js定时执行函数
方法一: //直接现定义函数 var time window.setInterval(function(){ $(’.lingdao_right’).click(); },5000); 方法二: //执行已经有的函数 var time window.setInterval(‘abc()’,5000); 清除js自动执行 clearInterval(time); //time就是定义时的名称,如上

BST(binary search tree)类型题目需要用到的头文件binary_tree.h
下面是二叉搜索树需要用到的头文件binary_tree.h #include <stdio.h>struct BinaryTreeNode{int value;BinaryTreeNode* pLeft;BinaryTreeNode* pRight; };BinaryTreeNode* CreateBinaryTreeNode(int value){BinaryTreeNode* pNode new BinaryTreeNode();pNode->valu…