当前位置: 首页>后端>正文

中高级java开发面试题

1、java虚拟机内存模型,各个区域在什么情况下存储什么类的数据

2、new一个对象的过程,回收一个对象的过程

3、垃圾回收算法,各个算法优缺点及适用在内存模型的哪个区域

4、垃圾收集器CMS和G1,分别有哪几个过程,它们的优缺点

5、HashMap原理,put和get操作如何实现的,put/get操作时如何根据key计算在数组中的位置,各个jdk版本中有何区别,为何它非线程安全,为何使用单链表不用双链表,单双链表有什么区别优缺点,单双链表在jdk中还有哪些地方使用到,为何使用红黑树,红黑树是什么,红黑树和B+树有什么区别,红黑树需要比较大小才能插入,HashMap中是如何比较大小的。get操作时间复杂度是多少

6、concurrentHashmap原理,put和get操作如何实现,为何使用分段锁,分段锁还用在jdk哪些地方,如果使用其他锁如何实现(读写锁、共享锁等),和hashTable有什么区别

7、thread有哪些方法,如何实现多线程通讯,如何实现多进程通讯。wait,sleep,yield,join,notify、notifyAll等有什么区别

8、线程池有哪几种,threadPoolExecutor参数有哪些,各个参数如何作用,拒绝策略有哪几种,如何自定义拒绝策略,workQueue有哪几种,各个分别适用什么场景

9、锁有哪几种,锁的原理是什么

10、分布式锁有哪几种实现方式,写出至少两种

11、synchronized、volatile、atomic、lock有什么区别,实现原理是什么

12、java.util.concurrent包下有哪些类

13、如何加载一个class类,classLoader加载过程,每一步分别做了什么事,双亲委派是什么,有什么用途,如何自定义一个classLoader

14、红黑树,B+树,B树有什么区别及优缺点,分别用在什么场景下

15、静态代理、动态代理是如何实现的,jdk动态代理和cglib动态代理有什么区别,分别用在什么场景

16、BIO、NIO、AIO,分别如何使用,主要涉及哪几个类,分别用在什么场景

17、spring IOC如何实现的,@AutoWared原理是什么

18、spring AOP如何实现的,实现自定义AOP功能涉及到哪几个类

19、spring bean的生命周期,作用域有哪几种,各自适用什么场景

20、spring中用到了哪些设计模式,代码举例说明

21、jdk中用到了哪些设计模式,代码举例说明

22、http和https有什么区别

23、TCP三次握手和四次挥手过程

24、spring如何管理的事务,如何实现的

25、事务ACID,传播机制,隔离特性,幻读和不可重复读如何通过传播机制避免

26、分布式事务解决方案,各个优缺点及适用场景

27、mysql 索引类型,各个类型分别采用什么算法,存储引擎有哪几种,分别适用什么场景

28、mysql建立索引需要遵循什么规则,联合索引和单索引有什么区别和优缺点,联合索引a_b_c_d,对于mysql来说,一共建了几个索引

29、如何优化慢查询

30、如何根据explain的结果进行分析

31、spring如何创建applicationContext

32、排序算法,冒泡排序,快速排序,插入排序,选择排序,堆排序的思想、稳定性,至少写出三种

33、nginx中使用的算法,dubbo中使用到的算法,zookeeper中使用的算法,redis中使用的算法

34、二分查找法(代码实现),B树,B+树分别适用什么场景,时间复杂度分别是多少

35、如何解决hash冲突

36、定时任务框架有哪些?如何实现一个分布式定时任务框架,需要注意哪些。Elastic-job原理是什么

37、RPC框架有哪些,如何实现一个RPC框架

38、dubbo原理是什么

39、spring cloud和dubbo有什么区别和联系

40、springBoot如何实现零配置的

41、一主多从时读写分离如何实现

42、shareding-jdbc中间件原理是什么

43、rocketMQ、ribbtMQ等消息队列中间件有什么优缺点

44、linux的常规操作,文件查找,行数/字符统计,查看栈信息,线程信息

45、jvm调优


https://www.xamrdz.com/backend/3uv1931817.html

相关文章: