更新Timeline_202311
内容修改Or更新 题目 更新时间 更新内容 ✅什么是ThreadLocal,如何实现的? 11-28 20:19 笔误修改 ✅什么是不可变模式,有哪些应用? 11-28 20:19 错别字修改 ✅char和varchar的区别? 11-28 20:18 内容修改(避免歧义) ✅Java中的四种引用有什么区别? 11-28 20:16 更换配图 ✅怎么实现分布式Session? 11-28 20:07 注明常用方案 ✅什么是可重入锁,怎么实现可重入锁? 11-28 20:06 笔误修改 ✅基于本地消息表实现分布式事务保证最终一致性 11-28 20:05 错别字修改 ✅CompletableFuture的底层是如何实现的? 11-27 22:01 内容调整(减少歧义) ✅MySQL只操作同一条记录,也会发生死锁吗? 11-27 21:57 内容修改(更容易理解) ✅如何基于MQ实现分布式事务 11-27 21:53 内容修改(更容易理解) ✅topK问题如何解答? 11-27 21:51 内容修改(更容易理解) ✅int a = 1 是原子性操作吗 11-27 21:50 内容修改(更容易理解) ✅3年经验,智慧园区,mysql,Redis 11-26 18:25 新增面经 交易主链路提供风控决策要求RT 5ms的技术方案 11-26 18:05 新增专属分享 ✅Redis的事务和Lua之间有哪些区别? 11-26 17:49 新增问题+补充答案 ✅什么是Redis的Pipeline,和事务有什么区别? 11-26 17:27 新增问题+补充答案 ✅锁和分布式锁的核心区别是什么? 11-26 17:01 新增问题+补充答案 ✅高并发场景中,乐观锁和悲观锁哪个更适合? 11-26 16:52 新增问题+补充答案 ✅TCP和UDP的区别是什么? 11-26 16:50 新增问题+补充答案 ✅为什么不能在try-catch中捕获子线程的异常? 11-26 16:21 错别字修改 ✅RocketMQ如何实现延时消息? 11-26 16:15 内容补充(避免歧义) ✅Spring Bean的初始化过程是怎么样的? 11-26 16:11 笔误修改 ✅Redis的持久化机制是怎样的? 11-26 16:10 笔误修改 ✅简单介绍一下DNS? 11-26 16:09 内容补充(避免歧义) ✅Redis如何实现发布/订阅? 11-26 16:07 内容补充(Stream相关) ✅如何保证ES和数据库的数据一致性? 11-26 15:55 笔误修改 ✅乐观锁与悲观锁如何实现? 11-26 15:44 内容补充(表达更严谨) ✅如何实现缓存的预热? 11-25 17:42 新增问题+补充答案 ✅如何在Spring启动过程中做缓存预热 11-25 17:11 新增问题+补充答案 ✅为什么不推荐使用外键? 11-25 16:23 错别字修改 ✅SQL执行计划分析的时候,要关注哪些信息? 11-25 16:16 内容补充(更容易理解) ✅SpringBoot的启动流程是怎么样的? 11-25 16:11 笔误修改 ✅什么是Java内存模型? 11-25 16:08 内容补充(表达更严谨) ✅Java中类加载的过程是怎么样的? 11-25 16:01 内容调整 ✅最大努力通知&事务消息&本地消息表三者区别是什么? 11-25 15:46 笔误修改 ✅基于EasyExcel+线程池解决POI文件导出时的内存溢出及超时问题 11-19 16:03 新增项目亮点&难点 ✅POI导致内存溢出排查 11-19 15:22 新增线上问题排查 ✅如何针对大Excel做文件读取? 11-19 15:01 新增问题+补充答案 ✅为啥POI的SXSSFWorkbook占用内存更小? 11-19 14:34 新增问题+补充答案 ✅POI的如何做大文件的写入 11-19 14:00 新增问题+补充答案 ✅什么是POI,为什么它会导致内存溢出? 11-19 13:02 新增问题+补充答案 ✅通过热点数据预热、多级缓存、异步化编程等方式解决热门数据接口耗时长问题 11-19 13:00 补充学习资料 ✅SpringBoot是如何实现main方法启动Web项目的? 11-18 16:19 增加链接 ✅SpringBoot的启动流程是怎么样的? 11-18 16:19 新增问题+补充答案 ✅什么是MVC 11-18 14:05 增加链接 ✅@PostConstruct、init-method和afterPropertiesSet执行顺序 11-17 22:16 新增问题+补充答案 ✅Spring Bean的初始化过程是怎么样的? 11-17 23:44 内容重构 ✅Spring Bean的生命周期是怎么样的? 11-17 22:44 新增问题+补充答案 ✅什么是GEO,有什么用? 11-17 22:46 新增代码示例 ✅Redisson和Jedis有啥区别?如何选择? 11-17 22:42 新增问题+补充答案 ✅如何保证多线程下 i++ 结果正确? 11-17 22:03 内容调整(代码锁粒度修改) ✅SQL执行计划分析的时候,要关注哪些信息? 11-17 22:02 内容调整(更容易理解) ✅Java中的四种引用有什么区别? 11-17 22:01 内容补充(表达更严谨) ✅Redis 支持哪几种数据类型? 11-17 21:57 内容补充(应用场景) ✅和外部机构交互如何防止被外部服务不可用而拖垮 11-17 21:54 错别字修改 ✅三种工厂模式的区别和特点 11-17 21:51 笔误修改 ✅数据库死锁如何解决? 11-17 21:49 内容补充(更容易理解) ✅什么是SLA? 11-17 21:44 笔误修改 ✅能不能谈谈你对线程安全的理解? 11-17 21:42 内容补充(虚拟线程) ✅什么是多线程中的上下文切换? 11-17 21:41 内容补充(虚拟线程) ✅Java注解的作用是啥 11-17 21:29 错别字修改 ✅为了防止接口被恶意调用,设计API秘钥方式提升接口安全性,并通过滑动窗口粗实现接口调用限流。 11-17 21:24 错别字修改 ✅数据库连接池满排查过程 11-17 21:23 内容补充(举例说明) ✅Spring解决循环依赖一定需要三级缓存吗? 11-17 21:21 内容补充(更容易理解) ✅Java中有了基本类型为什么还需要包装类? 11-17 21:17 内容补充(各个类型长度及范围) ✅介绍一下Redis的集群模式? 11-17 21:11 cluster重新绘图+内容补充 ✅什么是热Key问题,如何解决热key问题 11-17 20:54 笔误修改 ✅Redis如何实现发布/订阅? 11-17 20:53 笔误修改 ✅数据库逻辑删除后,怎么做唯一性约束? 11-17 20:36 内容补充(更容易理解) ✅消息队列使用拉模式好还是推模式好?为什么? 11-17 20:27 内容补充(推模式限制) ✅什么是happens-before原则? 11-17 20:17 错别字修改 ✅分表字段如何选择? 11-17 20:16 内容补充(减少歧义) ✅什么是泛型?有什么好处? 11-17 20:09 内容补充(减少歧义) ✅buffer pool的读写过程是怎么样的? 11-17 20:07 内容补充(图片) ✅什么是Stop The World? 11-17 20:01 内容补充(更容易理解) 你的项目有哪些难点&亮点? 11-17 14:10 内容补充 ✅为什么JDK 15要废弃偏向锁? 11-16 23:18 内容补充(新增解释) ✅介绍一下Spring的AOP 11-16 23:00 内容调整(AOP实现部分重构) ✅如何解决Redis和数据库的一致性问题? 11-14 22:10 内容补充(新增一点解释) ✅为什么需要延迟双删,两次删除的原因是什么? 11-14 22:08 内容补充(新增一点解释) ✅22年毕业,培训了2个月Java,多线程,Spring 11-12 16:19 新增面经 ✅Spring中@Service 、@Component、@Repository等注解区别是什么? 11-12 16:17 新增问题+补充答案 ✅通过热点数据预热、多级缓存、异步化编程等方式解决热门数据接口耗时长问题 11-1216:05 新增项目亮点&难点 ✅为了防止接口被恶意调用,设计API秘钥方式提升接口安全性,并通过滑动窗口粗实线接口调用限流。 11-12 15:36 新增项目亮点&难点 ✅如何优化 ElasticSearch 搜索性能? 11-12 15:00 补充答案 ✅happens-before和as-if-serial有啥区别和联系? 11-12 14:35 新增问题+补充答案 ✅什么是happens-before原则? 11-12 14:30 新增问题+补充答案 ✅MySQL主从复制的过程 11-11 23:09 重新绘图 ✅如何基于Redisson实现一个延迟队列 11-11 23:06 内容补充(实现原理解释) ✅基于本地消息表实现分布式事务保证最终一致性 11-11 22:56 错别字修改 ✅Redis的持久化机制是怎样的? 11-11 22:47 内容补充(Always也会丢数据) ✅JVM如何保证给对象分配内存过程的线程安全? 11-11 22:38 内容补充(TLAB废弃后) ✅HTTPS和HTTP的区别是什么? 11-11 22:09 笔误修改 ✅什么是Zuul网关,有什么用? 11-11 22:06 笔误修改 ✅Spring中的事务事件如何使用? 11-11 22:04 错别字修改 ✅注册中心如何选型? 11-11 21:58 内容补充(Nacos+Distro) ✅什么是RPC,和HTTP有什么区别? 11-11 16:47 新增链接 ✅为什么RPC要比HTTP更快一些? 11-11 16:47 新增问题+补充答案 ✅buffer pool的读写过程是怎么样的? 11-11 16:36 补充答案 ✅InnoDB的一次更新事务是怎么实现的? 11-11 16:20 内容调整(减少歧义) ✅什么是SQL注入攻击?如何防止 11-11 15:22 新增问题+补充答案 ✅为什么预编译可以避免SQL注入? 11-11 15:22 新增问题+补充答案 ✅#和$的区别是什么?什么情况必须用$ 11-11 14:54 内容补充($与SQL注入) ✅ConcurrentHashMap是如何保证线程安全的? 11-10 20:59 笔误修改 ✅为什么建议用多用组合少用继承? 11-10 20:15 新增问题+补充答案 ✅Java的堆是如何分代的?为什么分代? 11-09 21:10 笔误修改 ✅如何用Redisson实现分布式锁? 11-09 21:06 错别字修改 ✅如果单表数据量大,只能考虑分库分表吗? 11-07 21:42 笔误修改 ✅让你设计一个秒杀系统,你会考虑哪些问题? 11-05 22:37 笔误修改 ✅如何破坏单例模式? 11-05 17:02 错别字修改 ✅JDK1.8中HashMap有哪些改变? 11-05 16:37 新增问题+补充答案 ✅为什么logger.warn()之前要使用logger.isWarnEnabled()? 11-05 15:52 新增问题+补充答案 ✅为什么不推荐使用外键? 11-05 15:31 新增问题+补充答案 ✅为什么HashMap的Cap是2^n,如何保证? 11-05 15:07 错别字修改 ✅jstack命令的作用是什么? 11-05 15:06 笔误修改 ✅什么是三色标记算法? 11-05 14:55 笔误修改 ✅HashMap用在并发场景中有什么问题? 11-05 14:42 错别字修改 ✅如何基于Redis实现滑动窗口限流? 11-05 14:40 内容补充(并发下lua的实现) ✅Java注解的作用是啥 11-05 14:33 错别字修改 ✅JVM有哪些垃圾回收算法? 11-05 14:28 笔误修改 ✅JVM如何判断对象是否存活? 11-05 14:26 内容补充(循环引用问题) ✅Java中的类什么时候会被加载? 11-05 14:23 内容补充(新增一个卸载条件) ✅5年经验,流计算引擎、配置中心、流程编排、RPA 11-04 18:48 新增面经 ✅23年毕业,电商运营平台,mysql,mq,redis 11-04 18:43 新增面经 ✅为什么不能在try-catch中捕获子线程的异常? 11-04 18:22 新增问题+补充答案 ✅Java线程出现异常,进程为啥不会退出? 11-04 18:10 新增问题+补充答案 ✅如何实现主线程捕获子线程异常 11-04 17:34 新增问题+补充答案 ✅Innodb加索引,这个时候会锁表吗? 11-04 16:58 内容调整 ✅什么是OnlineDDL 11-04 16:55 新增问题+补充答案 ✅什么是MySQL的字典锁? 11-04 16:47 新增问题+补充答案 ✅where条件的顺序影响使用索引吗? 11-03 23:01 新增问题+补充答案 ✅你平常是怎么查看日志和做分析的? 11-03 22:45 新增问题+补充答案 ✅Java发生了OOM一定会导致JVM 退出吗? 11-03 22:31 新增问题+补充答案 ✅如何用Redis实现朋友圈点赞功能? 11-03 22:10 内容调整(删除多余描述) ✅什么是排他锁和共享锁? 11-03 21:54 笔误修改 ✅什么是聚簇索引和非聚簇索引? 11-03 21:50 笔误修改 ✅Kafka如何保证消息不丢失? 11-03 21:33 内容补充(acks介绍) ✅Java是值传递还是引用传递? 11-03 21:29 样式调整 ✅什么是分布式系统的一致性? 11-03 21:25 内容调整(更容易理解) ✅为什么默认RR,大厂要改成RC? 11-03 21:22 错别字修改 ✅怎么做数据对账? 11-03 21:19 笔误修改 ✅MySQL主从复制的过程 11-03 21:13 内容调整(主备是pull的) ✅有三个线程T1,T2,T3如何保证顺序执行? 11-03 21:04 笔误修改 ✅Redis为什么要自己定义SDS? 11-03 20:56 内容补充(SDS的全称) ✅不用redis分布式锁, 如何防止用户重复点击? 11-02 21:49 内容补充(布隆过滤器适合原因) ✅Java中的集合类有哪些?如何分类的? 11-02 21:48 内容补充(stream用于迭代) ✅为什么说枚举是实现单例最好的方式? 11-02 21:46 错别字修改