松江新城网站建设,有没有教做生态手工的网站,建设广告联盟网站,网站如何做快排前言我相信大多 Java 开发的程序员或多或少经历过 BAT 一些大厂的面试#xff0c;也清楚一线互联网大厂 Java 面试是有一定难度的#xff0c;小编经历过多次面试#xff0c;有满意的也有备受打击的。因此呢小编想把自己这么多次面试经历以及近期的面试真题来个汇总分析…前言我相信大多 Java 开发的程序员或多或少经历过 BAT 一些大厂的面试也清楚一线互联网大厂 Java 面试是有一定难度的小编经历过多次面试有满意的也有备受打击的。因此呢小编想把自己这么多次面试经历以及近期的面试真题来个汇总分析阐述下如何去准备去回答面试官的提问可以和面试官有个愉快的交谈。小编分享的这份 BAT 必考 Java 真题合集包含了性能调优、并发编程、框架源码、分布式框架、微服务架构、项目实战、互联网工具等七个大专题技术点真题模块分享都是小编在各个大厂面试总结出来的面试真题已经有很多粉丝靠这份真题合集拿下金九银十的面试今天小编在这里总结分享给到大家有需要的可以在文末获取小编这篇分享篇幅可能有点长观看的朋友可以先了解一下目录一、性能调优JVM 面试题MySQL 面试题Tomcat 调优面试题Nginx 调优面试题二、并发编程并发同步乐观锁、悲观锁、重入锁、公平锁、非公平锁及锁的粒度详解Executor 线程池面试题三、框架源码Spring ioc 面试题Spring aop 面试题Spring mvc 面试题Spring 面试题Mybatis 面试题四、分布式框架分布式中间件RabbitMQ 面试题RocketMQ 面试题Kafka 面试题Redis 面试题Zookeeper 面试题Dubbo 面试题Netty 面试题五、微服务架构Spring Boot 面试题Spring cloud 面试题六、项目实战七、互联网工具Linux 面试题一、性能调优JVM 面试题1、什么情况下会发生栈内存溢出。java 中的栈一般存储的是栈帧。所以栈内存溢出就是栈帧的数量太多超过了系统预先设定的值所以导致内存溢出。可能的原因就是方法循环调用栈帧充满了整个栈后溢出。2、说一下 JVM 的主要组成部分及其作用类加载器加载类文件到内存。Class loader 只管加载只要符合文件结构就加载至于能否运行它不负责那是有 Exectution Engine 负责的。执行引擎也叫解释器负责解释命令交由操作系统执行。本地库接口本地接口的作用是融合不同的语言为 java 所用运行时数据区3、详解 JVM 内存模型java 定义内存模型的目的是:为了屏蔽各种硬件和操作系统的内存访问之间的差异。 java 内存模型规定了所有的变量都存储在主内存中,每条线程拥有自己的工作内存,工作内存保存了主内存中变量的副本。4、说一下 JVM 运行时数据区5、JVM 内存为什么要分成新生代老年代持久代。新生代中为什么要分为 Eden 和 Survivor。6、深拷贝和浅拷贝7、为什么要分为 Eden 和 Survivor?为什么要设置两个 Survivor 区8、说一下堆栈的区别9、你知道哪几种垃圾收集器各自的优缺点重点讲下 cms 和 G1包括原理流程优缺点。10、队列和栈是什么有什么区别11、HotSpot 虚拟机对象探秘12、JVM 内存模型的相关知识了解多少比如重排序内存屏障happen-before主内存工作内存。13、对象的创建14、简单说说你了解的类加载器可以打破双亲委派么怎么打破。15、为对象分配内存16、什么是类加载器17、处理并发安全问题18、为什么需要双亲委派模型19、对象的访问定位20、说说你知道的几种主要的 JVM 参数21、句柄访问22、怎么打破双亲委派模型23、直接指针24、内存溢出异常25、怎么打出线程栈信息26、Java 会存在内存泄漏吗请简单描述27、垃圾收集器28、垃圾收集器与内存分配策略29、简述 Java 垃圾回收机制30、GC 是什么为什么要 GC31、虚拟机性能监控与故障处理工具32、垃圾回收的优点和原理。并考虑 2 种回收机制33、垃圾回收器的基本原理是什么34、Java 中都有哪些引用类型35、怎么判断对象是否可以被回收36、垃圾回收器可以马上回收内存吗37、有什么办法主动通知虚拟机进行垃圾回收38、在 Java 中对象什么时候可以被垃圾回收39、JVM 中的永久代中会发生垃圾回收吗40、说一下 JVM 有哪些垃圾回收算法41、标记-清除算法标记无用对象然后进行清除回收。42、复制算法43、标记-整理算法44、分代收集算法45、虚拟机类加载机制46、说一下 JVM 有哪些垃圾回收器47、详细介绍一下 CMS 垃圾回收器48、虚拟机字节码执行引擎49、新生代垃圾回收器和老年代垃圾回收器都有哪些有什么区别50、类加载及执行子系统的案例与实战60、简述分代垃圾回收器是怎么工作的61、线程安全与锁优化62、内存分配策略63、大对象直接进入老年代64、对象优先在 Eden 区分配65、虚拟机类加载机制66、描述一下 JVM 加载 Class 文件的原理机制67、长期存活对象将进入老年代68、简述 java 内存分配与回收策率以及 Minor GC 和 Major GC69、简述 java 类加载机制?70、说一下类装载的执行过程71、什么是类加载器类加载器有哪些?72、JVM 调优73、什么是双亲委派模型74、常用的 JVM 调优的参数都有哪些75、说一下 JVM 调优的工具MySQL 面试题1、为什么要使用数据库2、MySQL 中有哪几种锁3、数据保存在文件的优缺点4、MySQL 中有哪些不同的表格5、什么是 SQL6、简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别7、数据库三大范式是什么8、MySQL 中 InnoDB 支持的四种事务隔离级别名称以及逐9、MySQL 的 binlog 有有几种录入格式分别有什么区别10、CHAR 和 VARCHAR 的区别11、列对比运算符是什么12、什么是索引13、主键和候选键有什么区别14、myisamchk 是用来做什么的15、InnoDB 引擎的 4 大特性16、你怎么看到为表格定义的所有索引17、如果一个表有一列定义为 TIMESTAMP将发生什么18、MySQL_fetch_array 和 MySQL_fetch_object 的区别是什么19、索引有哪些优缺点20、BLOB 和 TEXT 有什么区别21、可以使用多少列创建索引22、索引使用场景重点23、MyISAM 表格将在哪里存储并且还提供其存储格式24、MySQL 如何优化 DISTINCT25、如何显示前 50 行26、MySQL 里记录货币用什么字段类型好27、索引有哪几种类型28、什么是非标准字符串类型29、索引的数据结构b 树hash30、MySQL 支持事务吗31、NOW和 CURRENT_DATE有什么区别32、MySQL 有关权限的表都有哪几个33、列的字符串类型可以是什么34、什么是通用 SQL 函数35、MySQL 数据库作发布系统的存储一天五万条以上的增量 预计运维三年,怎么优化36、锁的优化策略37、索引的底层实现原理和优化38、存储时期39、什么情况下设置了索引但无法使用40、实践中如何优化 MySQL41、完整性约束包括哪些42、优化数据库的方法43、简单描述 MySQL 中索引主键唯一索引联合索引44、数据库中的事务是什么?45、Myql 中的事务回滚机制概述46、SQL 注入漏洞产生的原因如何防止47、为表中得字段选择合适得数据类型48、索引算法有哪些49、SQL 语言包括哪几部分每部分都有哪些操作关键字50、对于关系型数据库而言索引是相当重要的概念请回答51、解释 MySQL 外连接、内连接与自连接的区别Tomcat 调优面试题1、Tomcat 是什么2、Tomcat 的缺省端口是多少怎么修改3、Tomcat 工作模式4、tomcat 有哪几种 Connector 运行模式(优化)5、Tomcat 顶层架构6、Tomcat 有几种部署方式7、Connector 和 Container 的微妙关系8、Tomcat 一个请求的完整过程9、tomcat 容器是如何创建 servlet 类实例用到了什么原理10、Container 架构分析11、tomcat 如何优化12、Container 如何处理请求的13、打印类的加载情况及对象的回收情况14、垃圾回收策略调优15、共享 session 处理16、关于 Tomcat 的 session 数目17、添加 JMS 远程监控18、专业点的分析工具有19、监视 Tomcat 的内存使用情况20、内存调优21、Tomcat 历史22、Tomcat 总体架构23、创建 Server24、你怎样给 tomcat 去调优?25、如何加大 tomcat 连接数26、tomcat 中如何禁止列目录下的文件Nginx 调优面试题1、为什么 Nginx 性能这么高2、什么是 Nginx3、什么是正向代理和反向代理4、为什么要用 Nginx5、Nginx 怎么处理请求的6、Nginx 应用场景7、使用“反向代理服务器的优点是什么?8、Nginx 的优缺点9、Nginx 目录结构有哪些10、Nginx 静态资源?11、如何用 Nginx 解决前端跨域问题12、基于虚拟主机配置域名13、location 的作用是什么14、Nginx 配置文件 nginx.conf 有哪些属性模块?15、Nginx 虚拟主机怎么配置?16、基于端口的虚拟主机17、限流怎么做的18、location 的语法能说出来吗19、Location 正则案例20、限制并发连接数21、为什么要做动静分离22、漏桶流算法和令牌桶算法知道23、突发限制访问频率突发流量24、Nginx 负载均衡的算法怎么实现的?策略有哪些?25、怎么限制浏览器访问26、Rewrite 全局变量是什么27、正常限制访问频率正常流量28、Nginx 怎么判断别 IP 不可访问29、Nginx 怎么做的动静分离二、并发编程多线程面试题1、什么是多线程多线程的优劣2、并发编程的优缺点3、在 Java 程序中怎么保证多线程的运行安全4、并行和并发有什么区别5、并发编程有什么缺点6、并发编程三要素是什么7、进程与线程的区别?8、什么是线程和进程?9、为什么要使用并发编程10、什么是上下文切换?11、如何在 Windows 和 Linux 上查找哪个线程 cpu 利用率最高12、线程和进程区别13、什么是线程死锁14、如何避免线程死锁15、守护线程和用户线程有什么区别呢16、创建线程有哪几种方式17、说一下 runnable 和 callable 有什么区别18、线程的 run()和 start()有什么区别19、形成死锁的四个必要条件是什么20、说说线程的生命周期及五种基本状态21、为什么我们调用 start() 方法时会执行 run() 方法为什么我们不能直接调用 run() 方法22、什么是 Callable 和 Future?23、什么是线程调度器(Thread Scheduler)和时间分片(Time Slicing )24、sleep() 和 wait() 有什么区别25、你是如何调用 wait() 方法的使用 if 块还是循环为什么26、请说出与线程同步以及线程调度相关的方法。27、什么是 FutureTask28、为什么线程通信的方法 wait(), notify()和 notifyAll()被定义在 Object 类里29、Java 中用到的线程调度算法是什么30、线程的调度策略31、Thread 类中的 yield 方法有什么作用32、为什么 Thread 类的 sleep()和 yield ()方法是静态的33、Java 中 interrupted 和 isInterrupted 方法的区别34、如何停止一个正在运行的线程35、什么是阻塞式方法36、为什么 wait(), notify()和 notifyAll()必须在同步方法或者同步块中被调用37、线程的 sleep()方法和 yield()方法有什么区别38、如何在两个线程间共享数据39、Java 如何实现多线程之间的通讯和协作40、Java 中你怎样唤醒一个阻塞的线程41、在监视器(Monitor)内部是如何做线程同步的程序应该做哪种级别的同步42、notify() 和 notifyAll() 有什么区别43、同步方法和同步块哪个是更好的选择44、在 Java 程序中怎么保证多线程的运行安全45、如果你提交任务时线程池队列已满这时会发生什么46、什么叫线程安全servlet 是线程安全吗?47、线程类的构造方法、静态块是被哪个线程调用的48、什么是线程同步和线程互斥有哪几种实现方式49、一个线程运行时发生异常会怎样50、synchronized 的作用51、说说自己是怎么使用 synchronized 关键字在项目中用到了吗52、Java 中怎么获取一份线程 dump 文件你如何在 Java 中获取线程堆栈53、你对线程优先级的理解是什么54、Java 线程数过多会造成什么异常55、什么是自旋56、当一个线程进入一个对象的 synchronized 方法 A 之后其它线程是否可进入此对象的 synchronized 方法 B57、线程 B 怎么知道线程 A 修改了变量58、synchronized、volatile、CAS 比较59、synchronized 和 ReentrantLock 区别是什么60、说一下 synchronized 底层实现原理61、synchronized 和 Lock 有什么区别62、多线程中 synchronized 锁升级的原理是什么63、volatile 能使得一个非原子操作变成原子操作吗64、volatile 关键字的作用65、volatile 修饰符的有过什么实践66、Java 中能创建 volatile 数组吗67、Java Concurrency API 中的 Lock 接口(Lock interface)是什么对比同步它有什么优势68、什么是 CAS69、什么是死锁70、volatile 变量和 atomic 变量有什么不同71、synchronized 和 volatile 的区别是什么72、CAS 的会产生什么问题73、产生死锁的条件是什么怎么防止死锁74、死锁与活锁的区别死锁与饥饿的区别75、多线程锁的升级原理是什么76、乐观锁和悲观锁的理解及如何实现有哪些实现方式Executor 线程池面试题1、什么是 Executor 框架2、有哪几种创建方式3、在 Java 中 Executor 和 Executors 的区别4、线程池有什么优点5、为什么使用 Executor 框架6、什么是线程组为什么在 Java 中不推荐使用7、什么是线程池8、你知道怎么创建线程池吗9、ThreadPoolExecutor 构造函数重要参数分析10、线程池中 submit() 和 execute() 方法有什么区别11、线程池都有哪些状态12、ThreadPoolExecutor 饱和策略13、Executors 和 ThreaPoolExecutor 创建线程池的区别14、在 Java Concurrency API 中有哪些原子类(atomic classes)15、什么是原子操作16、说一下 atomic 的原理17、并发工具之 CountDownLatch 与 CyclicBarrier18、在 Java 中 CycliBarriar 和 CountdownLatch 有什么区别19、ScheduledThreadPoolExecutor 详解 FutureTask 详解20、Semaphore 有什么作用21、什么是线程间交换数据的工具 Exchanger22、并发工具之 Semaphore 与 Exchanger23、常用的并发工具类有哪些三、框架源码Spring ioc 面试题1、在配置类上写 CompentScan 注解来进行包扫描2、你对 spring ioc 容器的定义3、xml 配置文件的形式 和配置类的形式的区别4、FilterType.CUSTOM 自定义类型如何使用5、排除用法 excludeFilters6、说说 ComponentScan.Filter type 的类型7、什么是 bean 的生命周期?8、如何 Scope 指定的作用域方法取值9、如何通过实现 FacotryBean 接口来实现注册组件10、AnnotationConfigApplicationContex 的创建为我们做了什么11、如何通过 InitializingBean 和 DisposableBean 的二个接口实现12、我们自己的组件如何使用 Spring Ioc 底层组件13、控制反转(IOC)有什么作用14、IOC 的优点是什么15、Spring IOC 的实现机制Spring aop 面试题1、什么是 Spring AOP2、简述一下 Spring AOP 的设计原理3、代理如何进行创建和调用的4、Spring 中有哪些通知类型(advice)5、在 Spring AOP 中关注点和横切关注点有什么不同6、Spring AOP 的代理是什么7、说说 AspectJAutoProxyRegistrar 类是用来干什么的8、代理对象创建9、代理对象调用目标方法Spring mvc 面试题1、Spring MVC 的控制器是不是单例模式,如果是,有什么问题,怎么解决2、什么是 Spring MVC简单介绍下你对 Spring MVC 的理解3、什么是 Spring MVC 框架的控制器4、Spring MVC 的主要组件5、请描述 Spring MVC 的工作流程6、什么是 DispatcherServlet7、描述一下 DispatcherServlet 的工作流程8、Spring MVC 的优点9、注解原理是什么10、SpingMvc 中的控制器的注解一般用哪个,有没有别的注解可以替代11、MVC 框架12、MVC 是什么MVC 设计模式的好处有哪些13、RequestMapping 注解的作用14、ResponseBody 注解的作用15、Spring MVC 常用的注解有哪些16、PathVariable 和 RequestParam 的区别17、Spring MVC 与 Struts2 区别18、Controller 注解的作用19、Spring MVC 怎么和 AJAX 相互调用的20、Spring MVC 的异常处理21、如果在拦截请求中我想拦截 get 方式提交的方法,怎么配置22、怎样在方法里面得到 Request,或者 Session23、Spring MVC 中函数的返回值是什么24、Spring MVC 怎么样设定重定向和转发的25、Spring MVC 用什么对象从后台向前台传递数据的26、Spring MVC 里面拦截器是怎么写的27、如何解决 POST 请求中文乱码问题GET 的又如何处理呢28、如果想在拦截的方法里面得到从前台传入的参数,怎么得到29、如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象30、怎么样把 ModelMap 里面的数据放入 Session 里面Spring 面试题1、Spring 的优缺点是什么2、什么是 spring?3、Spring 框架的设计目标设计理念和核心是什么4、Spring 的俩大核心概念5、Spring 应用程序有哪些不同组件6、Spring 框架中都用到了哪些设计模式7、Spring 框架中有哪些不同类型的事件8、详细讲解一下核心容器spring context 应用上下文) 模块9、Spring 有哪些应用场景10、Spring 由哪些模块组成11、什么是基于 Java 的 Spring 注解配置? 给一些注解的例子12、怎样开启注解装配13、Required 注解有什么作用14、使用 Spring 有哪些方式15、Autowired 和 Resource 之间的区别16、RequestMapping 注解有什么用17、解释对象/关系映射集成模块18、spring DAO 有什么用19、spring JDBC API 中存在哪些类20、使用 Spring 通过什么方式访问 Hibernate21、Spring 事务的实现方式和实现原理22、Spring 支持的事务管理类型 spring 事务实现方式有哪些23、Qualifier 注解有什么作用24、使用 Spring 访问 Hibernate 的方法有哪些25、Spring 框架的事务管理有哪些优点26、解释 JDBC 抽象和 DAO 模块Mybatis 面试题1、传统 JDBC 开发存在的问题2、MyBatis 是什么3、MyBatis 框架适用场景4、ORM 是什么5、Mybatis 优缺点6、为什么说 Mybatis 是半自动 ORM 映射工具它与全自动的区别在哪里7、Hibernate 和 MyBatis 的区别8、MyBatis 编程步骤是什么样的9、JDBC 编程有哪些不足之处MyBatis 是如何解决这些问题的10、MyBatis 的功能架构是怎样的11、为什么需要预编译12、请说说 MyBatis 的工作原理13、Mybatis 都有哪些 Executor 执行器它们之间的区别是什么14、MyBatis 的解析和运行原理15、Mybatis 中如何指定使用哪一种 Executor 执行器16、模糊查询 like 语句该怎么写17、MyBatis 的框架架构设计是怎么样的18、在 mapper 中如何传递多个参数19、如何获取生成的主键20、什么是 MyBatis 的接口绑定有哪些实现方式21、Mapper 编写有哪几种方式22、当实体类中的属性名和表中的字段名不一样 怎么办23、Mybatis 是否支持延迟加载如果支持它的实现原理是什么24、使用 MyBatis 的 mapper 接口调用时有哪些要求25、简述 Mybatis 的 Xml 映射文件和 Mybatis 内部数据结构之间的映射关系26、简述 Mybatis 的插件运行原理以及如何编写一个插件。27、Mybatis 是如何将 sql 执行结果封装为目标对象并返回的都有哪些映射形式28、Mybatis 如何执行批量操作29、Mybatis 映射文件中如果 A 标签通过 include 引用了 B 标签的内容请问B 标签能否定义在 A 标签的后面还是说必须定义在 A 标签的前面30、Mybatis 的 Xml 映射文件中不同的 Xml 映射文件id 是否可以重复31、Mybatis 是否可以映射 Enum 枚举类32、Mybatis 的一级、二级缓存33、Mybatis 是如何进行分页的分页插件的原理是什么34、Xml 映射文件中除了常见的 select|insert|updae|delete 标签之外还有哪些标签35、Mybatis 动态 sql 是做什么的都有哪些动态 sql能简述一下动态 sql 的执行原理不36、MyBatis 实现一对一一对多有几种方式怎么操作的四、分布式框架分布式中间件RabbitMQ 面试题1、解耦、异步、削峰是什么2、什么是 MQ3、你们公司生产环境用的是什么消息中间件4、MQ 的优点5、Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点6、消息队列有什么缺点7、rabbitmq 的使用场景8、什么是 RabbitMQ9、RabbitMQ 的工作模式10、MQ 有哪些常见问题如何解决这些问题11、 消息如何分发12、RabbitMQ 基本概念13、消息基于什么传输14、如何保证 RabbitMQ 消息的顺序性15、如何保证消息不被重复消费或者说如何保证消息消费时的幂等性16、如何保证 RabbitMQ 消息的可靠传输17、如何保证高可用的RabbitMQ 的集群18、消息怎么路由19、如何解决消息队列的延时以及过期失效问题20、消息队列满了以后该怎么处理有几百万消息持续积压几小时怎么办21、 为什么不应该对所有的 message 都使用持久化机制22、如何确保消息正确地发送至 RabbitMQ 如何确保消息接收方消费了消息23、设计 MQ 思路RocketMQ 面试题1、中小型公司首选 RabbitMQ 的原因是2、消息低延迟的原因3、Broker 的 Buffer 满了怎么办4、回溯消息5、消息中间件的主要功能是6、RabbitMQ 是什么7、RabbitMQ 物理部署结构8、RabbitMQ 的逻辑结构9、RabbitMQ 数据存储结构是怎么样的10、RabbitMQ 的使用场景11、RabbitMQ 的基本概念12、RabbitMQ 的工作模式Kafka 面试题1、producer 是否直接将数据发送到 broker 的 leader(主节点)2、Kafka 的设计时什么样的呢3、Kafka 消息是采用 Pull 模式还是 Push 模式4、Kafka 高效文件存储设计特点5、Kafka 判断一个节点是否还活着有那两个条件6、Kafa consumer 是否可以消费指定分区消息7、数据传输的事物定义有哪三种8、Kafka 存储在硬盘上的消息格式是什么9、Kafka 新建的分区会在哪个目录下创建10、kafka 的 ack 机制11、消费者负载均衡策略12、Kafka 的消费者如何消费数据13、Kafka 与传统消息系统之间有三个关键区别14、partition 的数据如何保存到硬盘15、Kafka 创建 Topic 时如何将分区放置到不同的 Broker 中16、kafaka 生产数据时数据的分组策略17、数据有序18、数据一致性保证Redis 面试题1、Redis 回收使用的是什么算法2、什么是 Redis3、Redis 有哪些数据类型4、Redis 有哪些优缺点5、Redis 回收进程如何工作的6、使用 redis 有哪些好处7、为什么要用 Redis / 为什么要用缓存8、假如 Redis 里面有 1 亿个 key其中有 10w 个 key 是以某个固定的已知的前缀开头的如果将它们全部找出来9、Redis 为什么这么快10、Redis 的应用场景11、为什么要用 Redis 而不用 map/guava 做缓存?12、如何选择合适的持久化方式13、使用 Redis 做过异步队列吗是如何实现的14、Redis key 的过期时间和永久有效分别怎么设置15、我们知道通过 expire 来设置 key 的过期时间那么对过期的数据怎么处理呢?16、Redis 如何实现延时队列17、持久化18、Redis 的持久化机制是什么各自的优缺点19、Redis 主要消耗什么物理资源20、Redis 的内存淘汰策略有哪些21、Redis 持久化数据和缓存怎么做扩容22、Redis 的过期键的删除策略23、Redis 的内存用完了会发生什么24、什么是事务25、MySQL 里有 2000w 数据redis 中只存 20w 的数据如何保证 redis 中的数据都是热点数据26、事务管理ACID概述27、Redis 如何做内存优化28、Redis 事务保证原子性吗支持回滚吗29、哨兵模式30、基于客户端分配31、Redis 线程模型32、Redis 事务支持隔离性吗33、Redis 事务的概念34、Redis 集群之间是如何复制的35、Redis 事务的三个阶段36、Redis 事务相关命令37、Redis 事务其他实现38、Redis 集群最大节点个数是多少39、官方 Redis Cluster 方案(服务端路由查询)40、为什么要做 Redis 分区41、基于代理服务器分片42、说说 Redis 哈希槽的概念43、Redis 集群会有写操作丢失吗为什么44、生产环境中的 redis 是怎么部署的45、Redis 集群的主从复制模型是怎样的46、Redis 是单线程的如何提高多核 CPU 的利用率47、Redis 主从架构48、Redis 实现分布式锁49、Redis 官方为什么不提供 Windows 版本50、Redis 集群如何选择数据库51、Redis 如何做大量数据插入52、Redis 分区有什么缺点53、一个字符串类型的值能存储最大容量是多少54、什么是 redis 穿透55、如何解决 Redis 的并发竞争 Key 问题56、什么是 redis 穿透57、Redis 和 Redisson 有什么关系58、你知道有哪些 Redis 分区实现方案59、什么是 RedLock60、缓存热点 key61、Redis 与 Memcached 的区别62、什么是 redis 雪崩63、Redis 常见性能问题和解决方案64、缓存预热65、缓存降级66、分布式 Redis 是前期做还是后期规模上来了再做好为什么67、如何保证缓存与数据库双写时的数据一致性68、Redis 支持的 Java 客户端都有哪些官方推荐用哪个69、Jedis 与 Redisson 对比有什么优缺点70、热点数据和冷数据Zookeeper 面试题1、集群支持动态添加机器吗2、 ZooKeeper 是什么3、 集群最少要几台机器集群规则是怎样的?4、 Zookeeper 对节点的 watch 监听通知是永久的吗为什么不是永久的?5、Zookeeper 文件系统7、 Zookeeper Watcher 机制 -- 数据变更通知8、 Zookeeper 的典型应用场景9、说说 ZooKeeper 文件系统10、Zookeeper 节点宕机如何处理11、说几个 zookeeper 常用的命令。12、Zookeeper 有哪几种几种部署模式13、ZooKeeper 提供了什么14、Zookeeper 的 java 客户端都有哪些?15、Zookeeper 有哪几种几种部署模式?16、ZAB 协议17、Zookeeper 的典型应用场景18、 ZAB 和 Paxos 算法的联系与区别19、四种类型的数据节点 Znode20、Znode 有哪些类型21、客户端注册 Watcher 实现22、 ACL 权限控制机制23、服务端处理 Watcher 的流程24、客户端回调 Watcher 流程25、客户端回调 Watcher26、说一下 Zookeeper Watcher 机制27、Zookeeper 对节点的 watch 监听通知是永久的吗?为什么不是永久的?28、客户端注册 Watcher 的流程29、说说 ACL 权限控制机制30、Chroot 特性31、 zookeeper 负载均衡和 nginx 负载均衡区别32、Zookeeper 下 Server 工作状态33、Zookeeper 下 Server 工作状态有哪些34、ZooKeeper 和 dubbo 的区别35、zookeeper 是如何保证事务的顺序一致性的36、分布式集群中为什么会有 MasterDubbo 面试题1. 为什么要用 Dubbo2. Dubbo 是什么3. Dubbo 的使用场景有哪些4. Dubbo 核心功能有哪些5. Dubbo 核心组件有哪些6. Dubbo 服务器注册与发现的流程7. Dubbo 的整体架构设计有哪些分层?8. Dubbo Monitor 实现原理9. Dubbo 类似的分布式框架还有哪些10. Dubbo 和 Spring Cloud 有什么关系11. Dubbo 和 Spring Cloud 有什么哪些区别12. Dubbo 和 Dubbox 之间的区别13. Dubbo 有哪些注册中心14. Dubbo 的注册中心集群挂掉发布者和订阅者之间还能通信么15. Dubbo 集群提供了哪些负载均衡策略16. Dubbo 的集群容错方案有哪些17. Dubbo 配置文件是如何加载到 Spring 中的18. 说说核心的配置有哪些19. Dubbo 超时设置有哪些方式20. 服务调用超时会怎么样23. Dubbo 用到哪些设计模式24. 服务上线怎么兼容旧版本25. Dubbo telnet 命令能做什么26. Dubbo 支持服务降级吗26. Dubbo 支持服务降级吗28. Dubbo SPI 和 Java SPI 区别29. Dubbo 支持分布式事务吗30. Dubbo 可以对结果进行缓存吗31. Dubbo 必须依赖的包有哪些32. Dubbo 支持哪些序列化方式33. Dubbo 在安全方面有哪些措施34. 服务调用是阻塞的吗35. 服务提供者能实现失效踢出是什么原理36. 同一个服务多个注册的情况下可以直连某一个服务吗37. Dubbo 服务降级失败重试怎么做38.Dubbo 使用过程中都遇到了些什么问题39. 为什么要有 RPC40. 什么是 RPC41. PRC 架构组件42. RPC 和 SOA、SOAP、REST 的区别Netty 面试题1、Netty 线程模型和 Reactor 模式2、Netty 是什么3、Netty 设计模式4、Netty 的特点是什么5、Netty 单机百万实战6、Netty 支持哪些心跳类型设置7、JDK 原生 NIO 程序的问题8、Netty 常见使用场景9、Netty 发送消息有几种方式10、如何选择序列化协议11、Netty 和 Tomcat 的区别12、Netty 的优势有哪些13、Netty 解码器 Decoder14、Netty 的应用场景有哪些15、TCP 粘包/拆包的原因及解决方法16、Netty 高性能表现在哪些方面17、BIO、NIO 和 AIO 的区别18、NIO 的组成19、Netty 中有哪种重要组件20、Netty 的线程模型21、NIOEventLoopGroup 源码22、什么是 Netty 的零拷贝23、了解哪几种序列化协议24、默认情况 Netty 起多少线程25、何时启动五、微服务架构Spring Boot 面试题1、 Spring Boot 中如何实现定时任务 ?2、SpringBoot 实现热部署有哪几种方式3、 Spring Boot 有哪些优点4、 SpringBoot Starter 的工作原理5、 Spring Boot 支持哪些日志框架推荐和默认的日志框架是哪个6、 Spring Boot 的核心注解是哪个它主要由哪几个注解组成的7、Spring Boot 打成的 jar 和普通的 jar 有什么区别 ?8、 SpringBoot 支持什么前端模板9、 Spring Boot 需要独立的容器运行吗10、 spring-boot-starter-parent 有什么用 ?11、 SpringBoot 如何实现打包12、开启 Spring Boot 特性有哪几种方式13、运行 Spring Boot 有哪几种方式14、Spring Boot 2.X 有什么新特性与 1.X 有什么区别15、如何在 Spring Boot 启动的时候运行一些特定的代码16、spring boot 核心配置文件是什么bootstrap.properties 和 application.properties 有何区别 ?17、Spring Boot 是否可以使用 XML 配置 ?18、Async 异步调用方法19、 什么是 Spring Profiles20、SpringBoot 的缺点21、Spring Boot 有哪几种读取配置的方式22. 什么是 YAML23、什么是 Spring Boot24、 你如何理解 Spring Boot 配置加载顺序25、 什么是 JavaConfig26、SpringBoot 与 SpringCloud 区别27、YAML 配置的优势在哪里 ?28、SpringBoot 事物的使用29、 SpringBoot 的自动配置原理是什么30、为什么要用 SpringBoot31、 SpringBoot 微服务中如何实现 session 共享 ?32、 SpringBoot 多数据源拆分的思路33、 我们如何监视所有 Spring Boot 微服务34、 如何实现 Spring Boot 应用程序的安全性35、 保护 Spring Boot 应用有哪些方法36、 比较一下 Spring Security 和 Shiro 各自的优缺点 ?37、 SpringBoot 性能如何优化38、您使用了哪些 starter maven 依赖项39、 Spring Boot 中如何解决跨域问题 ?40、 Spring Boot 中的监视器是什么41、SpringBoot 多数据源事务如何管理42、 如何使用 Spring Boot 实现全局异常处理43、 Spring Boot 中的 starter 到底是什么 ?44、 如何重新加载 Spring Boot 上的更改而无需重新启动服务器Spring Boot 项目如何热部署Spring cloud 面试题1、SpringBoot 和 SpringCloud 的区别2、什么是微服务架构3、 使用 Spring Boot 开发分布式微服务时我们面临什么问题4、 Spring Cloud 是什么5、 Spring Cloud 和 SpringBoot 版本对应关系5、 SpringCloud 的优缺点6、 Spring Cloud 和 dubbo 区别?7、 什么是 Eureka8、 为什么需要学习 Spring Cloud9、SpringCloud 由什么组成10、 什么是 Eureka 的自我保护模式11、Eureka 和 ZooKeeper 都可以提供服务注册与发现的功能,请说说两个的区别17. 网关的作用是什么18、服务注册和发现是什么意思Spring Cloud 如何实现19、 DiscoveryClient 的作用20、 什么是 Spring Cloud Zuul服务网关21、 Eureka 怎么实现高可用22、 网关与过滤器有什么区别23、 既然 Nginx 可以实现网关为什么还需要使用 Zuul 框架24、Zuul 网关如何搭建集群25、什么是网关?26、 常用网关框架有那些27、 Ribbon 是什么28、Zuul 与 Nginx 有什么区别29、 如何实现动态 Zuul 网关路由转发30、 Ribbon 底层实现原理31、ZuulFilter 常用有那些方法32、谈谈服务雪崩效应33、服务雪崩效应产生的原因34、 Nginx 与 Ribbon 的区别35、 负载平衡的意义什么36、 如何设计一套 API 接口37、谈谈服务降级、熔断、服务隔离38、在微服务中如何保护服务?39、什么是 Spring Cloud Bus40、什么是断路器41、什么是 Spring Cloud Confifig?42、SpringCloud 有几种调用接口方式43、Ribbon 和 Feign 调用服务的区别44、分布式配置中心的作用45、服务降级底层是如何实现的46、分布式配置中心有那些框架47、什么是 Feign48、什么是 Spring Cloud Gateway?49、SpringCloud Confifig 可以实现实时刷新吗六、项目实战1、Spring Cloud Confifig2、Spring Cloud Netflflix(重点这些组件用的最多)3、Spring Cloud Security4、Spring Cloud Consul5、Spring Cloud Task6、Spring Cloud Sleuth7、Spring Cloud Stream8、Spring Cloud 和 SpringBoot 版本对应关系9、Spring Cloud OpenFeign10、Spring Cloud Gateway11、Spring Cloud Zookeeper12、Spring Cloud 的版本关系13、Spring Cloud Bus14、Spring Cloud 和各子项目版本对应关系七、互联网工具Linux 面试题1、如何规划一台 Linux 主机步骤是怎样2、什么是 Linux3、Linux 性能调优都有哪几种方法4、什么是 Linux 内核5、BASH 和 DOS 之间的基本区别是什么6、Windows 和 Linux 的区别7、 请问当用户反馈网站访问慢你会如何处理8、 Unix 和 Linux 有什么区别9、Linux 的基本组件是什么10、 Linux 开机启动过程11、 Linux 使用的进程间通信方式12、Linux 的体系结构13、 Linux 系统安装多个桌面环境有帮助吗14、什么是 BASH15、 什么是 root 帐户16、 Linux 系统缺省的运行级别17、什么是 GUI18、 Linux 有哪些系统日志文件19、开源的优势是什么20、 Linux 的目录结构是怎样的21、什么是交换空间22、什么是硬链接和软链接23、 什么是 LILO24、 一台 Linux 系统初始化环境后需要做一些什么安全工作25、 GNU 项目的重要性是什么26、 什么是 CLI27、 RAID 是什么?28、 Shell 脚本是什么29、 什么是 inode 30、简单 Linux 文件系统31、什么是网站数据库注入32、如何选择 Linux 操作系统版本?以上就是小编分享的 BAT 必考 Java 真题合集由于篇幅有限小编已经把每个专题对应的面试题附答案解析整理成了文档有需要的可以点击下方名片获取。