![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试题
文章平均质量分 97
来一杯龙舌兰
学识尚浅
展开
-
【2024最新精简版】Kafka面试篇
设计一个消息状态表 , 主要包含 : 消息id , 消息内容 , 主题 , 发送时间, 签收状态等字段 , 发送方业务执行完毕之后 , 向消息状态表保存一条消息记录, 消息状态为未签收 , 之后再向Kafka发送消息 , 消费方接收消息消费完毕之后 , 向发送方发送一条签收消息 , 发送方接收到签收消息之后 , 修改消息状态表中的消息状态为已签收!之后通过定时任务扫描消息状态表中这些未签收的消息 , 重新发送消息, 直到成功为止 , 对于已经完成消费的消息定时清理即可!总结一下其实就是六个要点。原创 2024-06-19 08:44:37 · 1201 阅读 · 0 评论 -
【2024最新精简版】分布式任务调度(XXL-JOB)面试篇
XXL-JOB是一款基于Java开发的分布式任务调度框架,它可以用于定时任务和异步任务的调度,是一个轻量级分布式任务调度平台。他的核心思想是将任务分发到多个执行器节点上执行,通过调度中心进行任务分配和管理,实现任务的分布式调度。分布式任务调度:支持多台服务器上的任务调度,可以实现高可用性和负载均衡。可视化管理:提供Web控制台,可以查看任务调度的运行情况和执行日志,方便管理和监控。动态管理:支持动态添加、修改和删除任务,方便快捷。跨平台:支持Linux和Windows操作系统。原创 2024-06-24 08:42:10 · 1337 阅读 · 0 评论 -
【2024最新精简版】分布式事物面试篇
当某分支事务的try阶段阻塞时,可能导致全局事务超时而触发二阶段的cancel操作。在未执行try操作时先执行了cancel操作,这时cancel不能做回滚,就是空回滚。解决方案就是 : 执行cancel操作时,应当判断try是否已经执行,如果尚未执行,则应该空回滚。空回滚的解决方案就是保存一条空的回滚记录对于已经空回滚的业务,之前被阻塞的try操作恢复,继续执行try,就永远不可能confirm或cancel ,事务一直处于中间状态,这就是业务悬挂。原创 2024-06-23 15:53:13 · 1155 阅读 · 0 评论 -
【2024最新精简版】线程安全/多线程 面试篇
进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。在 Java 中,当我们启动 main 函数时其实就是启动了一个 JVM 的进程,而 main 函数所在的线程就是这个进程中的一个线程,也称主线程。如下图所示,在 Windows 中通过查看任务管理器的方式,我们就可以清楚看到 Windows 当前运行的进程(.exe文件的运行)。线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。原创 2024-06-22 09:49:56 · 862 阅读 · 0 评论 -
【2024最新精简版】网络_Linux操作系统面试篇
应⽤层:⽹络服务与最终⽤⼾的⼀个接⼝。包括电子邮件、网页浏览、文件传输表⽰层:数据的格式转换、加密解密和压缩解压会话层:建⽴、管理、终⽌会话。传输层:定义传输数据的协议端⼝号,负责端到端的数据传输。⽹络层:转发数据包数据链路层:比特流组织成数据帧物理层:传输原始比特流其中HTTP协议和HTTPS协议属于应用层 ,TCP协议和UDP协议属于传输层协议TCP协议位于传输层,作用是提供可靠的字节流服务,为了准确无误地将数据送达目的地,TCP协议采用三次握手策略。原创 2024-06-21 08:25:01 · 1045 阅读 · 0 评论 -
【2024最新精简版】ElasticSearch面试篇
正向索引就是先获取文档内容, 再判断文档内容中是否包含所需的关键词 , 这种查询方式就是正向索引 , MYSQL的模糊查询就是正向索引而倒排索引,是通过分词策略,形成了词条和文档的映射关系表,这种词条+映射表的结构即为倒排索引ES的倒排索引底层使用B+树的结构进行组织 , 每一个词条即为B+树的一个节点(不是叶子节点) , 叶子节点挂的就是词条所在文档的ID , 查询的时候先根据关键词查询文档ID , 在根据文档ID获取文档详情 , 因为走索引查询所以查询效率比正向索引要高的多默认情况下使用使用。原创 2024-06-20 08:25:34 · 1147 阅读 · 0 评论 -
【2024最新精简版】SpringCloud面试篇
微服务就是一个独立的 , 职责单一的服务应用程序,一般在项目开发过程中会按照业务和需求将项目拆分成N个微服务1.优点:松耦合,聚焦单一业务功能,无关开发语言,团队规模降低 , 扩展性好, 天然支持分库2.缺点:随着服务数量增加,管理复杂,部署复杂,服务器需要增多,服务通信和调用压力增大。原创 2024-06-17 08:34:37 · 1106 阅读 · 2 评论 -
【2024最新精简版】RabbitMQ面试篇
死信交换机和正常的交换机没有什么不同 , 如果一个包含死信的队列配置了属性,指定了一个交换机,那么队列中的死信就会投递到这个交换机中,而这个交换机称为死信交换机为队列绑定死信交换机 , 只需要设置队列属性即可。原创 2024-06-18 08:24:33 · 1084 阅读 · 0 评论 -
【2024最新精简版】Spring面试篇
BeanFactory : 是Bean工厂,BeanFactory是Spring中工厂的顶层规范,他是IOC容器的核心接口,它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。但是,Spring解决循环依赖是有一定限制的,首先就是要求互相依赖的Bean必须要是单例的Bean,另外就是依赖注入的方式不能都是构造函数注入的方式。CGLIB动态代理是基于父类的代理产生的代理对象是目标对象的子类 , 创建代理对象的方法。产生的代理对象和目标对象实现了相同的接口 , 创建代理对象的方法。原创 2024-06-14 08:54:07 · 1104 阅读 · 0 评论 -
【2024最新精简版】MyBatis面试篇
ORM又叫对象关系映射 , 建立实体对象和数据库表之间的映射关系。开发者操作对象就相当于操作数据库 , 自动生成相关的SQL语句实现对数据库的操作Hibernate(Nhibernate):Hibernate是最早的Java ORM框架之一,支持将对象映射到关系数据库中。提供了自动映射、事务管理、连接管理等功能。MyBatis:MyBatis提供了更加灵活的SQL语句编写方式,支持动态SQL语句生成和参数绑定等功能。是一个半自动化的ORM框架。原创 2024-06-15 13:11:08 · 1102 阅读 · 0 评论 -
【2024最新精简版】SpringBoot面试篇
阿里云OSS的Starter阿里云内容安全服务的StarterMinio的Starter聚合支付的StarterEMQX的Starter自己定义Starter也不难 , 我们在做的过程中 , 首先会梳理清楚这个Starter的核心功能和作用 , 将一些核心的操作封装为方法 , 封装到一个模板类中, 例如 :之类的 , 这个过程其实比较麻烦然后就抽取一些经常会变化的配置内容 , 例如 : 一些基本的连接地址配置 , 密钥配置等 , 提供属性配置类(XxxProperties) , 通过。原创 2024-06-16 10:15:43 · 1094 阅读 · 0 评论 -
【2024最新精简版】Redis面试篇
refis分布式锁的一种算法,选择多个独立的redis实例,生成一个唯一的锁标识通过redis的setnx命令来获取锁,获取锁之后需要发送续约请求,来延长锁的过期时间,如果不需要锁的时候,向所有持锁的redis实例发送释放锁的请求,释放锁资源,避免单点故障导致锁不可用的问题Redis 的主从同步(replication)机制,允许 Slave 从 Master 那里,通过网络传输拷贝到完整的数据备份,从而达到主从机制。原创 2024-06-13 17:58:02 · 1622 阅读 · 0 评论