互联网行业竞争越来越严峻,面试也是越来越难,一直以来我都想整理一套完美的面试宝典,奈何难抽出时间,这套 1000+道的 Java 面试手册我整理了整整 1 个月,上传到 Git 上目前 star 数达到了 30K+
这套互联网 Java 工程师面试题包括了:MyBatis、ZK、Dubbo、EL、Redis、MySQL、并发编程、Java 面试、Spring、微服务、Linux、Springboot、SpringCloud、MQ、Kafka 面试专题(共 485 页,32W 字)
阿里 P8 熬了一个月肝出这份 32W 字的 Java 面试手册,下面将这份笔记的内容以截图的形式展示给大家!
Java 面试题目录
Java 并发编程篇
- 并发编程三要素?
- 实现可见性的方法有哪些?
- 多线程的价值?
- 创建线程的有哪些方式?
- 创建线程的三种方式的对比?
- 线程的状态流转图
- Jave 线程具有五中基本状态
- 什么是线程池?有哪几种创建方式?
- 四种线程池的创建
- 线程池的优点?
- 常用的并发 I 具类有哪些?
- Cycli cB arr i er 和 CountDownLatch 的区别
- synchr oni zed 的作用?
- volatile 关键字的作用
- 什么是 CAS
- CAS 的问题
- 什么是 Future?
- 什么是 AQS
- A0S 支持两种同步方式:
- Re adYri teLock 是什么
- FutuwreTask 是什么
- synchr oni ze d 和 Reentr antLoc 的区别
- 什么是乐观锁和悲观锁
- 线程 B 怎么知道线程 A 修改了变里
- syn.chr oni zed、volatile、CAS 比较
- sleep 方法和 wai t 方法有什么区别?
- ThreadLoca1 是什么?有什么用?
- 为什么 wai t 0 方法和 noti fy 0/noti fyAll(
- 法要在同步块中被调用
- 多线程同步有哪几种方法?
- 线程的调度策略
- Concurr entHashMap 的并发度是什么
- Linux 环境下如何查找哪个线程使用 CPU 最
- Java 死锁以及如何避免?
- 死锁的原因
- 怎么唤醒一个阻塞的线程
- 不可变对象对多线程有什么帮助
- 什么是多线程的上下文切换
- 如果你提交任务时, 线程池队列已满,这会发生什么
- Java 中用到的线程调度算法是什么
- 什么是线程调度器(Thread Sche duler)和间分片(Time Slicing)?
- 什么是自旋锁
- Java Concurr ency API 中的 Lock 接口(Locker face)是什么
- 单例模式的线程安全性
- Semaphore 有什么作用
- Executors 类是什么?
- 线程类的构造方法、静态块是被哪个线程用的
- 同步方法和同步块,哪个是更好的选择?
- Java 线程数过多会造成什么异常?