# Java 面经手册 • 拿大厂Offer
> **作者:** 小傅哥,Java Developer,[:pencil2: 虫洞 · 科技栈,作者](https://bugstack.cn),[:trophy: CSDN 博客专家](https://bugstack.blog.csdn.net),[:memo: 关于我](https://bugstack.cn/about.html)
> 一线互联网java 工程师、架构师,开发过交易&营销、写过运营&活动、设计过中间件也倒腾过中继器、IO板卡。不只是写Java语言,也搞过C#、PHP,是一个技术活跃的折腾者。
<br/>
<div align="center">
<a href="https://bugstack.cn" style="text-decoration:none"><img src="https://bugstack.cn/assets/images/icon.svg" width="128px"></a>
</div>
<br/>
<div align="center">
<a href="https://github.com/fuzhengwei/CodeGuide"><img src="https://badgen.net/github/stars/fuzhengwei/CodeGuide?icon=github&color=4ab8a1"></a>
<a href="https://github.com/fuzhengwei/CodeGuide"><img src="https://badgen.net/github/forks/fuzhengwei/CodeGuide?icon=github&color=4ab8a1"></a>
<a href="https://bugstack.cn" target="_blank"><img src="https://bugstack.cn/assets/images/onlinebook.svg"></a>
<a href="https://bugstack.cn/assets/images/qrcode.png?x-oss-process=style/may"><img src="https://itstack.org/_media/wxbugstack.svg"></a>
</div>
<br/>
## :bookmark: 介绍
**Hello, world of java !** 你好,java的世界!
欢迎来到这里,很高兴你能拿到这本书。如果你能坚持看完书中每章节的内容,那么不仅可以在你的面试求职上有所帮助,也更能让你对 Java 核心技术有更加深入的学习。
[《Java 面经手册》](#) 是一本以面试题为入口讲解 Java 核心技术的 PDF 书籍,书中内容也极力的向你证实`代码是对数学逻辑的具体实现`。*为什么这么说?* 当你仔细阅读书籍时,会发现这里有很多数学知识,包括:扰动函数、负载因子、拉链寻址、开放寻址、斐波那契(Fibonacci)散列法还有黄金分割点的使用等等。
编码只是在确定了研发设计后的具体实现,而设计的部分包括:数据结构、算法逻辑以及设计模式等,而这部分数据结构和算法逻辑在 Java 的核心 API 中体现的淋漓尽致。那么,也就解释了为什么这些内容成为了热点面试题,虽然可能我们都会觉得这样的面试像是造火箭。
那么,🚕汽车75马力就够奔跑了,那你怎么还想要2.0涡轮+9AT呢?大桥两边的护栏你每次走的时候都会去摸吗?那怎么没有护栏的大桥你不敢上呢?
很多时候,你额外的能力才是自身价值的体现,不要以为你的能力就只是做个业务开发每天CRUD。其实有时候并不是产品让你写CRUD,而是因为你的能力只能产品功能设计成CRUD。
就像数据结构、算法逻辑、源码技能,它都是可以为你的业务开发赋能的,也是写出更好、更易扩展程序的根基,所以学好这份知识非常有必要。
**所以**,我非常建议你深度阅读此书,如果书中的知识点对你只是抛砖引玉,那么就更好了,你可以继续深入索取,吸纳更多的、更深的内容到自己的头脑中。
### 1. 适合人群
1. 具备一定编程基础,工作1-3年的研发人员
2. 想阅读 Java 核心源码,但总感觉看不懂的
3. 看了太多理论,但没有实践验证的
4. 求职面试,总被面试题搞的死去活来的
### 2. 我能学到什么
1. 怎么写简历、怎么面大厂、怎么补充不足
2. Java 核心API中用到的数据结构和算法逻辑
3. 必会的数学知识,扰动函数、负载因子、拉链寻址、开放寻址、斐波那契(Fibonacci)散列法等
4. 学到学习的能力,跟着作者的分析和学习方式,增强自己的学习能力
### 3. 阅读建议
本书虽然是源码分析、理论实践,但并不会让读者感觉枯燥。作者:小傅哥,在每一篇的知识里都写下了实践验证的结果,对于每一章节都有对应的源码实现。小伙伴在阅读的时候可以对照源码实践,并且在源码中还包括了一些必备的素材(10万单词表验证扰动函数)、工具、图标等,来让大家切身的体会到知识乐趣。也让所有**认真阅读的读者**,看后都能`让懂了就是真的懂`!
## :bookmark_tabs: 目录&源码
#### 第 1 章 谈谈面试
- 第 1 节:面试官都问我啥
- 第 2 节:认知自己的技术栈盲区
- 第 3 节:简历该怎么写
- 第 4 节:大厂都爱聊啥
#### 第 2 章 数据结构和算法
- 第 1 节:HashCode为什么使用31作为乘数 - [`interview-01`](https://github.com/fuzhengwei/interview/tree/master/interview-01)
- 第 2 节:HashMap 源码分析(上) - [`interview-02`](https://github.com/fuzhengwei/interview/tree/master/interview-02)
- 第 3 节:HashMap 源码分析(下) - [`interview-03`](https://github.com/fuzhengwei/interview/tree/master/interview-03)
- 第 4 节:2-3树与红黑树学习(上) - [`interview-04`](https://github.com/fuzhengwei/interview/tree/master/interview-04)
- 第 5 节:2-3树与红黑树学习(下) - [`interview-05`](https://github.com/fuzhengwei/interview/tree/master/interview-05)
- 第 6 节:ArrayList 详细分析 - [`interview-07`](https://github.com/fuzhengwei/interview/tree/master/interview-07)
- 第 7 节:LinkedList、ArrayList,插入分析 - [`interview-08`](https://github.com/fuzhengwei/interview/tree/master/interview-08)
- 第 8 节:双端队列、延迟队列、阻塞队列 - [`interview-09`](https://github.com/fuzhengwei/interview/tree/master/interview-09)
- 第 9 节:java.util.Collections、排序、二分、洗牌、旋转算法 - [`interview-10`](https://github.com/fuzhengwei/interview/tree/master/interview-10)
- 第 10 节:StringBuilder 与 String 对比 - [`interview-11`](https://github.com/fuzhengwei/interview/tree/master/interview-10)
- 第 11 节:ThreadLocal 源码分析 - [`interview-12`](https://github.com/fuzhengwei/interview/tree/master/interview-12)
#### 第 3 章 码农会锁
- 第 1 节:volatile - [`interview-14`](https://github.com/fuzhengwei/interview/tree/master/interview-14)
- 第 2 节:synchronized - [`interview-15`](https://github.com/fuzhengwei/interview/tree/master/interview-15)
- 第 3 节:ReentrantLock 和 公平锁 - [`interview-16`](https://github.com/fuzhengwei/interview/tree/master/interview-16)
- 第 4 节:AQS原理分析和实践运用 - [`interview-17`](https://github.com/fuzhengwei/interview/tree/master/interview-17)
- 第 5 节:AQS 共享锁,Semaphore、CountDownLatch - [`interview-18`](https://github.com/fuzhengwei/interview/tree/master/interview-18)
#### 第 4 章 多线程
- 第 1 节:Thread.start() 启动原理 - [`interview-19`](https://github.com/fuzhengwei/interview/tree/master/interview-19)
- 第 2 节:Thread,状态转换、方法使用、原理分析 - [`interview-20`](https://github.com/fuzhengwei/interview/tree/master/interview-20)
- 第 3 节:ThreadPoolExecutor - [`interview-21`](https://github.com/fuzhengwei/interview/tree/master/interview-21)
- 第 4 节:线程池讲解以及JVMTI监控 - [`interview-22`](https://github.com/fuzhengwei/interview/tree/master/interview-22)
#### 第 5 章 JVM 虚拟机
- 第 1 节:JDK、JRE、JVM - [`interview-23`](https://github.com/fuzhengwei/interview/tree/master/interview-23)
- 第 2 节:JVM 类加载实践 - [`interview-24`](https://github.com/fuzhengwei/interview/tree/master/interview-24)
- 第 3 节:JVM 内存模型 - [`interview-25`](https://github.com/fuzhengwei/interview/tree/master/interview-22)
- 第 4 节:JVM 故障处理工具 - [`interview-25`](https://github.com/fuzhengwei/interview/tree/master/interview-25)
- 第 5 节:GC 垃圾回收 - [`interview-26`](https://github.com/fuzhengwei/interview/tree/master/interview-26)
## PDF📚下载
**版权说明**:`11.5万字`、`417页`,`作者:小傅哥`的原创书籍[《Java 面经手册》](https://download.csdn.net/download/Yao__Shun_