审核解析结果
- 任务 ID
- job_7e7cc4a6238b4ee3a725e6e0f19ea0a1
- 任务类型
- 提取面经
- 状态
- 已确认
- 尝试次数
- 1
来源上下文
Java八股(数据库).md
src_7c5d83a17c464c2a933b1a39d8150541
创建于 2026/03/29 00:41,最近更新时间 2026/04/07 12:16
候选题(152)
MySQL基础架构有哪些组件?
MySQL支持哪些存储引擎?默认使用哪个?
MySQL存储引擎架构了解吗?
MyISAM和InnoDB有什么区别?
MyISAM和InnoDB的索引有什么区别?
事务的四大特性是什么?
并发事务会带来哪些问题?
不可重复读和幻读有什么区别?
SQL标准定义了哪些事务隔离级别?
MySQL的隔离级别是基于锁实现的吗?
并发事务的控制方式有哪些?
什么是查询缓存?
执行一条select语句期间发生了什么?
表空间文件的结构是怎么样的?
InnoDB的行格式有哪些?
COMPACT行格式长什么样?
为什么变长字段长度列表要逆序存放?
记录头信息有哪些内容?
varchar(n)中n最大取值为多少?
行溢出后MySQL怎么处理?
MySQL的NULL值是怎么存放的?
数据页包含哪些部分?
什么是索引?有什么优缺点?
索引的分类有哪些?
Hash索引和B+树索引有什么区别?
什么是聚簇索引和非聚簇索引?
B树和B+树有什么区别?为什么选择B+树?
为什么不使用红黑树?为什么不使用跳表?
最左前缀匹配原则介绍一下
联合索引有长度限制吗?过长会有什么影响?
什么时候需要/不需要创建索引?
什么是覆盖索引?什么是索引下推?
有什么优化索引的方法?
常见扫描类型有哪些?
左模糊匹配一定会导致索引失效吗?
导致索引失效的情况有哪些?
varchar a = 1 和 int a = '1'的索引失效情况?
EXPLAIN关键字有哪些字段?
MySQL中四种隔离级别分别是怎么实现的?
有几种开启事务的方式?
什么是read view?如何工作的?
InnoDB中如何解决幻读?
快照读和当前读的区别?
可重复读完全解决了幻读吗?
全局锁有什么用?
表级锁有哪些?
轻量级锁会有什么问题?
行级锁有哪些?
MySQL是如何加行级锁的?
删除操作会加什么锁?
插入时会加什么锁?
update没加索引会导致什么结果?
MySQL记录锁+间隙锁可以防止删除操作导致的幻读吗?
MySQL怎么会产生死锁?如何避免?
MySQL中的乐观锁和悲观锁是什么?
MySQL中有哪几种日志?
为什么需要redo log?
修改undo页需要写入redo log吗?两者有什么区别?
redo log要写磁盘,数据页也要写磁盘,为什么还需要redo log?
产生的redo log是直接写入磁盘的吗?
redo log什么时候刷盘?
innodb_flush_log_at_trx_commit参数控制的是什么?
redo log文件写满了怎么办?
binlog是什么?和redo log有什么区别?
如果误删整个数据库,能用redo log恢复吗?
主从复制是怎么实现的?
从库是不是越多越好?
MySQL主从复制还有哪些模型?
binlog什么时候刷盘?
一条update语句的执行过程是什么?
为什么要两阶段提交?
MySQL 两阶段提交为什么要设计成 prepare 阶段的 redo log 加完整 binlog,重启后提交事务?
MySQL 两阶段提交有什么问题?
什么是组提交,如何解决 IO 次数多的问题?
什么是 Buffer Pool?有什么用?
Buffer Pool 缓存什么?
介绍一下 Buffer Pool
介绍一下 LRU 链表,有什么好处?
什么是预读失效?
什么是 Buffer Pool 污染?
脏页什么时候会被刷入磁盘?
慢查询怎么解决?
limit 调优怎么做?
介绍一下 Redis
Redis 为什么这么快?
分布式缓存常见的技术选型方案有哪些?
Redis 和 Memcached 有什么区别?
为什么用 Redis 作为 MySQL 的缓存?
Redis 支持事务吗?
Redis 数据类型以及使用场景分别是什么?
String 的内部实现?
String 如何实现分布式锁?
List 如何实现消息队列?
Hash 如何实现购物车?
String 还是 Hash 存储对象数据更好?
Set 如何实现抽奖?
ZSet 如何实现排行榜?
如何实现签到统计?
如何实现连续 7 天签到用户统计?
Stream 实现的消息队列和 List 有什么区别?
Redis 基于 Stream 的消息队列与专业消息队列有哪些差距?
Redis 是单线程吗?
Redis 为什么要用单线程/为什么不用多线程?
Redis 单线程模式是怎样的?
Redis 6.0 之后为什么引入了多线程?
Redis 如何实现数据不丢失?
AOF 日志是如何实现的?
AOF 写回策略有几种?
AOF 日志过大,会触发什么机制?介绍一下
重写时,主进程为什么又要写到 AOF 缓冲区,又要写到 AOF 重写缓冲区?
为什么要用子进程,不用子线程?
介绍一下 RDB 快照
介绍一下混合持久化方式
大 key 对持久化有什么影响?
介绍一下 Redis 集群方式
介绍一下主从复制
讲一下主从复制的具体过程
如何能够分摊主服务器的压力?
介绍一下增量复制?如果主从的 TCP 连接断开了会怎么样?
怎么判断 Redis 某个节点是否正常工作?
主从复制架构中,过期 key 如何处理?
主从复制中 replication buffer 和 repl backlog buffer 有什么区别?
如何应对主从数据不一致?
主从切换如何减少数据丢失?
主从如何做到故障自动切换?
什么是哨兵机制?
如何判断一个主节点已经下线?
由哪个哨兵进行主从故障转移?
那如何进行故障转移呢?
哨兵集群是如何组成的?
哨兵集群如何知道从节点的信息?
什么是缓存雪崩,怎么解决?
什么是缓存击穿,怎么解决?
热点 key 问题如何解决?
使用二级缓存怎么保证数据一致性?
什么是缓存穿透,怎么解决?
知道布隆过滤器怎么工作的吗?
布隆过滤器的优缺点?
Redis 常见缓存更新策略有哪些?
数据库和缓存如何保证一致性?
如何判定 key 已过期了?
过期删除策略有哪些?
介绍一下 Redis 的过期删除策略
什么是内存淘汰?有哪些内存淘汰策略?
Redis 如何实现 LRU 算法?
Redis 如何实现 LFU 算法?
Redis 如何实现延迟队列?
Redis 的大 key 如何删除?
Redis 如何实现分布式锁?
watch dog 机制是什么?
什么是热点 key,如何处理?
text 和 keyword 的区别是什么?
导入预览
MySQL基础架构有哪些组件?
分类: 分布式系统
标签: MySQL, 系统设计
批量摘要
解析提示
- Long source was parsed in 3 chunks because raw_text exceeded 24000 characters.
- Chunk 1/3: 该来源是知识笔记而非真实面经,缺少公司、岗位、轮次等面试元数据。
- Chunk 1/3: 这是长文档的第1段,仅能提取当前片段明确支持的内容。
- Chunk 1/3: 部分答案包含口语化、可能随版本变化或表述不够严谨的内容,如查询缓存、索引长度限制、可重复读是否完全解决幻读等,已按原文保守提取。
- Chunk 2/3: 来源为长文档分片第 2 段,仅提取本段可直接支持的题目与答案。
- Chunk 2/3: 部分内容为知识点罗列或标题式笔记,问题表述做了轻度规范化。
- Chunk 2/3: 个别表述可能存在原文笔误或不严谨之处,例如 bnlog/bnlog、page cahce、iner join、对 Redis 6.0 多线程读写范围的描述等,已尽量按原文保留,不额外扩展纠正。
- Chunk 3/3: 该分块是长文末尾片段,只能提取当前分块明确支持的内容。
- Chunk 3/3: 末尾出现“text和keyword的区别是什么?”标题,但当前分块未包含答案,无法归纳标准答案。
- Chunk 3/3: 部分 Redis 细节表述可能来自个人笔记,未给出严格版本边界,例如定期删除的具体抽样参数。
创建时间: 2026/03/29 00:41
开始时间: 2026/03/29 00:41
完成时间: 2026/03/29 00:57