JAVA面试之八—常见面试题

JVM

1、JVM内存模型;
2、讲一下GC的过程?
3、怎么判断对象是否是垃圾?
4、讲一下你常用的垃圾回收器;
5、G1垃圾回收器和CMS有什么区别?有什么优点?
6、你们用的什么垃圾回收器?调整过哪些参数?
7、CMS垃圾回收器原理,什么时候触发垃圾回收?
8、JMM java内存模型了解嘛?
9、年轻代垃圾回收的步骤?
10、什么情况下年轻代对象会上升到老年代?

多线程

1、你们的线程池的参数都是什么?为什么这么设计?
2、线程池的工作原理和7个参数;
3、synchronized在JDK1.6中升级了哪些内容?
4、synchronized和ReentrantLock 的区别?
5、你常用的线程池有哪些?

数据库

1、B+树的实现原理了解吗?
2、索引失效的场景有哪些?
3、B+树和其他的,如B树的区别是什么?什么要用B+树?
4、SQL优化,你做了哪些优化?
5、B+树数据量计算,比如3层B+树最多能存储多少数据?
6、MySQL的事务隔离级别,RR级别下幻读的问题解决了吗?

redis

1、你们用redis的作用?
2、redis的持久化策略有哪些,以及他们的区别?
3、redis的淘汰机制?
4、redis主从策略,主挂了,从如何切换?
5、单线程的redis为什么这么快?

源码

1、HashMap原理,以及1.8和之前的区别
2、CurrentHashMap的底层原理,以及1.8和之前的区别
3、CurrentHashMap插入流程?
4、AOP原理?用到代理模式,代理模型原理?
5、spring中bean的生命周期;

Spring Cloud

1、eureka原理,多个注册中心如何同步数据的?
2、feign的原理;
3、接口超时,后端代码如何处理?
4、raft、paxos等一致性协议的原理;
5、了解哪些熔断的算法?限流的算法?

分布式

1、分布式锁有哪些实现方式?
2、分布式事务了解嘛
3、分布式ID的方案?如何实现一秒100万ID的生成?

猜你喜欢

转载自blog.csdn.net/Prepared/article/details/108899838