Java 学科面试宝典.docx
Java目录一Java基础271.1 重载和重写的区别(了解)271.2 String 和 StringBuffer,StringBuilder 的区别是什么?String 为什么是不可变的?(必会)271.3 自动装箱与拆箱(了解)281.4= 与 equals (必会)291.5 关于 final 关键字的一些总结(必会)301.6 Java 中的异常处理(了解)301.7 error 和 exception 的区别?(了解)311.8 接口和抽象类的区别是什么(必会)311.9 什么是单例模式?有几种?(必会)311.10 手写冒泡排序?(必会)321.11 BIO、NIO、AIO 有什么区别?(了解)331.12 常见的数据结构有哪些?(了解)331.13 Java 集合体系有什么?(必会)341.14 List 的三个子类的特点(必会)381.15 List 和 Map、Set 的区别(必会)391.16 HashMap 底层实现原理(必会)391.17 谈一下 hashMap 中什么时候需要进行扩容,扩容 resize()又是如何实现的?(高薪常问)421.18 ConcurrentHashMap 特点(高薪常问)431.19 HashTable(了解)451.20 HashMap 和 HashTable 有什么区别?(必会)451.21 HashMap,HashTable,ConcurrentHashMap 之间的区别,及性能对比(必会)461.22 什么是线程?线程和进程的区别?(必会)461.23 创建线程有几种方式(必会)471.24 线程的基本方法有什么?(必会)501.25 在 java 中 wait 和 sleep 方法的不同?(必会)511.26 线程池原理(高薪常问)511.27 线程执行的顺序(高薪常问)531.28 线程池的核心参数有哪些?(高薪常问)531.29 死锁产生的条件以及如何避免?(高薪常问)541.30 JVM 是什么?JVM 的基本结构 (高薪常问)551.31 JVM 内存结构(高薪常问)561.32 类的加载, 类加载器的种类, 类加载机制(高薪常问)581.33 什么是 GC(高薪常问)591.34 JVM 调优的工具有哪些?(高薪常问)601.35 常用的 JVM 调优的参数都有哪些?(高薪常问)61二JavaWeb622.1 JDBC 技术622.1.1 说下原 JDBC 操作数据库流程?622.1.2 说说事务的概念,在 JDBC 编程中处理事务的步骤。622.1.3 JDBC 的脏读是什么?哪种数据库隔离级别能防止脏读?623.1 网路通讯部分633.1.1 TCP 与 UDP 区别?633.1.2 说一下什么是 Http 协议?633.1.3 get 与 post 请求区别?633.1.4 http 中重定向和请求转发的区别?644.1 Cookie 和 Session645.1 Jsp 和Servlet645.1.2 Jsp 和 Servlet 的区别655.1.3 JSP 九大内置对象655.1.4 JSP 的三大指令655.1.5 七大动作656.1 Ajax666.1.1 谈谈你对 Ajax 的认识?(了解)666.1.2 Ajax 创建的过程?(了解)666.1.3 阐述一下异步加载 JS?(了解)666.1.4 ajax 请求时,如何解释 json 数据?(了解)666.1.5 Ajax 提交请求 默认是 异步还是同步,怎么改成同步?(了解)676.1.6 如何解决 ajax 跨域问题?(了解)676.1.7 Ajax 的优势(了解)686.1.8 请介绍下 Jsonp 原理(了解)69三数据库693.1 SQL 之连接查询(必会)693.2 SQL 之聚合函数(必会)703.3 SQL 之 SQL 注入(必会)703.4 SQL Select 语句完整的执行顺序: (必会)713.5 存储引擎(高薪常问)713.5.1 概念713.5.2 InnoDB713.5.3 TokuDB723.5.4 MyIASM723.5.5 Memory733.6 索引(高薪常问)733.6.1 普通索引733.6.2 唯一索引743.6.3 主键索引753.6.4 组合索引753.6.5 全文索引763.6.6 索引的优点773.6.7 索引的缺点773.6.8 常见索引原则773.7 索引原理(了解)783.7.1 磁盘 IO 与预读783.7.2 B+树793.7.3 B+树的查找过程803.7.4 B+树性质803.7.5 聚焦索引和辅助索引813.8 数据库三范式(必会)833.8.1 第一范式(1st NF First Normal Fromate)833.8.2 第二范式(2nd NFSecond Normal Fromate)843.8.3 第三范式(3rd NF Third Normal Fromate)843.9 数据库事务(必会)853.9.1 事务(TRANSACTION)853.9.2 事务控制语句853.9.3 MySQL 事务处理主要有两种方法:863.9.4 事务的四种隔离级别863.10 存储过程(高薪常问)873.11 数据库并发策略(高薪常问)873.11.1 乐观锁873.11.2 悲观锁883.11.3 两种锁的使用场景883.11.4 乐观锁常见的两种实现式版本号机制883.11.5 乐观锁的缺点893.11.6 时间戳903.12 触发器(高薪常问)903.13 数据库锁(高薪常问)913.13.1 行级锁913.13.2 表级锁913.13.3 页级锁913.14 4 基于 Redis 分布式锁(高薪常问)913.15 分区分表(高薪常问)923.16 应该使用哪一种方式来实施数据库分库分表,这要看数据库中数据量的瓶颈所在,并综合项目的业务类型进行考虑。(了解)923.17 MySQL 读写分离(高薪常问)933.18 MySQL 常用 30 种 SQL 查询语句优化方法(必会)943.19 数据库优化方案整理(高薪常问)983.19.1 优化说明983.19.2 优化方向983.19.3 优化方案1003.20 oracle 和mysql 的分页语句?(必会)1083.20.1 oracle1083.20.2 mysql108四.Mybatis框架1094.1 什么是Mybatis?(必会)1094.2 Mybaits 的优点(了解)1094.3 MyBatis 与Hibernate 有哪些不同?(必会)1094.4 #和$的区别是什么?(必会)1104.5 Mybatis 是如何进行分页的?分页插件的原理是什么?(必会)1104.6 Mybatis 动态SQL 有什么用?执行原理?有哪些动态sql 标签?(必会). 1104.7 Xml 映射文件中,除了select|insert|updae|delete 标签之外,还有哪些标签?(了解)1104.8 MyBatis 实现一对一有几种方式?具体怎么操作的?(必会)1114.9 Mybatis 是否支持延迟加载?如果支持,它的实现原理是什么?(必会). 1114.10 Mybatis 的一级.二级缓存(必会)111五Spring框架1125.1 Spring 是什么?(了解)1125.2 Spring 的AOP 理解?(必会)1125.3 Spring 的IOC 理解?(必会)1135.4 BeanFactory 和ApplicationContext 有什么区别?(了解)1145.5 请解释Spring Bean 的生命周期?(必会)1155.6 解释Spring 支持的几种bean 的作用域。(必会)1165.7 spring 常见的注解(必会)1165.8 Spring 框架中的单例Beans 是线程安全的么?(了解)1175.9 Spring 如何处理线程并发问题?(必会)1175.10 Spring 基于xml 注入bean 的几种方式(必会)1185.11 Spring 框架中都用到了哪些设计模式?(高薪必问)1185.12 Spring 事务的实现方式和实现原理(高薪必问)1185.13 解释一下Spring AOP 里面的几个名词(了解)1205.14 Spring 通知有哪些类型?(了解)121六SpringMVC框架1226.1 什么是SpringMVC ?简单介绍下你对SpringMVC 的理解?(了解)122 6.2 SpringMVC 的流程?(必会)1226.3 SpringMVC 的主要组件?(必会)1236.4 SpringMVC 和Struts2 的区别有哪些?(必问)1236.5 SpringMVC 怎么和Ajax 相互调用的?(必会)1246.6 如何解决Post 请求中文乱码问题,Get 的又如何处理呢?(了解)124 6.7 SpringMVC 常用的注解有哪些?(必问)1256.8 SpringMVC 里面拦截器是怎么写的?(了解)125七Saas项目17.1 介绍话术17.2 名词与概念17.3 货运管理业务讲解:37.4 开发环境与技术:77.5 项目亮点设计87.6 项目技术与业务97.6.1 分页查询业务97.6.1.1 传统分页97.6.1.2 PageHelper97.6.2 权限107.6.3 动态构造菜单117.6.4 Shiro117.7 Dubbo157.7.1 Dubbo 的项目架构157.7.2 什么是 dubbo?177.7.3 Dubbo 的实现原理图如下187.7.4 节点角色说明187.7.5 调用关系说明187.7.6 在实际开发的场景中应该如何选择 RPC 框架197.7.7 Dubbo 面试问题汇总:207.7.7.1 什么是缺省协议?207.7.7.2 为什么不能传大包207.7.7.3 Dubbo 中的 zookeeper 做注册中心,如果注册中心集群都挂掉,发布者和订阅者还能通信吗?207.7.7.4 dubbo 服务的负载均衡策略?217.7.7.5 Dubbo 在安全机制方面是如何解决的?227.7.7.6 dubbo 链接注册中心和直连有什么区别?227.7.7.7 dubbo 服务集群的容错模式237.8 Zookeeper257.8.1 Zookeeper 是如何实现配置维护.组服务.分布式消息队列等等服务的呢? 257.8.2 简述一下你对 Znode 的理解267.8.3 Zookeeper 角色说明287.8.4 角色调用关系说明297.8.5 Zookeeper 的核心是什么?297.8.6 Zookeeper 中的每个 Server 有几种状态?307.8.7 Zookeeper 的节点数据操作流程307.8.8 为什么 zookeeper 集群的数目,一般为奇数个?317.8.9 经典实例:Zookeeper 分布式锁的应用场景327.9 POI387.9.1 POI 的介绍387.9.2 POI 项目中的使用,主要用在哪些地方?<项目中主要使用在出货表打印,合同上传,销售报表等>387.9.3 Excel 报表导出流程:387.9.4 百万级数据导出397.10 WebService 技术使用417.10.1 技术描述417.10.2 面试问题汇总:427.10.3 webService 的三大规范是什么?427.10.4 除了 webService,还有什么技术可以实现内部程序调用其他网站服务?42 7.10.5 如何以 JAVA 的形式启动当前 web 应用437.10.6 远程通信的几种选择(RPC,Webservice,RMI,JMS 的区别)437.10.7 在项目中常用的注解有哪些?447.10.8 webService 的三要素是什么?447.10.9 项目中是如何使用 CXF 进行外部接口调用的?457.11 echarts 在项目中的应用?457.12 Quartz 的应用467.13 PDF 导出477.13.1 常用的 pdf 技术有哪些?477.13.2 JasperReport 的生命周期是?487.13.3 JasperReport 的执行流程是什么?487.13.4 在项目中 PDF 导出的使用?487.14 RabbitMQ507.14.1 什么是 RabbitMQ?507.14.2 为什么要使用 RabbitMQ?Rabbit 有什么优点?507.14.3 RabbitMQ 有什么缺点?507.14.4 RabbitMQ 的工作模式?507.14.5 如何保证 RabbitMQ 高可用?517.14.6 如何保证 RabbitMQ 消息不被重复消费?517.14.7 如何保证 RabbitMQ 消息可靠传输?527.14.8 如何保证 RabbitMQ 消息的顺序性?537.14.10 RabbitMQ 消息堆积处理547.14.11 RabbitMQ 消息丢失解决方案557.14.12 RabbitMQ 宕机了怎么处理557.14.13 RabbitMQ 的 集群567.14.14 如何解决分布式事务问题?577.14.15 常见的消息中间587.15 面试问题汇总:597.15.1 这个系统 UI 使用什么框架?都用到 jquery easy ui 的哪些组件?597.15.2 本系统ajax+json 具体是怎么做的?action 的方法返回的json 是如何实现的?597.15.3 系统哪些地方使用到了 json?607.15.4 你是如何将对象转成 JSON 或是将 JSON 转成对象?607.15.5 这个系统异常处理是怎么做的?607.15.6 你如何理解前端验证和后端验证,是如何实现的?617.15.7 如果我要实现某个数据非空验证,是不是写了前端验证就不用写后端验证了?617.15.8 你在使用下拉列表数据时,如果下拉列表数据过多(100 条以上),你是如何让用户很快找到要选择的数据的呢?617.15.9 本系统配置信息是如何规范的?627.15.10 系统中都包括哪些系统配置方式?627.15.11 你是如何和测试人员配合工作的?637.15.12 项目中如何进行事务管理的?637.15.13 这个项目开发过程中遇到了哪些问题?637.15.14 什么是SaaS 项目?647.15.15 SaaS 项目的优势是什么?647.15.16 SaaS 项目合适什么项目?64八.SpringBoot框架648.1 SpringBoot 是什么?为什么我们选择使 SpringBoot 开发?(必会)648.2 SpringBoot 常用的starter 有哪些(必会)658.3 SpringBoot 自动配置的原理(高薪常问)658.4 SpringBoot 如何添加【修改代码】自动重启功能(了解)668.5 什么是 Spring Data?(必会)668.6 SpringBoot 的核心配置文有哪几个?它们的区别是什么?(了解) 668.7 SpringBoot 的配置文件有哪几种格式?它们有什么区别?(必会)678.8 运行SpringBoot 有哪几种方式?(必会)678.9 如何在 SpringBoot 启动的时候运行一些特定的代码?(了解)688.10 SpringBoot 有哪几种读取配置的方式?(了解)688.11 SpringBoot 支持哪些日志框架?推荐和默认的日志框架是哪个?(必会)738.12 SpringBoot 实现热部署有哪几种方式?(必会)748.13 你如何理解 SpringBoot 配置加载顺序?(了解)768.14 SpringBoot 如何定义多套不同环境配置?(高薪常问)768.15 SpringBoot 可以兼容老Spring 项目吗,如何做?(了解)778.16 保护SpringBoot 应用有哪些方法?(了解)788.17 SpringBoot 2.X 有什么新特性?与 1.X 有什么区别?(了解)79九.SpringCloud框架809.1 什么是SpringCloud 框架?(必会)809.2 核心组件讲解:(高薪常问)829.2.1 Eureka(服务中心)(必会)829.2.2 Ribbon(负载均衡工具)(了解)839.2.3 Hystrix(熔断器)(必会)849.2.4 Zuul(服务网关)(必会)859.2.5 Config(配置中心)(了解)869.2.6 SpringCloud 基于业务场景对于各个组件的讲解(了解)879.3 SpringCloud 和Dubbo 的区别(必会)979.4 使用SpringCloud 的优缺点?(必会)989.5 服务注册和发现是什么意思?SpringCloud 如何实现?(必会)999.6 负载平衡的意义什么?(必会)999.7 什么是Hystrix?它如何实现容错? (必会)999.8 什么是Hystrix 断路器?我们需要它吗?(了解)1009.9 什么是Netflix Feign?它的优点是什么?(了解)1019.10 什么是SpringCloud Bus?我们需要它吗?(了解)1029.11 Eureka 和Zookeeper 注册中心的区别(高新常问)103十.乐优商城10410.1 项目介绍10410.1.1 什么是微服务10410.1.2 微服务有什么优势10510.1.3 SOA 与微服务的关系10510.1.4 什么是单体架构10510.1.5 单体架构的不足10610.1.6 B2C10710.1.6.1 什么是 B2C10710.1.6.2 其它的电商模式有哪些?1071. B2B企业对企业1072. C2C个人对个人1073. B2B2C企业对企业对个人1084. O2O线上对线下10810.2 项目架构10910.2.1 传统架构10910.2.2 SOA 架构11010.2.3 微服务架构11010.3 项目功能11110.3.1 人员配置11110.3.2 开发流程11110.3.3 开发技术11310.3.4 数据库表结构11410.4 模块业务11510.4.1 业务思路11510.5 商品管理(CORS,RabbitMQ,OSS,Nginx)11610.5.1 表设计11610.5.2 什么是 SPU 和 SKU11610.5.3 为什么不设置外键约束11710.5.4 业务11710.5.5 什么是跨域11810.5.6 为什么有跨域问题11810.5.7 解决跨域问题的方案11810.5.8 CORS1195.8.1 什么使CORS1195.8.2 CORS 原理1205.8.3 实现12310.5.9 为什么图片地址需要使用另外的 url?12310.5.10 消息中间件12410.5.10.1 什么是消息中间件12410.5.10.2 消息中间件的组成12410.5.10.3 消息中间件模式分类12510.5.10.4 消息中间件的优势12610.5.10.5 消息中间件常用协议12710.5.11 RabbitMQ12910.5.11.1 什么是 RabbitMQ?12910.5.11.2 为什么要使用 RabbitMQ?Rabbit 有什么优点?12910.5.11.3 RabbitMQ 有什么缺点?12910.5.11.4 RabbitMQ 的工作模式?12910.5.11.5 如何保证 RabbitMQ 高可用?13010.5.11.6 如何保证 RabbitMQ 消息不被重复消费?13010.5.11.7 如何保证 RabbitMQ 消息可靠传输?13110.5.11.8 如何保证 RabbitMQ 消息的顺序性?13210.5.11.10 RabbitMQ 消息堆积处理13310.5.11.11 RabbitMQ 消息丢失解决方案13410.5.11.12 RabbitMQ 宕机了怎么处理13410.5.11.13 RabbitMQ 的集群13510.5.11.14 如何解决分布式事务问题?13610.5.11.15 常见的消息中间13710.5.12 图片上传13810.5.13 FastDFS14110.5.14 Nginx14410.6 商品搜索(ElasticSearch,Solr)14710.6.1 简介14710.6.2 功能特点14810.6.3 ElasticSearch14910.6.3.1 概念14910.6.3.2 作用14910.6.3.3 优势14910.6.3.4 ElasticSearch 中的倒排索引是什么?15010.6.3.5 ElasticSearch 中的集群、节点、索引、文档、类型是什么?15010.6.3.6 ElasticSearch 中的分片是什么?15110.6.3.7 ElasticSearch 中的副本是什么?15110.6.3.8 ElasticSearch 查询方式有哪几种?15210.6.4 Solr15310.6.4.1 概念15310.6.4.2 优势15310.6.4.3 工作机制15310.6.5 Ik 分词器15410.6.5.1 什么是分词15410.6.5.2 为什么要使用 Ik 分词器?15410.6.5.3 Ik 分词器的原理?15410.6.5.4 ElasticSearch 集成 Ik 分词器15610.6.6 ElasticSearch 和 Solr 对比区别是什么?15610.7 页面静态化(Thymeleaf)15710.7.1 业务思路15710.7.2 什么是静态化15710.7.3 常见的静态化技术及对比157jsp158freemarker158velocity159thymeleaf15910.8 用户注册(阿里大于)15910.8.1 业务思路15910.8.2 阿里大于16010.9 用户登录(JWT)16110.9.1 授权业务思路(登录)16110.9.2 鉴权业务思路(每个微服务验证是否登录)16110.9.3 什么是有状态登录?16210.9.4 什么是无状态登录?16210.9.5JWT16210.9.5.1 组成16310.9.5.2 面试问题:16610.9.5.2.1 JWT token 泄露了怎么办?(常问)16610.9.5.2.2 Secret 如何设计?16610.9.5.2.3 注销和修改密码?16610.9.5.2.4 如何解决续签问题16710.9.5.2.5 如何防止令牌被盗用?16810.9.6 加密技术16910.10 购物车(localstorage+Redis)17010.10.1 业务思路17010.10.2 Html5 web 存储17110.10.3 Redis17210.10.3.1 什么是 Redis17210.10.3.2 Redis 的存储结构有哪些17210.10.3.3 Redis 的优点17310.10.3.4 Redis 的缺点17310.10.3.5 Redis 的持久化17410.10.3.6 RDB17510.10.3.7 AOF17510.10.3.8 Redis 集群17710.10.4 购物车存 cookie 里边 可以实现不登录就可以使用购物车 那么现在没有登录把商品存购物车了登录了然后换台电脑并且登录了还能不能看见购物车的信息?如果看不到怎么做到 cookie 同步,就是在另外一台电脑上可以看到购物车信息18110.10.5 如果用户一直添加购物车添加商品怎么办?并且他添加一次你查询一次数据库?互联网上用户那么多,这样会对数据库造成很大压力怎么办?18210.10.6 Redis 为什么可以做缓存?项目中使用 Redis 的目的是什么?Redis 什么时候使用?18210.10.7 对 Redis 和 Memcache 有没有了解,为什么选择 Redis?18310.10.8 Redis 面试经常会问到的问题18310.10.8.1 redis 的过期策略以及内存淘汰机制18310.10.8.2 redis 和数据库双写一致性问题18510.10.8.3 如何应对缓存穿透和缓存雪崩问题18510.10.8.4 如何解决 redis 的并发竞争 key 问题18710.10.8.5 mySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis中的数据都是热点数据18810.10.8.6 redis 事物的了解 CAS(check-and-set 操作实现乐观锁 )?18810.10.8.7 WATCH 命令和基于 CAS 的乐观锁:19010.10.8.9 redis 的缓存失效策略和主键失效机制19110.10.8.10 读写分离模型19410.10.8.11 使用过 Redis 分布式锁么,它是什么回事?19410.10.8.12 如果有大量的 key 需要设置同一时间过期,一般需要注意什么?194 10.10.8.13 Redis 的同步机制了解么?19510.10.8.14 是否使用过 Redis 集群,集群的原理是什么?19510.11 订单系统19510.11.1 业务思路19510.12 支付系统19610.12.1 业务思路(微信支付)19610.12.2 支付接口是怎么做的?19810.12.3 第一个是当两个客户同时买一件商品时库存只有一个了,怎么控制?198十一十次方项目19811.1 十次方背景19811.1.1 需求分析19911.1.2 前后端分离的优点和必要性19911.1.3 什么是前后端分离19911.1.4 为什么要前后端分离20011.1.5 十次方项目背景20111.1.5.1 系统架构20211.1.5.2 特色20211.1.5.3 模块划分20311.1.5.4 表结构分析20511.1.5.5 API 文档20611.1.5.6 开发环境20711.1.5.7 项目主要技术以及功能实现20711.1.5.7.1 前端环境搭建20711.1.5.7.2 API 文档与模拟数据接口20711.1.5.7.3 使用 ElementUI 开发管理后台20811.1.5.7.4 网站前台20811.1.5.7.5 系统设计与工程搭建20811.1.5.7.6 微服务功能开发20811.1.5.7.7 文档型数据库 MongoDB20911.1.5.7.8 消息中间件 RabbitMQ 与搜索微服务20911.1.5.7.9 密码加密与微服务鉴权 JWT20911.1.5.7.10 SpringCloud 初入江湖&SpringCloud 一统天下20911.1.5.7.11 爬虫20911.1.5.7.12 人工智能20911.2 十次方项目技术架构21011.3 十次方项目面试常问问题21011.3.1 对微服务有何了解?(了解)21011.3.2 微服务架构有哪些优势?(了解)21111.3.3 微服务有哪些特点?(必会)21111.3.4 微服务架构如何运作?(必会)21211.3.5 微服务架构的优缺点是什么?(必会)21211.3.6 单片,SOA 和微服务架构有什么区别?(必会)21311.3.7 在使用微服务架构时,您面临哪些挑战?(必会)21311.3.8 SOA 和微服务架构之间的主要区别是什么?(必会)21311.3.9 什么是耦合?(了解)21411.3.10 什么是 Rest/ Restful 架构以及它的用途是什么?(了解)21411.3.11 你对 SpringBoot 有什么了解?(必会)21511.3.12 什么是Spring 引导的执行器?(必会)21611.3.13 什么是SpringCloud?(必会)21611.3.14 SpringCloud 解决了哪些问题?(必会)21611.3.15 在Spring MVC 应用程序中使用WebMvcTest 注释有什么用处?(必会).21611.3.16 你能否给出关于休息和微服务的要点?(必会)21711.3.17 什么是不同类型的微服务测试?(必会)21711.3.18 您对 Distributed Transaction 有何了解?(必会)21811.3.19 什么是Idempotence 以及它在哪里使用?(必会)21811.3.20 什么是有界上下文?(必会)21811.3.21 什么是双因素身份验证?(必会)21811.3.22 双因素身份验证的凭据类型有哪些?(了解)21911.3.23 什么是客户证书?(了解)21911.4 十次方技术点21911.4.1 MongoDB(高薪常问)21911.4.1.1 什么是 MongoDB21911.4.1.2 MongoDB 特点22011.4.1.3 MongoDB 体系结构22011.4.1.4 MongoDB 数据类型22111.4.2 即时通讯(高薪常问)22111.4.2.1 什么是即时通信?22111.4.2.2 什么是短连接?22211.4.2.3 什么是长连接?22211.4.4 短连接和长连接的区别?22211.4.4.1 通讯流程22211.4.4.2 适用场景22211.4.4.3 通讯方式22211.4.3 websocket 协议(了解)22311.4.3.1 何为 websocket 协议?22311.4.3.2 websocket 常用事件方法?22411.4.4 接口加密&加密方式(高薪常问)22411.4.4.1 摘要算法22411.4.4.2 对称加密22511.4.4.3 非对称加密22511.4.4.4 数字签名22611.4.5 消息通知(必会)22711.4.5.1 消息通知的业务场景22711.4.5.2 消息通知与即时通讯的区别22711.4.5.3 消息通知存在的问题22811.4.5.3.1 数据库访问压力大22811.4.5.3.2 服务器性能压力大22811.4.5.3.3 改进的方法22811.4.6 Redis 分布式缓存(必会、高薪常问)22811.4.6.1 Redis 读写分离22811.4.6.2 Redis 性能测试22911.4.6.2.1 Redis-benchmark22911.4.6.2.2 TPS.QPS.RT22911.4.6.3 Redis 同步原理23111.4.6.4 Redis 的高可用 Sentinel23111.4.7 JUC 多线程(必会、高薪常问)23211.4.7.1 认识多线程23211.4.7.2 什么是线程?23211.4.7.3 什么是进程?23311.4.7.4 进程与线程的区别?23311.4.7.4 什么是线程安全?23411.4.7.5 什么时候使用线程同步?23411.4.7.6 线