Java面试题复习总结(自用)

多线程

线程池:

  1. 为什么使用线程池?
  2. 说一下创建线程池时的核心参数和线程池执行原理?
  3. 线程池的拒绝策略有哪些?
  4. 常用的阻塞队列有哪些?
  5. ArrayBlockingQueue和LinkedBlockingQueue的区别?
  6. 阻塞队列的作用?
  7. 为什么不先创建救急线程而是先把任务添加到阻塞队列中?
  8. 具体说说常见的线程池种类?
  9. 如何确定核心线程数和最大线程数?

线程基础:

  1. 线程与进程的区别是什么?
  2. 谈一谈守护线程?
  3. 创建线程的方式有哪些?
  4. 实现Callable接口和Runnable接口都可以创建线程,二者的区别是什么?
  5. 线程的start()和run()方法的区别?
  6. 线程有哪些状态,这些状态之间是如何切换的?
  7. wait()、sleep()、yield()和join()方法之间的区别?
  8. notify()和notifyAll()方法的对比?
  9. 如何保证多个线程之间的执行顺序?
  10. 如何终止一个正在运行中的线程?
  11. ThreadLocal的实现原理?
  12. ThreadLocal是如何导致内存泄漏的?
  13. 如何防止ThreadLocal内存泄漏?

并发安全:

  1. 讲一下Java内存模型?
  2. 谈谈你对线程安全问题的理解?
  3. Java是如何保证多线程的执行安全?
  4. Synchronized关键字的底层原理?
  5. 锁机制是如何升级的?
  6. Synchronized和Lock的区别?
  7. 谈一谈你对volatile关键字的理解?
  8. Synchronized和volatile关键字的区别?
  9. 谈一谈AQS?
  10. 了解CAS吗?
  11. 讲一下乐观锁和悲观锁?
  12. ReentranLock的实现原理是什么?
  13. ReentranLock和Synchronized的区别?
  14. 聊一下ConcurrentHashMap?

Spring

  1. 什么是Spring框架?
  2. Spring框架的优势是什么?
  3. Spring框架中用到了哪些设计模式?
  4. 解释一下Bean的生命周期?
  5. BeanFactory和ApplicationContext的区别?
  6. 解释一下Spring支持的几种Bean的作用域?
  7. Spring框架中的单例Bean是线程安全的吗?
  8. 什么是Bean的自动装配?有哪些方式?
  9. 解释Spring中的循环引用?
  10. 构造函数中的循环依赖怎么解决?
  11. 谈谈你对IOC的理解?
  12. 如何实现一个IOC容器?
  13. 什么是AOP?
  14. Spring中事务是如何实现的?
  15. 声明式事务的原理是什么?
  16. Spring中事务的隔离级别?
  17. Spring中事务的传播机制?
  18. Spring中事务失效的场景有哪些?解决方法?
  19. @Autowired和@Resource的区别?

SpringMVC

  1. SpringMVC的执行流程了解吗?

SpringBoot

  1. Spring、SpringMVC、SpringBoot有什么区别?
  2. 如何理解SpringBoot中的starter?
  3. 讲一讲SpringBoot中的自动配置?

MyBatis

  1. MyBatis是什么?
  2. MyBatis框架的优缺点?
  3. ORM是什么?
  4. #{}和${}的区别是什么?
  5. MyBatis执行流程/工作原理是什么?
  6. MyBatis是否支持延迟加载?
  7. 延迟加载的底层原理是什么?
  8. MyBatis的一级、二级缓存使用过吗?
  9. 二级缓存什么时候会清理缓存中的数据?

MySQL

事务:

  1. 介绍一下事务的四大特性?
  2. 并发事务会带来哪些问题?
  3. 如何解决并发事务带来的问题/事务的隔离级别有哪些?
  4. 可重复读和幻读的区别?
  5. 事务的ACID靠什么保证?
  6. 事务的三大日志是什么?作用?
  7. bin log 和 redo log的区别?
  8. undo log 和 redo log的区别?
  9. 什么是MVCC?实现原理是什么?

优化:

其它:

  1. MySQL主从同步是如何实现的?

-----------------持续更新----------------------------------------

#java##面试题#
全部评论
我可以用吗
2 回复 分享
发布于 2023-12-07 18:28 四川
哥,总结一下答案
点赞 回复 分享
发布于 2024-01-14 20:36 广东
m
点赞 回复 分享
发布于 2024-01-07 18:12 湖南
师傅别念了
点赞 回复 分享
发布于 2023-12-28 16:18 陕西

相关推荐

2025-12-14 14:24
已编辑
门头沟学院 Java
八股很久没复习,回答的一坨大学期间最得意的项目是什么?为什么要做这个电商商城项目?这个电商商城项目里你是自己独立完成还是合作完成的?最近一年你印象最深刻的开发卡点是什么?Java 中线程控制的方法有哪些呢?AOP(面向切面编程)是什么?过滤器和拦截器有什么区别?注解的原理可以简单讲一下 @Autowired 注解吗?它和 @Resource 的区别是什么?你熟练 MySQL 数据库索引,索引的分类可以讲一下吗?怎么创建一个 MySQL 索引?哪些情况会导致 MySQL 索引失效?事务的四个特性和四个隔离级别分别是什么?使用 Redis 做缓存会存在什么问题?秒杀系统中如何保证缓存和数据库的一致性?项目中用到的登录相关技术(Cookie、Session、SSO、JWT 等),可以解释并说明它们之间的区别吗?可以简单介绍几种常用的数据结构及其特点吗?对于难以复现、几率极低的 bug,你会按哪些步骤处理?你更喜欢接手已有项目还是做全新的项目?为什么?如果设计一个新项目,应该优先考虑什么?新加入团队,你觉得自己该怎么做才能更快融入团队、进入工作状态?最近有关注什么技术热点吗?你使用过或了解过哪些数据库?可以简述 MySQL、Redis、PG 的区别吗?手撕:全排列空闲时间一般会做什么?------------------------------已过,hr面没接
查看25道真题和解析
点赞 评论 收藏
分享
评论
37
199
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务