大家好,我是小米,31岁,Java后端一枚,混迹十八线大厂多年,技术狂热爱好者,喜欢研究源码、写博客、玩中间件。说出来你可能不信,我曾经在一次社招终面上,被一道“老掉牙”的面试题问得差点哑口无言。那道题就是:“你能说说 InnoDB 和 MyISAM 的区别吗?”我当时一愣,心里想着:“这不是基础到不行的题吗?面试官你是认真的吗?”结果,当我用惯常的“三板斧”回答完之后,面试官微微一笑,继续追问:“你刚才说 InnoDB 支持事务,那具体是怎么实现的呢?它的行级锁和间隙锁又是怎么回事?MyISAM不支持事务,那它的写操作时是怎么加锁的?”我……瞬间噤若寒蝉。这次“终面翻车”成了我反思的起点,也...