Java面试题汇总及答案2020最新
通过Java面试前需要做足各方面的准备工作,肯定都会浏览大量的面试题,小偏整理了Java 面试题汇总及答案2020最新,谢谢您的认真阅读。
Java 面试题汇总及答案2020最新
Java基础
面向对象的特征:继承、封装和多态
int 和 Integer 有什么区别;
Integer的值缓存范围
说说反射的用途及实现
Http 请求的 GET 和 POST 方式的区别
MVC设计思想
什么是Java序列化和反序列化;
如何实现Java序列化;
重载和重写的区别
进程和线程
线程和进程的概念
并行和并发的概念
创建线程的方式及实现
进程间通信的方式
说说 CountDownLatch、CyclicBarrier 原理和区别
说说 Semaphore 原理
说说 Exchanger 原理
ThreadLocal 原理分析;
ThreadLocal为什么会出现OOM,出现的深层次原理
讲讲线程池的实现原理
线程池的几种实现方式
线程的生命周期;状态是如何转移的
锁机制
什么是线程安全?如何保证线程安全?
重入锁的概念;重入锁为什么可以防止死锁?
产生死锁的四个条件
如何检查死锁
volatile 实现原理
synchronized 实现原理(对象监视器)
synchronized 与 lock 的区别
AQS 同步队列
CAS 无锁的概念;乐观锁和悲观锁
常见的原子操作类
什么是 ABA 问题;出现 ABA 问题 JDK 是如何解决的
乐观锁的业务场景及实现方式
Java 8 并发包下常见的并发类
偏向锁、轻量级锁、重量级锁、自旋锁的概念
数据库
DDL、DML、DCL 分别指什么
explain 命令
脏读、幻读、不可重复读
事务的隔离级别
数据库的几大范式
说说分库与分表设计
分库与分表带来的分布式困境与对应之策
说说 SQL 优化之道
InnoDB 与 MyISAM 区别、优缺点、使用场景
B+树索引、全文索引、哈希索引,的区别
什么是自适应哈希索引(AHI)
为什么要用 B+tree 作为 MySql 索引的数据结构
聚集索引与非聚集索引的区别
limit 20000 加载很慢怎么解决
常见的几种分布式 ID 的设计方案
JVM
JVM 运行时内存区域划分
常见的 GC 回收算法及其含义
常见的 JVM 性能监控和故障处理工具类
JVM 性能调优
类加载器、双亲委派模型
类加载的过程
强引用、软引用、弱引用、虚引用
Java 内存模型 JMM
离职原因——处处是陷阱
离职原因是一个很重要的问题,因为它考验的不但是你的工作能力和性格,更考验你的情商和智商。
不讨巧的离职原因包括:工作业绩差,沟通能力差,老板傻逼,看同事不顺眼,和公司有纠纷……
所以,尽量挑一些主观上无法避免的原因,比如:公司的产品质量出了问题,公司面临破产,部门被合并,亲人有重大变故,公司的氛围和你想要的相去甚远(顺便夸夸新东家)。
最重要的一点是,强调现在是你最想要稳定的时期。换句话说,就是前面那些都是浮云!
0