2021 最新分享 Java 面试题库万字精华 github 上标星 80
好好吃透消化,让你面试跳槽不再心慌!
注意:有需要这份“面试跳槽宝典:互联网大厂 Java 高级工程师核心面试 498 题解析”的(以及更多学习资料),可以免费分享给大家一起学习,点击[传送门](()即可获取资料领取方式!!!
Java 集合题及答案解析
=============
HashMap 的源码,实现原理,JDK8 中对 HashMap 做了怎样的优化。
HaspMap 扩容是怎样扩容的,为什么都是 2 的 N 次幂的大小。
HashMap,HashTable,ConcurrentHashMap 的区别。
极高并发下 HashTable 和 ConcurrentHashMap 哪个性能更好,为什么,如何实现的。
HashMap 在高并发下如果没有处理线程安全会有怎样的安全隐患,具体表现是什么。
java 中四种修饰符的限制范围。
Object 类中的方法。
接口和抽象类的区别,注意 JDK8 的接口可以有实现。
动态代理的两种方式,以及区别。
Java 序列化的方式。
传值和传引用的区别,Java 是怎么样的,有没有传值引用。
一个 ArrayList 在循环过程中删除,会不会出问题,为什么。《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】
@transactional 注解在什么情况下会失效,为什么。
Java 集合类框架的基本接口有哪些?
HashSet 和 TreeSet 有什么区别?
HashSet 的底层实现是什么?
LinkedHashMap 的实现原理?
为什么集合类没有实现 Cloneable 和 Serializable 接口?
数组 (Array) 和列表 (ArrayList) 有什么区别?什么时候应该使用 Array 而不是 ArrayList?
Java 集合类框架的最佳实践有哪些?
Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用 == 还是 equals()?它们有何区别?
Comparable 和 Comparator 接口是干什么的?列出它们的区别
Collection 和 Collections 的区别。
JVM 与调优 21 题及答案解析
================
JVM 的内存结构。
JVM 方法栈的工作过程,方法栈和本地方法栈有什么区别。
JVM 的栈中引用如何和堆中的对象产生关联。
可以了解一下逃逸分析技术。
GC 的常见算法
CMS 以及 G1 的垃圾回收过程,CMS 的各个阶段哪两个是 Stop the world 的,CMS 会不会产生碎片,G1 的优势。
双亲委派模型的过程以及优势。
常用的 JVM 调优参数。
对象什么时候进入老年代?
什么是内存溢出, 内存泄露? 他们的区别是什么?
引起类加载操作的行为有哪些?
介绍一下 JVM 提供的常用工具
Full GC 、 Major GC 、Minor GC 之间区别?
什么时候触发 Full GC ?
什么情况下会出现栈溢出
说一下强引用、软引用、弱引用、虚引用以及他们之间和 gc 的关系
Eden 和 Survivor 的比例分配是什么情况?为什么?
什么是分布式垃圾回收(DGC)?它是如何工作的?
串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?
在 Java 中,对象什么时候可以被垃圾回收?
并发编程 28 题及答案解析
==============
并发宝典:面试专题
面试专题分为四个部分,分别如下
Synchronized 相关问题
可重入锁 ReentrantLock 及其他显式锁相关问题
Java 线程池相关问题
Java 内存模型相关问题
1.1 Synchronized 相关问题(这里整理了八问)
==============================
问题一:Synchronized 用过吗?其原理是什么?
问题二:你刚才提到获取对象的锁 ,这个“ 锁 ”到底是什么?如何确定对象的锁?
问题 三:什么是可重入性 , 为什么说 Synchronized 是可重入锁?
问题四:JVM 对 Java 的原生锁做了哪些优化?
问题五:为什么说 Synchronized 是非公平锁?
问题六:什么是锁消除和锁粗化 ?
问题七:为什么说 Synchronized 是一个悲观锁?乐观锁的实现原理又是什么?什么是 CAS,它有 什么特性?
问题八:乐观锁一定就是好的吗?
1.2 可重入锁 ReentrantLock 及其他显式锁相关问题(八问)
=====================================
问题一: 跟 Synchronized 相 比 ,可重入锁 ReentrantLock 其实现原理有什么不同?
问题二:那么请谈谈 AQS 框架是怎么回事儿?
问题三:请尽可能详尽地对比下 Synchronized 和 ReentrantLock 的 异 同
问题四: ReentrantLock 是如何实现可重入性的?
问题五: 除了 ReetrantLock,你还接触过 JUC 中的哪些并发工具?
问题六: 请谈谈 ReadWriteLock 和 StampedLock。
问题七: 如何让 Java 的线程彼此同步?你了解过哪些同步器?请分别介绍下 。
问题八: CyclicBarrier 和 CountDownLatch 看起来很相似,请对比下呢?
1.3 Java 线程池相关问题(六问)
====================
问题一:Java 中的线程池是如何实现的?
问题二:创建线程池的几个核心构造参数?
问题三:线程池中的线程是怎么创建的?是一开始就随着线程池的启动创建好的吗?
问题四:既然提到可以通过配置不同参数创建出不同的线程池,那么 Java 中默认实现好的线程池又 有哪些呢?请比较它们的异同 。
问题六:如何在 Java 线程池中提交线程?
1.4 Java 内存模型相关问题(六问)
=====================
问题一:什么是 Java 的内存模型,Java 中各个线程是怎么彼此看到对方的变量的?
问题二:请谈谈 volatile 有什么特点,为什么它能保证变量对所有线程的可见性?
问题三:既然 volatile 能够保证线程间的变量可见性,是不是就意味着基于 volatile 变量的运算就是并 发安全的 ?
问题四:请对比下 volatile 对比 Synchronized 的异同
问题六:很多人都说要慎用 ThreadLocal,谈谈你的理解,使用 ThreadLocal 需要注意些什么?
Spring 百题面试解析
============
什么是 Spring 框架?Spring 框架有哪些主要模块?
使用 Spring 框架能带来哪些好处?
Spring 框架中有哪些不同类型的事件?
Spring 框架中都用到了哪些设计模式?
什么是控制反转(IOC)?
请解释下 Spring 框架中的 IoC ?
BeanFactory 和 和 ApplicationContext 有什么区别?
Spring 有几种配置方式?
如何用基于 XML 配置的方式配置 Spring ?
如何用基于 Java 配置的方式配置 Spring ?
怎样用注解的方式配置 Spring ?
请解释 Spring Bean 的生命周期?
Spring Bean 的作用域之间有什么区别?
什么是 Spring inner beans ?
Spring 框架中的单例 Beans 是线程安全的么?
请举例说明如何在 Spring 中注入一个 Java Collection ?
如何向 Spring Bean 中注入一个 Java.util.Properties ?
请解释 Spring Bean 的自动装配?
请解释自动装配模式的区别?
如何开启基于注解的自动装配
请举例解释 @Required 注解?
请举例解释 @Autowired 注解?
请举例说明 @Qualifier 注解?
构造方法注入和设值注入有什么区别?
FileSystemResource 和 和 ClassPathResource 有何区别?
BeanFactory 和 FactoryBean
Spring IOC 的理解,其初始化过程?
BeanFactory 和 ApplicationContext?
Spring Bean 的生命周期,如何被管理的?Spring Bean 的加载过程是怎样的?
如果要你实现 Spring AOP,请问怎么实现?
如果要你实现 Spring IOC,你会注意哪些问题?
Spring 是如何管理事务的,事务管理机制?
Spring 的不同事务传播行为有哪些,干什么用的?
Spring 中用到了那些设计模式?
Spring MVC 的工作原理?
Spring 循环注入的原理?
Spring 如何保证 Controller 并发的安全?
高频 35 问 SpringBoot(附解析)
====================
Spring Boot 是微服务中最好的 Java 框架,这里精选了三十五个高频的 Spring Boot 面试题,可以帮助更好的复习学习。
问题一 Spring Boot、Spring MVC 和 Spring 有什么区别?
问题二 什么是自动配置?
问题三 什么是 Spring Boot Stater ?
评论