小七整理了 最近几年最新、最全的 Java 面试题,题目涉及 Java 基础、集合、多线程、IO、分布式、Spring全家桶、MyBatis、Dubbo、缓存、消息队列、Linux…等等。
题库共 700+ 道,带全部答案,非常齐全!
1、说说常见的集合有哪些?2、哪些集合类可对元素的随机访问?3、Comparable 和 Comparator 接口的区别?4、Collection 和 Collections 的区别?5、Enumeration 和 Iterator 接口的区别?6、集合使用泛型有什么优点?7、List、Set、Map 之间的区别是什么?8、为什么 Map 接口不继承 Collection 接口?9、常用的线程安全的 Map 有哪些?10、HashMap 与 Hashtable 的区别?11、HashMap 和 TreeMap 怎么选?12、HashMap 的数据结构是什么?13、HashMap 在 JDK 8 中有哪些改变?14、HashMap 的 put 方法逻辑?15、HashMap 的 get 方法逻辑?16、HashMap 是线程安全的吗?17、HashMap 是怎么解决 hash 冲突的?18、HashMap 是怎么扩容的?19、HashMap 如何实现同步?20、HashMap 中的负载因子是什么?21、Hashtable 为什么不叫 HashTable?22、ConcurrentHashMap 的数据结构?23、ArrayList 是线程安全的么?24、常用的线程安全的 List 集合有哪些?25、循环删除 List 集合可能会发生什么异常?26、ArrayList 和 LinkedList 的区别?27、ArrayList 和 Vector 的区别?28、什么是 CopyOnWriteArrayList?29、什么是 fail-safe?30、什么是 fail-fast?31、fail-fast 与 fail-safe 有什么区别?32、HashSet 的底层实现原理是什么?33、怎么确保一个集合不能被修改?
1、什么是 IO?2、常用的 IO 类有哪些?3、你怎么理解 IO、BIO、NIO、AIO?4、什么是比特(Bit)、字节(Byte)、字符(Char)?5、Java 有哪几种类型的流?6、字节流和字符流的区别?7、Java 序列化是什么?8、怎么序列化一个对象?9、Java 有哪两种序列化方式?10、怎么控制类中的某些变量不被序列化?11、静态变量能不能被序列化?12、OSI 的七层模型都有哪些?13、tcp 和 udp 协议的区别?14、tcp 为什么要三次握手,两次不行吗?
1、Spring 框架是什么?2、Spring 常用的注解有哪些?3、Spring 框架的好处有哪些?4、Spring 由哪些主要模块组成?5、Spring IOC 容器是什么?6、Spring IOC 的好处有哪些?7、BeanFactory 和 ApplicationContext 的区别?8、Spring 依赖注入是什么意思?9、Spring 依赖注入有哪几种方式?10、Spring bean 支持哪几种作用域?11、Spring bean 生命周期是怎样的?12、Spring bean 为什么默认为单例?13、Spring bean 是线程安全的吗?14、Spring 这几个注解的区别?15、Spring @Autowired 注解有什么用?16、Spring @Required 注解有什么用?17、Spring @Qualifier 注解有什么用?18、Spring 怎么注入 Java 集合类型?19、Spring 装配是指什么?20、Spring 自动装配有哪些方式?21、Spring 自动装配有什么局限性?22、Spring AOP 是什么?23、Spring AOP 有什么作用?24、Spring AOP 有哪些实现方式?25、Spring AOP 和 AspectJ AOP 的区别?26、Spring 支持哪些事务管理类型?27、Spring 框架用到了哪些设计模式?28、Spring MVC 框架有什么用?29、Spring MVC DispatcherServlet 的工作流程?30、Spring MVC 常用的注解有哪些?31、Spring MVC @RequestMapping 有啥用?
1、Spring Cloud 是什么?2、Spring Cloud 和 Spring Boot 的关系?3、Spring Cloud 有哪些重要的组件?4、Spring Cloud 和 Dubbo 的区别?5、Spring Cloud 版本号怎么理解?6、Spring Cloud Eureka 保护机制是什么?7、Spring Cloud 注册中心有哪些实现方案?8、Spring Cloud 配置中心有哪些实现方案?9、Spring Cloud 如何保证微服务调用安全性?10、Spring Cloud 中的 Ribbon 是什么?11、Spring Cloud 中的 Feign 是什么?12、Spring Cloud Feign 和 ribbon 的区别?13、Spring Cloud Gateway VS Zuul 怎么选?14、Spring Cloud for Alibaba 是什么?
1、Dubbo 是什么框架?2、为什么要用 Dubbo?3、Dubbo 里面有哪几种节点角色?4、Dubbo 停止维护了吗?5、Dubbo 必须依赖的包有哪些?6、Dubbo 支持哪些注册中心?推荐哪种?7、Dubbo 内置了哪几种服务容器?8、Dubbo 需要 Web 容器吗?9、Dubbo 的服务注册和发现流程?10、Dubbo 服务暴露的过程?11、Dubbo 有哪几种配置方式?12、Dubbo 核心的配置有哪些?13、Provider 可以配置 Consumer 哪些属性?14、Dubbo 启动时依赖的服务不可用会怎样?15、Dubbo 都支持什么协议,推荐用哪种?16、Dubbo 支持什么通信框架?默认哪种?17、Dubbo 支持的序列化框架有哪些?18、Dubbo 有哪些集群容错方案,默认哪种?19、Dubbo 有哪些负载均衡策略,默认哪种?20、有多个同名服务时,如果连接指定的服务?21、Dubbo 支持服务多协议吗?22、Dubbo 服务上线怎么兼容旧版本?23、Dubbo 一个服务接口有多种实现怎么区分?24、Dubbo 可以对结果进行缓存吗?25、Dubbo 服务之间的调用是阻塞的吗?26、Dubbo 支持分布式事务吗?27、Dubbo telnet 命令能做什么?28、Dubbo 支持服务降级吗?29、Dubbo 如何优雅停机?30、Dubbo 服务提供者失效自动下线是什么原理?31、Dubbo 服务调用链过长如何解决?32、Duboo 服务读写容错策略怎么做?33、Dubbo 的管理控制台能做什么?34、Dubbo 能集成 Spring Boot 吗?35、Dubbo 使用过程中都遇到了些什么问题?36、Dubbo 的源码你有读过吗?37、Dubbo 和 Spring Cloud 哪个好?38、Dubbo 你们的推荐用法有哪些?39、你怎么理解 Dubbo SPI?40、Dubbo 之外,你还了解别的 RPC 框架吗?41、Dubbox 是什么?和 Dubbo 有啥区别?
1、主键、外键有什么区别?2、怎么理解三范式和反范式?3、范式和反范式的优缺点?4、什么是事务?5、事务有哪几个特性?6、什么是脏读、幻读、不可重复读?7、MySQL 有哪些事务隔离级别?8、MySQL 默认的事务隔离级别是?9、什么是索引?10、索引有什么用?11、索引为什么能提高查询效率?12、索引的设计有哪些原则?13、什么情况下应不建或少建索引?14、MySQL 索引的种类有哪些?15、MySQL 索引最左匹配原则怎么理解?16、MySQL 数据库引擎怎么选择?17、MySQL 默认数据库引擎是什么?18、MySQL 引擎 MyISAM 和 InnoDB 的区别?19、char 和 varchar 的区别?20、MySQL 的 drop、delete、truncate区别?21、MySQL 怎么实现分页查询?22、MySQL 的高可用方案有哪些?23、如何分析一条 SQL 语句的执行计划和性能?24、MySQL 查询优化有哪些方法?25、MySQL 为什么不建议默认 null 值?26、MySQL 为什么尽量选择最小数据类型?27、怎么理解数据库中的乐观锁和悲观锁?28、MySQL 中的 MVCC 是指什么?29、MySQL InnoDB 的 MVCC 实现机制?30、MySQL 中的 MVCC 支持哪些事务隔离级别?31、MySQL 支持哪三种级别的锁?32、MySQL InnoDB 支持什么锁?33、MySQL 中的表锁有哪些?34、MySQL 中的行锁有哪些?35、MySQL 中的意向锁有什么用?36、MySQL 中的意向锁的分类?37、MySQL 中的意向锁是表锁还是行锁?38、MySQL 中的自增锁有什么用?39、MySQL 行锁是锁的是什么?40、MySQL 行锁实现的几种算法?41、MySQL 什么情况会发生死锁?42、MySQL 死锁怎么排查?43、MySQL 如何解决死锁?44、MySQL 如何避免死锁?45、MySQL 和 MariaDB 的区别?46、MySQL 日志 undo 和 redo 的区别?47、什么是表分区?48、表分区有什么好处?49、表分区与分表的区别?50、MySQL 支持的分区类型有哪些?51、MySQL 分区表有哪些限制因素?52、MySQL 为什么要分库分表?53、MySQL 分库分表怎么做?54、MySQL 分库分表工具有哪些?55、MySQL 分库分表会产生哪些问题?56、MySQL 批量插入,如何不插入重复数据?
1、Redis 是什么?2、Redis 有哪些应用场景?3、Redis 有什么优势?4、Redis 为什么这么快?5、Redis 主要消耗什么物理资源?6、Redis 到底是单线程还是多线程?7、Redis 和 Memcache 有什么区别?8、Redis 支持哪些数据类型?9、Redis 默认支持多少个数据库?怎么修改?10、Redis 最大 key 大小?11、Redis String 值最大存储多少?12、Redis 事务有什么用?13、Redis 事务相关的命令有哪几个?14、Redis 持久化有什么用?15、Redis 有哪几种持久化方式?16、Redis 持久化方式如何选择?17、Redis 内存满了怎么办?18、Redis 有哪些淘汰策略?19、Redis 如何提高多核 CPU 利用率?20、Redis 如何实现大量数据插入?21、Redis 的回收进程如何工作的?22、Redis 中的管道有什么用?23、Redis 有哪些高可用方案?24、Redis 集群如何选择数据库?25、Redis 哈希槽怎么理解?26、Redis 支持的 Java 客户端有哪些?27、Redisson 是什么框架?28、Redis 和 Redisson 有什么关系?29、Jedis 和 Redisson 对比有什么优缺点?30、Redis 为什么不提供 Windows 版本?31、Redis 如何设置密码访问?32、Redis 如何分析慢查询操作?33、什么是缓存预热和热备?34、什么是缓存雪崩,如何解决?35、什么是缓存穿透,如何解决?36、什么是缓存击穿,如何解决?37、什么是缓存抖动,如何解决?38、什么是缓存无底洞现象,如何解决?39、Redis 和数据库双写一致性问题如何解决?40、Redis 有哪些危险命令?如何防范?41、Redis 如何统计独立用户访问量?
1、ZooKeeper 是什么?2、ZooKeeper 有哪些特性?3、ZooKeeper 有哪些应用场景?4、Zookeeper 支持哪些数据节点类型?5、Zookeeper 常用的命令有哪些?6、Zookeeper 服务器有哪几种角色?7、Zookeeper 服务器有哪几种工作状态?8、Zookeeper 支持哪些 Java 客户端?9、ZooKeeper 有几种部署模式?10、Zookeeper 集群最少要几台机器,为什么?11、Zookeeper 集群支持动态添加机器吗?12、ZooKeeper 是如何实现分布式事务的?13、ZooKeeper 是如何实现分布式锁的?14、Zookeeper 中的文件系统怎么理解?15、Zookeeper 和 Chubby 的区别?16、怎么理解 ZAB 协议?17、ZAB 和 Paxos 算法的联系与区别?
1、什么是 SOA?2、SOA 和微服务架构有什么区别?3、什么是 CAP 原则?4、什么是 BASE 原则?5、什么是 RMI?6、什么是 RPC?7、RMI 和 RPC 有什么区别?8、分布式系统下会遇到哪些问题?9、分布式 Session 共享怎么实现?10、分布式唯一 ID 怎么实现?11、什么是分布式事务?12、分布式事务的解决方案有哪些?13、什么是微服务?14、微服务架构有什么优势?15、微服务架构有什么缺点?16、什么是服务治理?17、什么是服务降级?18、服务降级的方案有哪些?19、什么是服务雪崩?20、什么是服务熔断?
1、MyBatis 是什么框架?2、MyBatis 和 ORM 的区别?3、MyBatis 为什么是半自动 ORM 映射?4、MyBatis 框架的应用场景?5、MyBatis 有哪些优点?6、MyBatis 有哪些缺点?7、MyBatis 和 Hibernate 的区别?8、MyBatis 和 JPA 的区别?9、MyBatis 有哪几种 SQL 编写形式?10、MyBatis 支持哪些传参数的方法?11、MyBatis 的 $ 和 # 传参的区别?12、MyBatis 可以映射到枚举类吗?13、MyBatis 怎么封装动态 SQL?14、Mybatis trim 标签有什么用?15、MyBatis 怎么实现分页?16、MyBatis 流式查询有什么用?17、MyBatis 模糊查询 like 语句该怎么写?18、MyBatis 配置文件中的 SQL id 是否能重复?19、MyBatis 如何防止 SQL 注入?20、MyBatis 如何获取自动生成的主键id?21、MyBatis 使用了哪些设计模式?22、MyBatis 中的缓存机制有啥用?23、MyBatis 一级缓存和二级缓存的区别?24、MyBatis-Plus 是什么框架?
1、消息队列有什么用?2、消息队列有哪些应用场景?3、消息队列有什么优缺点?4、消息队列怎么选型?5、有了多线程,为什么还要消息队列?6、消息队列和多线程应该怎么选择呢?7、使用消息队列会遇到哪些问题?8、消息队列如何处理消息重复消费问题?9、消息队列为什么会产生消息丢失?10、消息队列如何解决消息丢失问题?11、消息队列如何保证消息顺序消费?12、消息延迟推送有哪些应用场景?13、什么是拉模式和推模式?14、什么是消息持久化?15、消息持久化有什么缺点?16、什么是 JMS?17、什么是 RabbitMQ?18、RabbitMQ 有哪些优点?19、RabbitMQ 有哪些重要的组件?20、RabbitMQ 有哪些重要的角色?21、RabbitMQ 交换器类型有哪些?22、RabbitMQ 消息基于什么传输?23、RabbitMQ 怎么避免消息丢失?24、RabbitMQ 怎么保证消息的稳定性?25、RabbitMQ 支持事务消息吗?26、RabbitMQ 事务消息在什么情况下无效?27、RabbitMQ 接收到消息之后必须消费吗?28、RabbitMQ 如何确保每个消息能被消费?29、RabbitMQ 消息持久化的条件?30、RabbitMQ 中的死信队列是什么?31、RabbitMQ 队列中的消息是否有数量限制?32、RabbitMQ 怎么实现消息延迟推送?
1、Linux 是什么?2、Linux 和 Unix 的区别?3、Linux 系统有哪些优势?4、Linux 怎么查看内核版本?5、RedHat、CentOS、Ubuntu 有什么区别?6、Linux 和 Windows 正反斜杠的区别?7、Linux 环境变量配置有哪几种方式?8、Linux 安装软件有哪几种方式?9、Linux 普通用户怎么以管理员身份执行指令?10、Linux 的 root 和 home 目录有什么不同?11、Linux 系统 root 和普通用户的区别?12、Linux 怎么区分 root 和普通用户?13、Linux 怎么切换用户?14、Linux 中的 bash 是什么?15、Linux 中的 Shell 是什么?16、Linux 怎么显示目录下的文件?17、Linux 中 ll 和 ls 命令的区别?18、Linux 怎么创建文件?19、Linux 怎么创建目录?20、Linux 怎么切换目录?21、Linux 怎么切换到上 N 级目录?22、Linux 怎么切换到之前所在的目录?23、Linux 怎么切换到当前用户主目录?24、Linux 怎么查看当前目录所在路径?25、Linux 下的权限有哪几种?26、Linux 文件调用权限分为哪 3 级?27、Linux 怎么修改文件权限?28、Linux 怎么修改文件所有者和所属组?29、Linux 怎么查看磁盘的使用情况?30、Linux 怎么查看内存的使用情况?31、Linux 怎么查看资源消耗最多的进程?32、Linux 怎么看端口被哪个进程占用?33、Linux 怎么查找某个进程?34、Linux 怎么结束某个进程?35、Linux 怎么清屏?36、Linux 控制台怎么设置超时自动注销?37、Linux vim 和 vi 命令的区别?38、Linux vim 命令怎么使用?39、Linux 软链接和硬链接区别?40、Linux 怎么创建软、硬链接?41、Linux 中的零拷贝是指什么?42、Linux 下 select,poll,epoll 的区别?
2021 就开始整理了,花了几个月时间,花了不少精力啊,希望能帮助到大家。
说明:本文限于篇幅,故而只展示部分的学习内容,完整地学习文档小编已经帮你整理好了,需要的朋友添加小助理:CC1607v下期我们再见!