12、数据库锁:明明有行锁,怎么突然就加了表锁

你好,我是大明。今天我们来聊一聊 MySQL 中锁的问题。 锁在整个数据库面试中都是属于偏难,而且偏琐碎的一类问题。但是偏偏锁又很重要,比如说实践中遇到死锁影响了性能,这都要求我们必须对锁有一定的了解。并且锁的原理和索引、隔离级别都有关,所以很容易从...

后端工程师的高阶面经

13、MVCC协议:MySQL 在修改数据的时候,还能不能读到这条数据

你好,我是大明。今天我们来学习 MySQL 面试中非常重要的一个内容—— MVCC 协议。 MVCC(Multi-Version Concurrency Control)中文叫做多版本并发控制协议,是 MySQL InnoDB 引擎用于控制数据并发访...

后端工程师的高阶面经

14、数据库事务:事务提交了,你的数据就一定不会丢吗

你好,我是邓明。今天我们来学习数据库中非常重要的一部分——数据库事务。这节课的内容和前面 MVCC 的内容联系很紧密,你要结合在一起学习。 数据库事务在面试中占据了比较重的分量。如果你面的是非常初级的岗位,那么可能就是问问事务的 ACID 特性。不然...

后端工程师的高阶面经

15、数据迁移:如何在不停机的情况下保证迁移数据的一致性

你好,我是大明。今天我们来聊聊数据迁移的问题。 我之前就注意到很多人的简历里面都会提到数据迁移方面的内容。比如: 重构老系统:使用新的表结构来存储数据; 单库拆分分库分表、分库分表扩容; 大表修改表结构定义。 但是在面试的时候,他们就是说不清楚数...

后端工程师的高阶面经

16、分库分表主键生成:如何设计一个主键生成算法

你好,我是大明。今天我们来聊一聊分库分表——主键生成。 分库分表在面试里是一个非常热门,而且偏难的一个话题。这节课我就带你来攻克这个难题,带你了解UUID、自增主键和雪花算法的特点,并且教你在面试的时候刷出亮点。在这些基础上,我会进一步给出一个微创新...

后端工程师的高阶面经

17、分库分表分页查询:为什么你的分页查询又慢又耗费内存

你好,我是大明。今天我们来聊一聊分库分表分页查询。 在实践中,分页是分库分表之后肯定要解决的问题,如果解决方案没选好,那么很容易出现性能问题。分页的解决方案很多,不过能够在面试中系统地将所有的方案都说出来的候选人可以说是少之又少。所以你只需要记住这节...

后端工程师的高阶面经
123459