2026年09月的文章 第35页

mysql

MySQL Buffer Pool 工作原理与命中率优化

pren 发布于 2026-09-22

在 MySQL 的众多组件中,InnoDB 存储引擎的 Buffer Pool(缓冲池)无疑是最核心的内存结构之一。它直接决定了数据库的读写性能,也是面试中高频出现的考点。很多候选人能说出“Buffer Pool 缓存数据和索引”,但一旦追问“它如何工作”“命中率怎么算”“如何优...

阅读(17)评论(0)赞 (0)

redis

Redis Cluster 的 MOVED 和 ASK 重定向有什么区别

pren 发布于 2026-09-22

Redis Cluster 是 Redis 官方提供的分布式解决方案,通过分片(sharding)将数据分散到多个节点上。在集群模式下,客户端访问某个 key 时,可能会被重定向到另一个节点。理解 MOVED 和 ASK 这两种重定向机制的差异,是掌握 Redis Cluster...

阅读(17)评论(0)赞 (0)

linux

Linux 面试题:自旋锁、互斥锁、读写锁与无锁编程怎么选

pren 发布于 2026-09-22

在 Linux 内核与高性能服务端开发面试中,同步原语的选择几乎是必考题。面试官不仅想知道你“会不会用”,更想考察你是否理解每种锁背后的代价模型,以及在不同竞争强度、临界区长度和读写比例下如何做出合理决策。本文围绕自旋锁、互斥锁、读写锁与无锁编程,梳理它们的核心差异与选型逻辑。 ...

阅读(23)评论(0)赞 (0)

mysql

MySQL 中的 double write buffer 如何保证数据页安全

pren 发布于 2026-09-22

在 MySQL 的 InnoDB 存储引擎中,数据页的写入安全是一个核心问题。如果数据库在写入数据页的过程中发生崩溃,可能会导致数据页损坏(partial page write),进而造成数据丢失。为了解决这个问题,InnoDB 引入了 double write buffer(双...

阅读(25)评论(0)赞 (0)

redis

Redis 为什么用跳表而不用红黑树实现有序集合

pren 发布于 2026-09-22

在 Redis 的面试中,有一个问题几乎成了必考题:Redis 的 ZSet(有序集合)底层为什么用跳表(skiplist)而不是红黑树? 很多人第一反应是“因为跳表简单”,但面试官想听的显然不止这一句。这个问题背后牵扯到数据结构设计、工程取舍、范围查询效率以及 Redis 作者...

阅读(20)评论(0)赞 (0)

redis

Redis 如何保证分布式锁的续期和可重入

pren 发布于 2026-09-22

在分布式系统中,Redis 凭借其高性能和原子性操作,成为实现分布式锁的主流方案之一。然而,一个健壮的分布式锁不仅要解决互斥问题,还必须处理两个核心难题:锁的续期(自动延长过期时间) 和 可重入(同一线程可多次获取同一把锁)。这两点也是面试中高频出现的深度问题。本文将围绕这两个主...

阅读(20)评论(0)赞 (0)

mysql

MySQL 可重复读隔离级别下是否完全解决了幻读

pren 发布于 2026-09-22

在 MySQL 的面试中,有一个问题几乎成了区分候选人水平的分水岭:“可重复读隔离级别下,幻读被完全解决了吗?” 很多人的第一反应是“解决了”,因为教科书上白纸黑字写着:可重复读(RR)隔离级别通过 MVCC 和间隙锁解决了幻读。但如果你真的这么回答,面试官往往会追问一句:“你确...

阅读(19)评论(0)赞 (0)

linux

Linux 面试中如何讲清楚内存屏障与 volatile 在并发中的意义

pren 发布于 2026-09-22

在 Linux 内核开发、驱动开发以及高性能并发编程的面试中,“内存屏障”和“volatile”几乎是绕不开的两个话题。很多候选人对这两个概念的理解停留在“背八股”的层面,一旦面试官追问“为什么需要内存屏障”“volatile 到底解决了什么问题”“在 Linux 内核中应该用哪...

阅读(23)评论(0)赞 (0)

redis

Redis 单线程模型为什么还能支撑高并发

pren 发布于 2026-09-22

很多开发者第一次接触 Redis 时都会产生一个疑问:如今服务器动辄几十核 CPU,Redis 却坚持用单线程处理命令,它凭什么能扛住每秒十万甚至百万级的请求?这个问题在面试中出现频率极高,背后考察的其实是对 Redis 整体架构、I/O 模型和性能优化思路的理解。本文将从常见误...

阅读(20)评论(0)赞 (0)

mysql

MySQL 排序算法:filesort 与索引排序的性能差异

pren 发布于 2026-09-22

在 MySQL 的日常使用和面试中,排序是一个绕不开的核心话题。无论是 ORDER BY 还是 GROUP BY,都可能触发排序操作。而 MySQL 处理排序的方式主要分为两种:索引排序和 filesort。理解它们的原理和性能差异,不仅能帮助你在面试中脱颖而出,更能指导你写出真...

阅读(18)评论(0)赞 (0)