Kafka常见面试题
Kafka常见面试题 如何保证Kafka消息不丢失 和RabbitMQ相似,在Kafka里面如果有防止消息不丢失,还是从以下3个方面入手解决。 防止生产者发送消息到Broker导致的消息丢失 设置异步发送 // 同步发送
RecordMetadata recordMetadata = kafkaPr
RabbitMQ常见面试题
RabbitMQ常见面试题 RabbitMQ如何保证消息不丢失 RabbitMQ消息丢失的三种情况 消息丢失的三种情况: 消息未到达交换机 消息到达交换机但是未到达队列,或到达队列但是未莱得及消费 消费者未接收到消息 解决以上问题,可以从以下三个方面解决 生产者确认机制 RabbitMQ提供了pub
Spring框架常见面试题
Spring框架常见面试题 Spring框架中的单例bean是线程安全的吗? 答案显然是否,但是为啥我们平时使用的是并没刻意去注意线程安全问题呢?其实最主要的原因是在于我们平时使用的时候大多注入的是无状态的Bean对象,无状态的Bean对象天然就是线程安全的。 无状态和有状态 简单来说:无状态 Be
MySQL常见面试题
MySQL常见面试题 :泡泡_滑稽::泡泡_啊: 如何定位慢查询 解决方案 使用成熟的开源工具: 调试工具:Arthas 运维工具:Prometheus 、Skywalking MySQL自带的慢日志(调试阶段开启,生产阶段关闭) 慢查询日志记录了所有执行时间超过指定参数(long_query_ti
Redis面试常见题
Redis面试常见题 缓存穿透 定义:查询一个不存在的数据,DB查询不到数据也不会直接写入缓存,就会导致每次请求都查数据库(如果有人恶意攻击,会击垮数据库)。 解决办法: 缓存空数据,查询返回的数据为空,仍然把这个空结果进行缓存 优点:实现简单。 缺点:消耗内存,可能发生数据不一致的问题 使用布隆过
JUC面试题之交替打印
JUC面试题之交替打印 在juc笔试题中很容易考到一种题型就是多个线程交替打印,其实这个问题有很多的解题办法。我这里都打个样。 题目:3个线程,分别打印a,b,c。但是要求三个线程依次打印。循环五次。 方法一:使用wait-notify package com.hanserwei.juc;
imp
MySQL的最左原则
MySQL的最左原则 一、简述 MySQL索引的最左原则指的是,当使用多列索引时,MySQL会优先使用索引中最左边的列。如果查询条件中包含了索引的最左列,那么MySQL会使用这个索引来加速查询。 更具体的描述:建立一个索引,对于索引中的字段,mysql会一直向右匹配直到遇到范围查询(>、<、betw