Java面试题 JVM 篇 Redis篇 Spring篇
JVM 篇
- 什么情况下会发生栈内存溢出?
- JVM 的内存结构,Eden 和Survivor 比例?
- JVM 内存为什么要分成新生代、老年代和持久代。新生代中为什么要分Eden 和Survivor?
- JVM 中一次完整的GC 流程是什么样子的,对象如何晋升到老年代,说说你知道的几种主要的JVM 参数?
- 你知道哪几种垃圾收集器,各自的优缺点,重点讲下cms 和G1,包括原理,流程,优缺点?
- 垃圾回收算法的实现原理?
- 当出现了内存溢出,怎么排错?
- JVM 内存模型的相关知识了解多少,比如重排序,内存屏障,happen-before,主内存,工作内存等?
- 讲讲JAVA 的反射机制?
- 你们线上应用的JVM 参数有哪些?
- g1 和cms 区别,吞吐量优先和响应优先的垃圾收集器选择?
- 怎么打印线程栈信息?
- 请解释如下jvm 参数的含义?
- Java 中对象创建的几种方式?
- Java 中的对象一定在堆上分配内存吗?
- 运行时数据中哪些区域是线程共享的,哪些是独享的?
- Java 中数组是存储在堆上还是栈上?
- Java 对象创建的过程是怎么样的?
- 怎么获取堆和栈的dump 文件?
- Minor GC 和Full GC 的触发条件?
- 在Java 语言中,可以作为GC Roots 的对象有什么?
- 类加载过程是怎样的?
- Java 内存泄漏的场景?
- jdk1.8 的虚拟机中内存模型变化?
- 频繁GC 的原因是什么?
- 高并发时,JVM 如何调优?
- System.gc()和Runtime.gc()的区别是怎样的?
Redis篇
- Redis 的优势有哪些?
- Redis 的数据结构都有哪些?
- Redis 的使用要注意什么?
- Redis 的事务性是怎样的?
- 当前Redis cluster 集群有哪些方式,各自优缺点,场景?
- Memcache 的原理,哪些数据适合放在缓存中?
- Redis 相比memcached 有哪些优势?两者的主要区别?
- Redis 的并发竞争问题如何解决,了解Redis 事务的CAS 操作吗?
- Redis 适合于哪些场景?
- Redis 持久化的机制,AOF 和RDB 的区别?
- Redis 对象的内存回收是怎样的?
- 知道哪些Redis 的优化操作?
- Redis 的主从复制机制原理是怎样的?
- Redis 的线程模型是什么?
- Redis 中set 和zset 的区别?
- 分布式使用场景(存储session)是怎样的?
- 怎么保证缓存和数据库的一致性?
- Redis 为什么用skiplist 而不用平衡树?
- Redis 分布式锁的实现方式是怎样的?
- Redis 遇到的问题和缺点有哪些?
- Redis 各个数据类型的使用场景?
- Redis 数据淘汰策略是怎样的?
- 讲讲Redis 哈希槽的概念?
- Redis 的缓存雪崩是怎样的过程?
- Redis 的缓存穿透是怎么发生的?
- Redis 的SDS 相比char[]的优点有哪些?
Spring篇
- 讲讲Spring 的加载流程?
- Spring AOP 的实现原理?
- 讲讲Spring 事务的传播属性?
- Spring 如何管理事务的,怎么配置事务?
- 说说你对Spring 的理解,非单例注入的原理?它的生命周期?循环注入的原理,aop 的实现原理,说说aop 中的几个术语,它们是怎么相互工作的?
- Spring MVC 中DispatcherServlet 工作流程是怎样的?
- Spring MVC 用到的注解,作用是什么,原理?
- Spring boot 启动机制是怎样的?
- Spring 中用到的设计模式有哪些?
- 一个HTTP 请求就是一个线程吗?
- SpringMVC 和Structs2 的区别有哪些?
- Mybaits 框架的优缺点?
- Spring 中Bean 的生命周期?
- Spring 中事务失效的几种原因?
- 注解继承问题都有哪些?
- MyBatis 的分页是如何的?
#Java开发##Java##Java面试##java面试题##面试题#