java面试题总结

Java集合容器

1、HashMap的实现原理、HashMap在JDK1.7和1.8中有哪些不同

2、HashMap底层使用了红黑树、为什么不适用二叉平衡树?红黑树还有哪些你知道的应用场景

Spring相关

1.Spring的优缺点

2.Spring框架中都用到了哪些设计模式

3.什么是SpringIOC ,IOC有什么作用,实现机制是什么?

4.BeanFactory 和 FactoryBean有什么区别,BeanFactory和ApplicationContext有什么区别

5、@Autowired和@Resource之间的区别

6、什么是Spring AOP,JDK动态代理和CGLIB动态代理有什么区别

7、SpringBoot自动装配原理

8、怎么理解Spring、SpringMVC、SpringBoot、SpringCloud之间的关系

JVM相关

9、JVM的主要组成部分、运行时数据区的的部分

10、JVM如何判断对象是否可以被回收,常见的垃圾回收算法

11、JVM有哪些垃圾回收器

12、CMS和G1有什么区别

13、简述java内存分配与回收策略以及MinorGC和MajorGC

14、什么是双亲委派模型?为什么使用这种模型?能不能打破双亲委派,如何打破?

15、实际工作中有没有遇到过JVM相关的问题,如何处理的

MySql相关

16、Mysql的存储引擎知道哪些?MyISAM和InnoDB的区别

17、InnoDB底层索引的数据结构,为什么使用B+树,不适用B树或者二叉树

18、创建索引应该注意些什么?

19、索引是不是越多越好,使用索引查询一定能提高查询性能吗

20、什么是最左前缀原则?什么最左匹配原则

21、什么是索引下推?什么是回表

22、什么是脏读、幻读、不可重复读

23、关注过业务系统里面sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过

24、分库分表有没有了解过

25、Mysql如何保证数据不丢失

Redis相关

26、Redis为什么快

27、MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据?Redis的内存淘汰策略有哪些

28、如何实现分布式锁

29、为什么要用缓存?是不是所有系统都需要引入缓存?为什么使用Redis而不用其他的缓存如memcached?

30、什么是缓存穿透、缓存击穿、缓存雪崩,如何避免

31、如何保证缓存与数据库双写时的数据一致性

多线程相关

32、创建线程有哪些方式

33、Executor创建的线程池有哪些?有什么区别?为什么阿里规范中不推荐使用Executor创建线程池

34、自己创建过线程池吗?

35、synchronized关键字的作用,项目中有使用过吗?和Lock有什么区别

36、synchronized锁审计原理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值