书刊介绍
《Java程序员面试宝典(第4版)》内容简介
本书是《Java程序员面试宝典》的第4版,同时也是《程序员面试宝典》的姊妹书。
第4版在保留前三版数据结构、字符串处理、Java程序设计等主干内容的基础上,更新了部分程序员面试题目,内容主要取材于2013年至2015年多家大公司的面试题,以反映第3版图书出版后近两年来所发生的变化,目的是帮助求职者在面试过程中更好地处理一些新问题,应对新变化。
本书相对上一版的变化主要有以下三点。
1.智力测试这一章进行了分解,扩展增加一些数字类题目、图表类题目,并修正合并了一些内容,以更好地帮助求职者应对求职过程中出现的一些细节和麻烦。
2.针对程序设计这一部分,我们更新了部分例题。随着互联网相关面试题的频繁出现,我们新增并更新了如下知识点:构造函数、Java接口类型、Trie树、图的遍历、动态规划算法。采用循序渐进的办法,将重要概念加以复习,完善解题思路,而不是仅仅给出答案。
3.针对近两年面试过程中出现的新题型,本书补充了新的章节,如操作系统的线程管理问题、哈希表问题等。与第三版相比较,更加贴近市场的变化,更加与时俱进。
欧立奇:国际商业机器有限公司大中华区高级软件工程师,对程序员笔试、面试、智力测试有着多年深入广泛地研究。组织多起大型公司面试,评阅无数简历以及试卷。除本书外,还著有《JAVA程序员面试宝典》,《IT求职宝典》等。作品目录
前言
第1部分
求职过程
第1章:应聘求职
1.1、应聘渠道
1.2、应聘流程
第2章:简历书写
2.1、书写简历注意事项
1.简历不要太长
2.简历一定要真实客观
3.不要过分谦虚
4.简历要写上应聘的职位
5.在文字、排版、格式上不要出现错误
6.简历不必做得太花哨
7.简历言辞要简洁直白
8.不要写上对薪水的要求
9.不要写太多个人情况
10.不要用怪的字体
2.2、简历模板
第3章:求职五步曲
3.1、笔试
1.语言的偏向性
2.英语的重要性
3.智力测试
4.有的放矢准备简历
5.纸上写程序
3.2、电话面试
3.3、面试
3.4、签约
3.5、违约
第4章:职业生涯发展规划
4.1、缺乏工作经验的应届毕业生
4.2、更换工作的程序员们
4.3、快乐地工作
第2部分
Java程序设计
第5章:Java程序设计基本概念
5.1、JVM
5.2、i++
5.3、类型转换
5.4、程序结构
5.5、运算符
5.6、异常
1.什么是异常
2.异常关键字
3.Java异常和C++异常的区别
4.异常处理中常见的问题
5.RuntimeException异常
1.final
2.finally
3.finalize
1.final修饰符(关键字)
2.finally
3.finalize
5.7、反射
第6章:传递与引用
6.1、传值与传引用
6.2、静态变量与私有变量
6.3、输入/输出流
6.4、序列化
第7章:循环、条件、概率
7.1、典型递归问题
7.2、循环与条件
1.时间频度
2.时间复杂度
3.算法的时间复杂度
第8章:Java内存管理
8.1、垃圾收集
8.2、内存管理
1.全局集合
2.缓存
3.ClassLoader
8.3、clone
第9章:面向对象
9.1、面向对象的基本概念
9.2、类和对象
9.3、嵌套类
1.nested(嵌套)class(一般是C++的说法)
2.inner
class(一般是Java的说法)
9.4、集合类
9.5、构造函数和析构函数
9.6、复制构造函数和赋值函数
9.7、多态的概念
第10章:继承与接口
10.1、基础知识
10.2、super
10.3、this
10.4、不能继承的情况
10.5、抽象类与接口
第3部分
数据结构和设计模式
第11章:数据结构基础
11.1、堆栈
11.2、链表、哈希表
11.3、树、图
1.图的深度优先遍历的递归定义
2.深度优先搜索的过程
3.广度优先遍历的递归定义
4.广度优先搜索的过程
11.4、排序基础知识
1.排序的稳定性
2.排序方法的分类
3.待排文件的常用存储方式
4.排序算法的性能评价
1.对于键—值查找性能高
2.使用hash付出的代价
1.排序方法
2.排序算法
3.算法分析
第12章:字符串、数组、范型
12.1、字符串基础问题
12.2、StringBuffer
1.String的创建
2.String的比较
3.intern()方法
4.效率比较:String与StringBuffer
12.3、正则表达式
12.4、数字流和数组
12.5、字符串其他问题
12.6、范型与容器
第13章:设计模式
13.1、UML
13.2、常见设计模式
13.3、软件工程
第4部分
操作系统、数据库、网络
第14章:操作系统
14.1、基础知识
14.2、进程
14.3、线程与串行化
1.sleep()
2.wait()
1.单线程
2.单元线程
3.自由线程
1.串行化的概念和目的
2.串行化方法
3.串行化的注意事项
第15章:数据库和SQL语言
15.1、数据库理论问题
1.在数据库设计方面
2.在数据库I/O方面
3.在SQL语句方面
4.在Java方面
15.2、SQL语言常见问题
第16章:计算机网络及分布式系统
16.1、网络结构
16.2、TCP/IP
16.3、网络其他问题
1.网络分类
2.子网掩码
3.子网掩码和IP地址的关系
4.可用IP地址
第5部分
Java开源
第17章:J2EE技术
17.1、Spring轻量级架构
17.2、Hibernate
1.关于cfg.xml文件
2.关于hbm.xml文件
17.3、EJB
17.4、JDBC
1.DataSource接口是一个更好的连接数据源的方法
2.Connection
pooling(连接池)
3.分布式事务
4.结果集
17.5、JDO
第18章:Java中的Web设计
18.1、JSP
18.2、Servlet
18.3、JavaScript
18.4、XML
18.5、Applet
第19章:Struts结构设计
19.1、AWT
19.2、Struts体系结构
第20章:Java架构技术及相关中间件
20.1、WebLogic
1.web.xml
2.weblogic.xml
20.2、WebSphere
20.3、WebService
第21章:Java测试
21.1、白盒测试
21.2、性能测试
21.3、游戏
第6部分
综合面试题
第22章:英语面试
22.1、面试过程和技巧
22.2、关于工作(About
Job)
22.3、关于个人(About
Person)
22.4、关于未来(About
Future)
第23章:电话面试
23.1、电话面试之前的准备工作
23.2、电话面试交流常见问题
第24章:数字类题目分析
24.1、数字规律类题目
24.2、数字填充类题目
24.3、数字运算类题目
24.4、应用数学类题目
第25章:图表类题目分析
25.1、图形变换类题目
25.2、表格分析类题目
第26章:智力类题目分析
26.1、推理类题目
26.2、博弈论
26.3、概率