转眼2019年已经悄然过去了1/6,三月黄金求职期已经来临,想必很多程序员朋友的跳槽之心都在骚动。也许你正在为迟迟未发的年终奖而委曲求全,也许你正在为求职面试榨干脑细胞。小编也没什么能帮助到大家的,只能总结一些实用的面试题助大家一臂之力。
今天先为大家总结了一些Java开发岗常见的面试题,包含JVM、Spring、分布式、数据库相关内容,希望对大家有帮助。
JVM
- Java内存分配?
- Java堆的结构是什么样子的?
- 什么是堆中的永久代(Perm Gen space)?
- 说说各个区域的作用?
- Java中会存在内存泄漏吗,简述一下?
- Java类加载过程?
- 描述一下JVM加载Class文件的原理机制?
- 什么是类加载器?
- 类加载器有哪些?
- 什么是tomcat类加载机制?
- 类加载器双亲委派模型机制?
- 什么是GC? 为什么要有 GC?
- 简述一下Java垃圾回收机制?
- 如何判断一个对象是否存活?
- 垃圾回收的优点和原理,并考虑2种回收机制?
- 垃圾回收器的基本原理是什么?
- 垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
- 深拷贝和浅拷贝?
- System.gc() 和 Runtime.gc()会做些什么?
- 什么是分布式垃圾回收(DGC)?它是如何工作的?
- 串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?
- 在Java中,对象什么时候可以被垃圾回收?
- 简述Minor GC和Major GC?
- Java中垃圾收集的方法有哪些?
- 讲讲你理解的性能评价及测试指标?
- 常用的性能优化方式有哪些?
- 说说分布式缓存和一致性哈希?
- 同步与异步?阻塞与非阻塞?
- 什么是GC调优?
- 常见异步的手段有哪些?
Spring
- 为什么需要代理模式?
- 讲讲静态代理模式的优点及其瓶颈?
- 对Java 接口代理模式的实现原理的理解?
- 如何使用 Java 反射实现动态代理?
- Java 接口代理模式的指定增强?
- 谈谈对Cglib 类增强动态代理的实现?
- 怎么理解面向切面编程的切面?
- 讲解OOP与AOP的简单对比?
- 讲解JDK 动态代理和 CGLIB 代理原理以及区别?
- 讲解Spring 框架中基于 Schema 的 AOP 实现原理?
- 讲解Spring 框架中如何基于 AOP 实现的事务管理?
- 谈谈对控制反转的设计思想的理解?
- 怎么理解 Spring IOC 容器?
- Spring IOC 怎么管理 Bean 之间的依赖关系,怎么避免循环依赖?
- 对Spring IOC 容器的依赖注入的理解?
- 说说对Spring IOC 的单例模式和高级特性?
- BeanFactory 和 FactoryBean 有什么区别?
- BeanFactory 和 ApplicationContext 又有什么不同?
- Spring 在 Bean 创建过程中是如何解决循环依赖的?
- 谈谈Spring Bean 创建过程中的设计模式?
数据库
- MySQL 有哪些存储引擎啊?都有什么区别?
- Float、Decimal 存储金额的区别?
- Datetime、Timestamp 存储时间的区别?
- Char、Varchar、Varbinary 存储字符的区别?
- 对比一下B+树索引和 Hash索引?
- MySQL索引类型有?
- 如何管理 MySQL索引?
- 对Explain参数及重要参数的理解?
- 索引利弊是什么及索引分类?
- 聚簇索引和非聚簇索引的区别?
- B+tree 如何进行优化?索引遵循哪些原则?
- 索引与锁有什么关系?
- 还有什么其他的索引类型,各自索引有哪些优缺点?
- 谈谈对Innodb事务的理解?
- 说说数据库事务特点及潜在问题?
- 什么是MySQL隔离级别?
- 有多少种事务失效的场景,如何解决?
- 一致性非锁定读和一致性锁定读是什么?
- Innodb如何解决幻读?
- 讲讲Innodb行锁?
- 死锁及监控是什么?
- 自增长与锁 ,锁的算法,锁问题,锁升级是什么?
- 乐观锁的线程如何做失败补偿?
- 高并发场景(领红包)如何防止死锁,保证数据一致性?
- 谈谈MySQL的锁并发?
- 查询优化的基本思路是什么?
- 说说MySQL读写分离、分库分表?
- 表结构对性能有什么影响?
- 浅谈索引优化?
- 说说Sql优化的几点原则?
- MySQL表设计及规范?
- 说说MySQL几种存储引擎应用场景?
- MySQL常用优化方式有哪些?
- MySQL常用监控?
- MySQL瓶颈分析?
分布式
- 什么是CAP定理?
- 说说CAP理论和BASE理论?
- 什么是最终一致性?最终一致性实现方式?
- 什么是一致性Hash?
- 讲讲分布式事务?
- 如何实现分布式锁?
- 如何实现分布式 Session?
- 如何保证消息的一致性?
- 负载均衡的理解?
- 正向代理和反向代理?
- CDN实现原理?
- 怎么提升系统的QPS和吞吐?
- Dubbo的底层实现原理和机制?
- 描述一个服务从发布到被消费的详细过程?
- 分布式系统怎么做服务治理?
- 消息中间件如何解决消息丢失问题?
- Dubbo的服务请求失败怎么处理?
- 对分布式事务的理解?
- 如何实现负载均衡,有哪些算法可以实现?
- Zookeeper的用途,选举的原理是什么?
- 讲讲数据的垂直拆分水平拆分?
- zookeeper原理和适用场景?
- zookeeper watch机制?
- redis/zk节点宕机如何处理?
- 分布式集群下如何做到唯一序列号?
- 用过哪些MQ,怎么用的,和其他mq比较有什么优缺点,MQ的连接是线程安全的吗?
- MQ系统的数据如何保证不丢失?
- 列举出能想到的数据库分库分表策略?
更多推荐
2019Java开发岗必会面试题:JVM+Spring+分布式+数据库
发布评论