2020 年最全 Java 面试汇总整理(含答案)
日渐复杂的系统,错综复杂的性能调优,都对 Java 工程师的技术广度和技术深度提出了更高的要求。
JVM 三大性能调优参数,JVM 几个重要的参数
JVM 调优
JVM 内存管理,JVM 的常见的垃圾收集器,G1垃圾收集器。GC 调优,Minor GC ,Full GC 触发条件
Java 内存模型
Java 垃圾回收机制
描述 JVM 中一次 Full gc 过程
Java 中都有哪些引用类型?
JVM 中类加载机制,类加载过程,什么是双亲委派模型?,类加载器有哪些
如何判断是否有内存泄露?定位 Full GC 发生的原因,有哪些方式?
![](https://static001.geekbang.org/infoq/2a/2aca5ae35733df7c190790ea29447c91.png)
Spring Cloud 面试题
================
Spring Cloud 早已成为 Java 工程师的面试门槛
什么是 Spring Cloud?
使用 Spring Cloud 有什么优势?
服务注册和发现是什么意思?Spring Cloud 如何实现?
负载平衡的意义什么?
什么是 Hystrix?它如何实现容错?
什么是 Hystrix 断路器?我们需要它吗?
什么是 Netflix Feign?它的优点是什么?
什么是 Spring Cloud Bus?我们需要它吗?
![](https://static001.geekbang.org/infoq/38/384076c3e113fb243a4f7642f2a1b02c.png)
Redis 面试题
========
随着应用研发技术的不断成熟,Redis 缓存技术已经成为后台研发同学必备的能力之一。在很多公司面试的过程中,都必不可少的考察 Redis 知识点的掌握。
使用 Redis 有哪些好处?
Redis 是单进程单线程的?
Redis 的持久化机制是什么?各自的优缺点?
Redis 常见异常问题和解决方案(雪崩,穿透...)
redis 过期键的删除策略?
为什么 redis 需要把所有数据放到内存中?
Redis 集群的主从复制模型是怎样的?
Redis key 的过期时间和永久有效分别怎么设置?
MySQL 面试题
=========
如今互联网行业用的最多就是 MySQL,然而对于高级 Web 面试者,尤其对于寻找 30k 下工作的求职者,很多 MySQL 相关知识点基本都会涉及,如果面试中,你的相关知识答的模糊和不切要点,基本大多少好公司的面试官,基本也不会对你有兴趣,毕竟稍微量大的项目,最终都会让你去深入数据库,而且最终的大多瓶颈首先也会出现在数据库。
MySQL 相关存储引擎。
MySQL 索引实现原理。
MySQL 数据库说。
MySQL 的 SQL 调优。
MySQL 分表分库全局 ID。
MyBatis 面试题
==== 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 =======
1、什么是 Mybatis?
2、Mybaits 的优点:
3、MyBatis 框架的缺点:
4、MyBatis 框架适用场合:
5、MyBatis 与 Hibernate 有哪些不同?
6、#{}和 ${}的区别是什么?
7、当实体类中的属性名和表中的字段名不一样 ,怎么办 ?
8、 模糊查询 like 语句该怎么写?
ZooKeeper 面试题
=============
ZooKeeper 是一个开源的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现。分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、配置维护,名字服务、分布式同步、分布式锁和分布式队列等功能。
zookeeper 负载均衡和 nginx 负载均衡区别
Zookeeper Watcher 机制--数据变更通知
客户端注册 Watcher 实现
zookeeper 是如何保证事务的顺序一致性的?
Zookeeper 对节点的 watch 监听通知是永久的吗?为什么不是永久的?
zk 节点宕机如何处理?
Dubbo 面试题
=========
Spring Eureka 从开源转变为闭源,Consul 正在崛起,而 Dubbo 又开始重新更新。目前市场上仍有不少公司使用 dubbo 我们也需要继续学习。
评论