2025
316
- 从 MySQL 获取数据,是从磁盘读取的吗?(buffer pool) 从网关再到各个后端服务,如何设置 RPC 的超时时间,要考虑哪些问题? 单体应用、SOA、微服务架构有什么区别? 对数据库进行分库分表可能会引发哪些问题? 分布式和微服务有什么区别? 分布式锁一般都怎样实现? 分布式锁在未完成逻辑前过期怎么办? 负载均衡的实现方式有哪些? 负载均衡算法有哪些? 假设有一个 1G 大的 HashMap,此时用户请求过来刚好触发它的扩容,会怎样?让你改造下 HashMap 的实现该怎样优化? 了解 Seata 的实现原理吗? 两百万个生产者发送消息,仅一个消费者,如何高效设计锁? 每次进入订单列表页面都会触发全量同步? 你们的服务是怎么做日志收集的? 你是怎么理解微服务的? 你在项目中使用的 Redis 客户端是什么? 你知道 Nacos 配置中心的实现原理吗? 朋友圈点赞功能如何实现,简单说说? 请详细描述 MySQL 的 B+ 树中查询数据的全过程 让你设计一个 RPC 框架,怎么设计? 让你设计一个短链系统,怎么设计? 让你设计一个消息队列,怎么设计? 让你实现一个订单超时取消功能,怎么设计? 让你实现一个分布式单例对象,如何实现? 如果 MySQL 中没有 MVCC,会有什么影响? 如果没有内存限制,如何快速、安全地将 1000 亿条数据插入到 HashMap 中? 如果让你统计每个接口每分钟调用次数怎么统计? 如果一笔订单,用户在微信和支付宝同时支付,会怎么样? 如果组长要求你主导项目中的分库分表,大致的实施流程是? 如何避免用户重复下单(多次下单未支付,占用库存) 如何处理 MySQL 的主从同步延迟? 如何解决 Elasticsearch 集群中的双 Master 问题? 如何解决 Redis 中的热点 key 问题? 如何实现 Elasticsearch 集群的滚动升级? 如何使用 Elasticsearch 实现机器学习模型的推理? 如何使用 MySQL 的 EXPLAIN 语句进行查询分析? 如何使用 Redis 快速实现布隆过滤器? 如何使用 Redis 快速实现排行榜? 如何使用 Redis 统计大量用户唯一访问量(UV)? 如何通过 Elasticsearch 实现分布式事务? 如何在 Elasticsearch 中设计和实现数据的多层次缓存机制? 如何在 MySQL 中避免单点故障? 如何在 MySQL 中监控和优化慢 SQL? 如何在 MySQL 中实现读写分离? 如何在 Redis 中实现队列和栈数据结构? 如何在附近 100w 的商户中,快速找到离你最近的 5 家商户? 如何在确保数据一致性的前提下更新 Elasticsearch 的倒排索引? 商家想要知道自己店铺卖的最好的 top 50 商品,如何实现这个功能? 什么情况下需要使用分布式事务,有哪些方案? 什么是 Eureka? 什么是 Feign? 什么是 FST?在 Elasticsearch 中有哪些应用场景? 什么是 Hystrix? 什么是 Java 中的线程同步? 什么是 MySQL 的主从同步机制?它是如何实现的? 什么是 Seata? 什么是倒排表的 FOR 和 RBM 压缩算法?工作原理分别是什么? 什么是分库分表?分库分表有哪些类型(或策略)? 什么是服务降级? 什么是服务熔断? 什么是服务网格? 什么是服务限流? 什么是服务雪崩? 什么是灰度发布、金丝雀部署以及蓝绿部署? 什么是配置中心?有哪些常见的配置中心? 什么是熔断器?为什么需要熔断器? 什么是微服务网关?为什么需要服务网关? 数据库的脏读、不可重复读和幻读分别是什么? 说说 Redisson 分布式锁的原理? 说一下你对于 DDD 的了解? 微服务中远程调用的超时时间应该设置为多少合适? 为什么 Feign 第一次调用耗时很长? 为什么 MySQL 选择使用 B+ 树作为索引结构? 为什么 Redis 设计为单线程?6.0 版本为何引入多线程? 为什么需要服务注册发现? 为什么需要负载均衡? 为什么需要在微服务中使用链路追踪?Spring Cloud 可以选择哪些微服务链路追踪方案? 为什么在 MySQL 中不推荐使用多表 JOIN? 线上发现 Redis 机器爆了,如何优化? 线上数据库连接池爆满问题排查 线上消息队列故障,兜底改造方案 详细描述一条 SQL 语句在 MySQL 中的执行过程。 项目上需要导入一个几百万数据 excel 文件到数据库中,有哪些注意点? 项目上有个导出 excel 场景发现很慢,怎么优化? 一笔订单,在取消的那一刻用户刚好付款了,怎么办? 在 Java 中主线程如何知晓创建的子线程是否执行成功? 在 MySQL 中建索引时需要注意哪些事项? 在 Redis 集群中,如何根据键定位到对应的节点? Consul 是什么? Elasticsearch 中的 Fielddata 是什么?如何优化其性能? Eureka 的实现原理说一下? Eureka、Zookeeper、Nacos、Consul 的区别? Feign 和 Dubbo 的区别? Feign 和 OpenFeign 的区别? Feign 是如何实现负载均衡的? HashMap 是不是线程安全的?如果让你来实现一个线程安全的 HashMap 你要怎么设计?如果不用加锁你要怎么设计? HTTP 与 RPC 之间的区别? Java 线程池核心线程数在运行过程中能修改吗?如何修改? Java 线程池内部任务出异常后,如何知道是哪个线程出了异常? Java 线程池中 shutdown 与 shutdownNow 的区别是什么? Java 写入文件到磁盘会经历哪些过程? Java 中 Thread.sleep 和 Thread.yield 的区别? Java 中如何创建多线程? JDK 序列化问题排查 MySQL 的 Change Buffer 是什么?它有什么作用? MySQL 的 Doublewrite Buffer 是什么?它有什么作用? MySQL 的存储引擎有哪些?它们之间有什么区别? MySQL 的覆盖索引是什么? MySQL 的乐观锁和悲观锁是什么? MySQL 的索引类型有哪些? MySQL 的索引下推是什么? MySQL 默认的事务隔离级别是什么?为什么选择这个级别? MySQL 三层 B+ 树能存多少数据? MySQL 事务的二阶段提交是什么? MySQL 是如何实现事务的? MySQL 索引的最左前缀匹配原则是什么? MySQL 在设计表(建表)时需要注意什么? MySQL 中 如果我 select * from 一个有 1000 万行的表,内存会飙升么? MySQL 中 count(*)、count(1) 和 count(字段名) 有什么区别? MySQL 中 DELETE、DROP 和 TRUNCATE 的区别是什么? MySQL 中 INNER JOIN、LEFT JOIN 和 RIGHT JOIN 的区别是什么? MySQL 中 int(11) 的 11 表示什么? MySQL 中 varchar 和 char 有什么区别? MySQL 中的 Log Buffer 是什么?它有什么作用? MySQL 中的 MVCC 是什么? MySQL 中的回表是什么? MySQL 中的事务隔离级别有哪些? MySQL 中的数据排序是怎么实现的? MySQL 中的索引数量是否越多越好?为什么? MySQL 中如果发生死锁应该如何解决? MySQL 中如何解决深度分页的问题? MySQL 中如何进行 SQL 调优? MySQL 中使用索引一定有效吗?如何排查索引效果? MySQL 中有哪些锁类型? MySQL 中长事务可能会导致哪些问题? MySQL InnoDB 引擎中的聚簇索引和非聚簇索引有什么区别? Nacos 中的 Namespace 是什么? Redis 的 hash 是什么? Redis 的 ListPack 数据结构是什么? Redis 的 Lua 脚本功能是什么?如何使用? Redis 的 Pipeline 功能是什么? Redis 的 Red Lock 是什么?你了解吗? Redis 的持久化机制有哪些? Redis 的订阅发布功能是什么?你了解吗? Redis 的哨兵机制是什么? Redis 的虚拟内存(VM)机制是什么? Redis 复制延迟的常见原因有哪些? Redis 和 Memcached 有哪些区别? Redis 集群的实现原理是什么? Redis 集群会出现脑裂问题吗? Redis 实现分布式锁时可能遇到的问题有哪些? Redis 事务与关系型数据库事务的主要区别是什么? Redis 数据过期后的删除策略是什么? Redis 通常应用于哪些场景? Redis 为什么这么快? Redis 性能瓶颈时如何处理? Redis 在生成 RDB 文件时如何处理请求? Redis 支持事务吗?如何实现? Redis 中 EMBSTR 对象的阈值设置为何为 44?其调整历史是什么? Redis 中常见的数据类型有哪些? Redis 中的 Big Key 问题是什么?如何解决? Redis 中的 Geo 数据结构是什么? Redis 中的 Ziplist 和 Quicklist 数据结构的特点是什么? Redis 中的缓存击穿、缓存穿透和缓存雪崩是什么? Redis 中的内存碎片化是什么?如何进行优化? Redis 中如何保证缓存与数据库的数据一致性? Redis 中如何实现分布式锁? Redis 中跳表的实现原理是什么? Redis 中有哪些内存淘汰策略? Redis 中原生批处理命令(MSET、MGET)与 Pipeline 的区别是什么? Redis 主从复制的常见拓扑结构有哪些? Redis 主从复制的实现原理是什么? Redis 字符串类型的最大值大小是多少? Redis Cluster 模式与 Sentinel 模式的区别是什么? Redis String 类型的底层实现是什么?(SDS) Seata 的事务回滚是怎么实现的? Seata 支持哪些模式的分布式事务? Sentinel 是怎么实现集群限流的? Sentinel 是怎么实现限流的? Sentinel 与 Hystrix 的区别是什么? Spring Boot 和 Spring Cloud 之间的区别? Spring Cloud 的优缺点有哪些? Spring Cloud 如何实现服务注册? Spring Cloud 由什么组成? Spring Cloud 有哪些注册中心? Spring Cloud Config 是什么? Spring Cloud Gateway 500 问题排查 1000 个任务,每个任务 0.1s,最大响应时间 1s,线程池参数怎么设置? 不分配内存的指针类型能在 Go 语言中使用吗? 当 Java 的 synchronized 升级到重量级锁后,所有线程都释放锁了,此时它还是重量级锁吗? 即时通讯项目中怎么实现历史消息的下拉分页加载? 简单说说 Netty 的零拷贝机制? 简单说说 Netty 的线程模型,并且其是如何完成工作的? 接口变慢了应该如何排查?导致接口变慢的原因有哪些? 介绍一下 Reactor 线程模型? 你了解 Java 线程池的原理吗? 你了解 Java 中的读写锁吗? 你了解时间轮(Time Wheel)吗?有哪些应用场景? 你们生产环境的 MySQL 中使用了什么事务隔离级别?为什么? 你使用过 Java 的累加器吗? 你使用过 Java 中的哪些原子类? 你使用过 Java 中的哪些阻塞队列? 你使用过哪些 Java 并发工具类? 你项目里为什么选择 Gateway 作为网关? 让你设计一个 HashMap ,怎么设计? 让你设计一个分布式 ID 发号器,怎么设计? 让你设计一个文件上传系统,怎么设计? 让你设计一个线程池,怎么设计? 如果发现 Redis 内存溢出了?你会怎么做?请给出排查思路和解决方案 如何合理地设置 Java 线程池的线程数? 如何设计一个点赞系统? 如何设计一个秒杀功能? 如何实现数据库的不停服迁移? 如何优化 Java 中的锁的使用? 如何在 Java 中控制多个线程的执行顺序? 什么是 Java 的 CAS(Compare-And-Swap)操作? 什么是 Java 的 CompletableFuture? 什么是 Java 的 CountDownLatch? 什么是 Java 的 CyclicBarrier? 什么是 Java 的 ForkJoinPool? 什么是 Java 的 happens-before 规则? 什么是 Java 的 Semaphore? 什么是 Java 的 StampedLock? 什么是 Java 的 Timer? 什么是 Java 的 TransmittableThreadLocal? 什么是 Java 内存模型(JMM)? 什么是 Java 中的 ABA 问题? 什么是 Java 中的锁自适应自旋? 什么是 Java 中的原子性、可见性和有序性? 什么是 Java 中的指令重排? 什么是 Netty,它在网络编程中解决了什么问题? 什么是 Spring Cloud Gateway? 什么是 Spring Cloud Zuul? 什么是 Write-Ahead Logging (WAL) 技术?它的优点是什么?MySQL 中是否用到了 WAL? 什么是令牌桶算法?工作原理是什么?使用它有哪些优点和注意事项? 什么是数据库的逻辑删除?数据库的物理删除和逻辑删除有什么区别? 什么是数据库的逻辑外键?数据库的物理外键和逻辑外键各有什么优缺点? 什么是数据库的视图? 什么是数据库的游标? 什么是限流?限流算法有哪些?怎么实现的? 数据库的三大范式是什么? 说说 AQS 吧? 说说你知道的几种 I/O 模型 说说什么是 API 网关?它有什么作用? 说一下 Netty 的应用场景? 说一下 TCP 半包和粘包问题? 为什么 Java 中的 ThreadLocal 对 key 的引用为弱引用? 为什么 Netty 不使用 ThreadLocal 而是自定义了一个 FastThreadLocal ? 为什么 Redis Zset 用跳表实现而不是红黑树?B+树? 为什么阿里巴巴的 Java 手册不推荐使用存储过程? 为什么不推荐在 MySQL 中直接存储图片、音频、视频等大容量内容? 为什么不选择使用原生的 NIO 而选择使用 Netty 呢? 为什么在 Java 中需要使用 ThreadLocal? 线程的生命周期在 Java 中是如何定义的? 线上 CPU 飙高如何排查? 相比于 Oracle,MySQL 的优势有哪些? 有一张表里面有三个字段,分别是(id,开始时间,结束时间),表中数据量为 5000W,如何统计流量最大的时候有多少条数据? 在 MySQL 中,你使用过哪些函数? 在 MySQL 中存储金额数据,应该使用什么数据类型? 在 Netty 中,什么是 Channel ? 什么是 ChannelHandlerContext? 在什么情况下,不推荐为数据库建立索引? 怎么分析 JVM 当前的内存占用情况?OOM 后怎么分析? 针对支付宝最近出现的八折优惠事故,说说如何才能避免类似事件的发生? Dubbo 和 Spring Cloud Gateway 有什么区别? Go 语言的接口是怎么实现的? Go 语言切片的容量是如何增长的? Go 语言使用断言时会发生拷贝吗? Go 语言中 defer 的变量快照在什么情况下会失效? Go 语言中 init() 函数在什么时候执行? Go 语言中触发异常的场景有哪些? Go 语言中的局部变量是分配在栈上还是堆上? Go 语言中如何访问私有成员? Go 语言中所有的 T 类型都有 *T 类型吗? Go 语言中通过指针变量 p 访问其成员变量 title,有哪几种方式? Go 语言中怎么实现闭包?闭包的主要应用场景是什么? GO语言中非接口的任意类型T都能调用*T的方法么?反过来呢? Java 并发库中提供了哪些线程池实现?它们有什么区别? Java 创建线程池有哪些方式? Java 的 synchronized 是怎么实现的? Java 线程安全的集合有哪些? Java 线程池有哪些拒绝策略? Java 中 ReentrantLock 的实现原理是什么? Java 中 Thread.sleep(0) 的作用是什么? Java 中 volatile 关键字的作用是什么? Java 中的 DelayQueue 和 ScheduledThreadPool 有什么区别? Java 中的 final 关键字是否能保证变量的可见性? Java 中的 InheritableThreadLocal 是什么? Java 中的 synchronized 轻量级锁是否会进行自旋? Java 中的 ThreadLocal 是如何实现线程资源隔离的? Java 中的 wait、notify 和 notifyAll 方法有什么作用? Java 中的线程安全是什么意思? Java 中的序列化和反序列化是什么? Java 中什么情况会导致死锁?如何避免? Java 中使用 ThreadLocal 的最佳实践是什么? Java 中线程之间如何进行通信? MySQL 插入一条 SQL 语句,redo log 记录的是什么? MySQL 的查询优化器如何选择执行计划? MySQL 数据库的性能优化方法有哪些? MySQL 中 `LIMIT 100000000, 10` 和 `LIMIT 10` 的执行速度是否相同? MySQL 中 AUTO_INCREMENT 列达到最大值时会发生什么? MySQL 中 DATETIME 和 TIMESTAMP 类型的区别是什么? MySQL 中 EXISTS 和 IN 的区别是什么? MySQL 中 InnoDB 存储引擎与 MyISAM 存储引擎的区别是什么? MySQL 中 TEXT 类型最大可以存储多长的文本? MySQL 中 VARCHAR(100) 和 VARCHAR(10) 的区别是什么? Netty 采用了哪些设计模式? Netty 如何解决 JDK NIO 中的空轮询 Bug? Netty 是如何解决粘包和拆包问题的? Netty 性能为什么这么高? Redis 源码中有哪些巧妙的设计,举几个典型的例子? Redis Zset 的实现原理是什么? Redisson 看门狗(watch dog)机制了解吗? Spring Cloud 可以选择哪些 API 网关? SQL 中 select、from、join、where、group by、having、order by、limit 的执行顺序是什么? Synchronized 和 ReentrantLock 有什么区别? ThreadLocal 的缺点?
2024
2
2019
6
2018
26
- 12.字节码的初步认识,来自i=i++,i=++i原理分析
- 学习能力
- 11.mybatis原理分析
- 10.二叉树.B+树.红黑树等各种树
- 14.Java 之 JUC
- 阻止事件冒泡,阻止默认事件,event.stopPropagation()和event.preventDefault(),return false的区别
- 9.Java中的锁原理、锁优化、CAS、AQS
- 8.深入理解springAOP原理
- 7.深入理解springIoc原理
- 6.ConcurrentHashMap原理
- tcp三次握手四次挥手
- 15.spring bean的生命周期 你连清晨都控制不了,何谈人生?
- 5.LinkedHashSet的实现原理
- 4.HashSet的实现原理
- 3.LinkedHashMap的实现原理
- 2.HashMap的实现原理
- 1.ArrayList的实现原理
- 5.编译器自动优化导致代码可以先后写的问题
- 3.JVM内存区域详解(Eden Space、Survivor Space、Old Gen、Code Cache和Perm Gen)
- 程序员最艰巨的十大任务
- 1.String的split小记
- 2.强引用、软引用、弱引用、虚引用
- 4.mybatis3 中provider的使用 centos安装常用工具
- 读书
2017
3
2016
4
2013
1