独孤九剑-------面试题
需积分: 0 149 浏览量
更新于2022-07-12
收藏 1.05MB DOCX 举报
独孤九剑-------面试题
以下是从给定的文件中生成的相关知识点:
Spring
* Spring 优点:开源、免费、轻量级、非入侵式、支持事务处理、支持对其他框架整合
* Spring 核心:
+ 控制反转(IOC):Spring 容器使用工厂模式为我们创建需要的对象
+ 依赖注入(DI):Spring 使用 JavaBean 对象的 set 方法或构造方法来注入依赖对象
* Spring 生命周期:
+ Spring 容器启动
+ Bean 的创建和初始化
+ Bean 的依赖注入
+ Bean 的生命周期管理
* Spring@Resource 和 Autowired 区别:
+ @Resource 是 JavaEE 的注解,用于注入资源
+ @Autowired 是 Spring 的注解,用于注入依赖对象
* Spring 设计模式:
+ Factory 模式
+ Singleton 模式
+ Prototype 模式
* Spring 注解:
+ @Controller
+ @Service
+ @Repository
+ @Autowired
+ @Resource
微服务
* 微服务架构:
+ 服务发现
+ 服务注册
+ 服务调用
* SpringBoot 和 SpringCloud 的区别:
+ SpringBoot 是一个基于 Spring 的框架,用于快速构建基于 Spring 的应用程序
+ SpringCloud 是一个基于 SpringBoot 的分布式系统框架,用于构建微服务架构
Redis
* Redis 基础:
+ NoSQL 数据库
+ key-value 数据存储
+ 支持多种数据结构
* Redis 过期策略:
+ TTL(Time To Live)
+ SETEX 命令
* Redis 的缓存雪崩、缓存击穿、缓存穿透:
+ 缓存雪崩:大量缓存同时失效
+ 缓存击穿:缓存中没有数据,导致数据库压力增加
+ 缓存穿透:缓存中没有数据,导致缓存服务器压力增加
* Redis 持久化:
+ RDB(Redis Database)
+ AOF(Append-Only File)
* Redis 主从同步:
+ 全量同步
+ 增量同步
+ 是否第一次同步?
* Redis 哨兵:
+ Sentinel
+ Redis Cluster
* Redis 分片集群:
+ Horizontal Partitioning
+ Vertical Partitioning
* Redis 缓冲并发:
+ Redis Transaction
+ Redis Lock
微服务专题
* Eureka 和 Nacos 的区别:
+ Eureka: Netflix 公司开源的服务发现框架
+ Nacos:阿里巴巴开源的服务发现框架
* Nacos 配置热更新:
+ 动态配置更新
+ 实时配置推送
* Nacos 集群搭建步骤:
+ 部署 Nacos Server
+ 配置 Nacos 客户端
* Feign 远程调用:
+ 声明式 RESTful 客户端
+ 支持负载均衡和熔断
* Feign 优化:
+ 缓存优化
+ 熔断优化
分布式专题
*分布式事务基础:
+ ACID 原则
+ 两阶段提交
* Seata 基础:
+ 一个开源的分布式事务框架
+ 支持多种事务模型
* Seata-XA 模式:
+ 两阶段提交
+ 支持多个资源管理器
* Seata-AT 模式:
+ 一个事务管理器
+ 支持多个资源管理器
* Seata-TCC 模式:
+ 一个事务管理器
+ 支持多个资源管理器
* TCC 空回滚和业务悬挂:
+ 空回滚:回滚操作没有执行
+ 业务悬挂:业务操作没有完成
Gateway
* Gateway 服务网关:
+ 一个反向代理服务器
+ 支持负载均衡和熔断
* filter 过滤器及顺序:
+ 一个 Filter 链
+ 支持多个 Filter
* 网关过滤器工厂:
+ 一个工厂模式
+ 支持多个过滤器
* 全局过滤器:
+ 一个全局的 Filter
+ 支持多个 Filter
* 跨域问题:
+ 一个跨域访问问题
+ 支持 CORS
Kafka
* Kafka 专题:
+ 一个高性能的消息中间件
+ 支持高吞吐量和低延迟
* Kafka 如何保证消息可靠性:
+ Partition 机制
+ Replication 机制
* Kafka 的优点和缺点:
+ 优点:高性能、可扩展、支持多种语言
+ 缺点:学习曲线陡峭、需要大量资源
* 如何保证消息幂等:
+ 一个幂等操作
+ 支持多种幂等策略
* 为什么要使用消息队列?:
+ 解耦合应用程序
+ 提高系统的可扩展性
* 为什么要使用 Kafka?:
+ 高性能
+ 可扩展性强
RabbitMQ
* RabbitMQ 专题:
+ 一个高性能的消息中间件
+ 支持高吞吐量和低延迟
* RabbitMQ 五种模型:
+ point-to-point 模型
+ publish-subscribe 模型
+ request-response 模型
+ topic 模型
+ headers 模型
* 为什么使用消息队列(优缺点):
+ 优点:解耦合应用程序、提高系统的可扩展性
+ 缺点:增加系统的复杂性、需要大量资源
* RabbitMQ 持久化:
+ 一个持久化机制
+ 支持多种持久化策略
* RabbitMQ 如何保证消息的可靠性:
+ 一个可靠性机制
+ 支持多种可靠性策略
Mysql
* Mysql 专题:
+ 一个关系型数据库管理系统
+ 支持高性能和高可用性
* Mysql 优点:
+ 高性能
+ 可扩展性强
* Mysql 缺点:
+ 学习曲线陡峭
+ 需要大量资源
* Mysql 索引:
+ 一个索引机制
+ 支持多种索引类型
* Mysql 事务:
+ 一个事务机制
+ 支持多种事务类型
* Mysql 的引擎:
+ MyISAM
+ InnoDB
* Mysql 的 mvcc:
+ 一个多版本并发控制机制
+ 支持高并发
基础知识
* 多线程:
+ 一个线程机制
+ 支持多种线程模型
* 多线程创建:
+ 7 大参数
+ 支持多种线程创建方式
* 悲观锁和乐观锁:
+ 一个锁机制
+ 支持多种锁类型
* 基础集合:
+ 一个集合机制
+ 支持多种集合类型
* Java垃圾回收机制:
+ 一个垃圾回收机制
+ 支持多种垃圾回收策略
* GC是什么?:
+ 一个垃圾回收器
+ 支持多种垃圾回收方式
* JVM 调优的工具:
+ 一个 JVM 调优工具
+ 支持多种 JVM 调优方式
* 什么是程序计数器?:
+ 一个程序计数器
+ 支持多种程序计数器类型
* 什么双亲委派模型?:
+ 一个类加载机制
+ 支持多种类加载策略
不爱Coding
- 粉丝: 15
- 资源: 2
最新资源
- 基于JavaScript的在线考试系统(编号:65965158)(1).zip
- 五相电机双闭环矢量控制模型-采用邻近四矢量SVPWM-MATLAB-Simulink仿真模型包括: (1)原理说明文档(重要):包括扇区判断、矢量作用时间计算、矢量作用顺序及切时间计算、PWM波的生成
- Linux下的cursor安装包
- springboot-教务管理系统(编号:62528147).zip
- 3dmmods_倾城系列月白_by_白嫖萌新.zip
- SVPWM+死区补偿(基于电流极性)+高频注入法辨识PMSM的dq轴电感(离线辨识)-simulink
- 微信跑腿小程序的设计与实现
- 基于 Java 实现的上位机通讯程序,可与单片机进行数据交换
- screentshot-2024.12.22-20.45.35.jpg
- 基于c51单片机,汇编语言实现的时钟,有仿真电路图