40 Star 504 Fork 160

磊哥 / interview

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 15.18 KB
一键复制 编辑 原始数据 按行查看 历史
磊哥 提交于 2023-07-28 10:03 . update README.md.

此仓库以停止更新,最新版的 Java 面试题,请访问我的网站:www.javacn.site

Java 最新常见面试题,请访问我的网站:www.javacn.site

Java 最新常见面试题,请访问我的网站:www.javacn.site

Java 最新常见面试题,请访问我的网站:www.javacn.site

Java 最新常见面试题,请访问我的网站:www.javacn.site


97:限流算法有哪些?

96:熔断和降级有什么区别?

95:JVM 如何确定死亡对象?

94:说一下 Java 虚拟机的内存布局?

93:什么是双亲委派模型?

92:类是如何加载的?

91:MD5 加密安全吗?

90:过滤器和拦截器有什么区别?

89:事务隔离级别和传播机制有什么区别?

88:加入事务和嵌套事务有什么区别?

87:说一下 Spring 事务传播机制?

86:SpringBoot 事务不回滚?怎么解决?

85:为什么事务@Transactional会失效?

84:Spring 有几种事务隔离级别?

83:什么情况会导致@Transactional事务失效?

82:SpringBoot 是如何操作事务的?

81:什么是跨域问题?如何解决?

80:说一下 Spring 中 Bean 的生命周期?

79:Bean 作用域是啥?它有几种类型?

78:@Autowired 和 @Resource 有什么区别?

77:Spring 依赖注入有几种?各有什么优缺点?

76:${} 和 #{} 有什么区别?

75:SpringBoot 有几种读取配置文件的方法?

74:properties和yml有什么区别?

73:IoC 和 DI 有什么区别?

72:输入URL之后会执行什么流程?

71:GET 和 POST 有什么区别?

70:什么是粘包和半包?怎么解决?

69:TCP 可靠吗?为什么?

68:为什么 TCP 需要 3 次握手?

67:说一下 TCP/IP 协议?以及每层的作用?

66:请求转发和请求重定向有什么区别?

65:HTTPS有什么优点?说一下它的执行流程?

64:了解 HTTP 协议吗?

63:MySQL 中如何去重?

62:group by 有哪些注意事项?

61:说一下MySQL事务隔离级别?

60:什么情况会导致 MySQL 索引失效?

59:一个表中可以有多个自增列吗?

58:truncate、delete和drop的6大区别!

57:聚簇索引=主键索引吗?

56:聚簇索引和非聚簇索引有什么区别?

55:delete、drop、truncate有什么区别?

54:MySQL 常用引擎有哪些?

53:常见的 HTTP 状态码有哪些?

52:什么是三范式?它有什么用?

51:为什么单例一定要加 volatile?

50:单例模式有几种写法?

49:说一下 JUC 中的 Exchange 交换器?

48:死锁的排查工具有哪些?

47:死锁产生的原因有哪些?

46:公平锁和非公平锁有什么区别?

45:为什么要用读写锁?它有什么优点?

44:volatile 有什么用?

43:lock、tryLock、lockInterruptibly有什么区别?

42:synchronized和ReentrantLock有什么区别?

41:notify是随机唤醒吗?

40:线程休眠的方法有几种?

39:synchronized底层是如何实现的?

38:synchronized有几种用法?

37:线程安全问题的解决方案有哪些?

36:线程安全问题是怎么产生的?

35:如何判断线程池已经执行完所有任务了?

34:如何使用线程池执行定时任务?

33:线程池有哪些状态?状态是如何转换的?

32:为什么创建线程池一定要用ThreadPoolExecutor?

31:什么是守护线程?它和用户线程有什么区别?

30:线程池是如何执行的?拒绝策略有哪些?

29:说一下线程池7个参数的含义?

28:线程池有几种创建方式?推荐使用哪种?

27:为什么需要线程池?什么是池化技术?

26:如何正确停止线程?

25:sleep方法和wait方法有什么区别?

24:为什么wait和notify必须放在synchronized中?

23:说一下线程生命周期,以及转换过程?

22:为什么start方法不能重复调用?而run方法却可以?

21:有哪些创建线程的方法?推荐使用哪种?

20:进程和线程有什么区别?

19:为什么ConcurrentHashMap不允许插入null值?

18:为什么ConcurrentHashMap是线程安全的?

17:HashMap除了死循环之外,还有什么问题?

16:为什么HashMap会产生死循环?

15:说一下HashMap底层实现?及元素添加流程?

14:方法重写和方法重载有什么区别?

13.方法优先调用可选参数还是固定参数?

12.为什么不同返回类型不算方法重载?

11.方法重写时需要注意哪些问题?

10.this和super有什么区别?this能调用到父类吗?

9.接口和抽象类有什么区别?

8.HashSet如何保证元素不重复?

7.如何实现 List 集合去重?

6.元素排序Comparable和Comparator有什么区别?

5.HashMap有几种遍历方法?推荐使用哪种?

4.重写 equals 时为什么一定要重写 hashCode?

3.final、finally、finalize 有什么区别?

2.说一下final关键字和final的4种用法?

1.int和Integer有什么区别?为什么要有包装类?


208 面试题解析

19 个模块,分别是: Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM ,如下图所示:

目录

Java 基础部分面试题

容器部分面试题

多线程部分面试题

反射部分面试题

对象拷贝部分面试题

Java Web 模块部分面试题

异常部分面试题网络

设计模式部分面试题

Spring/Spring MVC部分面试题

Spring Boot/Spring Cloud部分面试题

Hibernate部分面试题

Mybatis部分面试题

RabbitMQ部分面试题

Kafka部分面试题

Zookeeper部分面试题

MySql部分面试题

Redis部分面试题

JVM部分面试题

介绍

此开源项目以“Java 面试题”为切入点,为程序员提供整个职业生涯的服务。这个项目前期的重点是收集和整理一些高质量的面试题,为程序员的职业发展奉献一点力量,更希望聚集更多和我们志趣相投的朋友,来为更多的程序员提供服务。

为什么要做这个开源项目?

学的好,不如面的好。

掌握技能和经验固然重要,但面试更重要,因为它才是涨薪的关键。拥有高超的技术 + 超强的面试能力 = 符合自己的高薪工作,而本项目要解决的就是后者。让我们一起卷起来,为了理想中的好工作。

投稿

众人拾材火焰高,我们渴望更多的人参与进来,为了帮助更多的人找到理想的工作而奉献自己的一份力量。

投稿方式:只需要在本项目下提交 ISsues 进行投稿,为了鼓励大家的踊跃参加,您提交的投稿一经采纳,我们会奖励给投稿人 50 元的购书基金,直接发放现金到您的微信。

Java
1
https://gitee.com/mydb/interview.git
git@gitee.com:mydb/interview.git
mydb
interview
interview
master

搜索帮助