16、分库分表主键生成:如何设计一个主键生成算法你好,我是大明。今天我们来聊一聊分库分表——主键生成。 分库分表在面试里是一个非常热门,而且偏难的一个话题。这节课我就带你来攻克这个难题,带你了解UUID、自增主键和雪花算法的特点,并且教你在面试的时候刷出亮点。在这些基础上,我会进一步给出一个微创新...2026-01-03后端工程师的高阶面经
15、数据迁移:如何在不停机的情况下保证迁移数据的一致性你好,我是大明。今天我们来聊聊数据迁移的问题。 我之前就注意到很多人的简历里面都会提到数据迁移方面的内容。比如: 重构老系统:使用新的表结构来存储数据; 单库拆分分库分表、分库分表扩容; 大表修改表结构定义。 但是在面试的时候,他们就是说不清楚数...2026-01-03后端工程师的高阶面经
14、数据库事务:事务提交了,你的数据就一定不会丢吗你好,我是邓明。今天我们来学习数据库中非常重要的一部分——数据库事务。这节课的内容和前面 MVCC 的内容联系很紧密,你要结合在一起学习。 数据库事务在面试中占据了比较重的分量。如果你面的是非常初级的岗位,那么可能就是问问事务的 ACID 特性。不然...2026-01-03后端工程师的高阶面经
13、MVCC协议:MySQL 在修改数据的时候,还能不能读到这条数据你好,我是大明。今天我们来学习 MySQL 面试中非常重要的一个内容—— MVCC 协议。 MVCC(Multi-Version Concurrency Control)中文叫做多版本并发控制协议,是 MySQL InnoDB 引擎用于控制数据并发访...2026-01-03后端工程师的高阶面经
12、数据库锁:明明有行锁,怎么突然就加了表锁你好,我是大明。今天我们来聊一聊 MySQL 中锁的问题。 锁在整个数据库面试中都是属于偏难,而且偏琐碎的一类问题。但是偏偏锁又很重要,比如说实践中遇到死锁影响了性能,这都要求我们必须对锁有一定的了解。并且锁的原理和索引、隔离级别都有关,所以很容易从...2026-01-03后端工程师的高阶面经
11、SQL优化:如何发现SQL中的问题你好,我是大明。今天我们来聊一聊数据库中的 SQL 优化。 一般而言,在面试过程中,我都是鼓励你尽可能为自己打造熟练掌握性能优化技巧的人设。高并发项目经验可遇不可求,但是高性能是可以勉强追求的,性能优化就是追求高性能的方法。和我在微服务里面讲到的高可...2026-01-03后端工程师的高阶面经
10、数据库索引:为什么MySQL用B+树而不用B树你好,我是大明。 从这节课开始,我们将进入数据库这一章。在实际工作中,数据库设计得好不好、SQL 写得好不好将极大程度影响系统性能。而且,即便是再小的公司,也不可能说没有数据库,所以如果你担忧自己因为没有微服务架构经验难以通过面试,那么数据库就可以成...2026-01-03后端工程师的高阶面经
9、综合服务治理方案:怎么保证微服务应用的高可用你好,我是大明。今天我们来聊一个综合性的话题:给你一个微服务应用,你怎么保证它的高可用? 在面试互联网相关岗位的时候,大部分公司都会看重高并发、高可用和大数据相关的经验。不过有没有高并发和大数据的项目经验有点儿看命。因为如果你不是在大厂的核心部门,你...2026-01-03后端工程师的高阶面经
8、调用第三方:下游的接口不稳定性能又差怎么办你好,我是大明。今天我们来聊一个跟微服务架构有很强关联的话题:如何保证调用第三方接口的可用性。 到目前为止,我们可以看到任何一个系统,都难免要跟第三方打交道。 登录注册要跟微信开放平台打交道,接入扫码登录。 金融要跟银行打交道,比如结算。 重要功能...2026-01-03后端工程师的高阶面经
7、超时控制:怎么保证用户一定能在1s内拿到响应你好,我是大明。今天我们来聊一个非常常见但是经常被忽略的话题——超时控制。 和前面我们讲的熔断、限流、降级和隔离一样,超时控制也是构建高可用系统的一环,因为它能够节省系统资源,提高资源的有效利用率。 一般在面试的时候,关于超时控制,被问得最多的问题就...2026-01-03后端工程师的高阶面经