RocksDB 是怎么工作的:一份 LSM-Tree 的极简笔记
准备面试的时候,我花了点时间,把 RocksDB 的工作原理从头到尾学了一遍——它的存储引擎到底是怎么设计的,数据是怎么写进去、又怎么读出来的。RocksDB(以及它背后的 LSM-Tree)是那种很多人听过、但真要讲清楚就容易卡壳的东西,我自己以前也是。等真的搞懂了,就把里面的核心思路整理成这份笔记,分享给同样想弄明白它的人。 ...

准备面试的时候,我花了点时间,把 RocksDB 的工作原理从头到尾学了一遍——它的存储引擎到底是怎么设计的,数据是怎么写进去、又怎么读出来的。RocksDB(以及它背后的 LSM-Tree)是那种很多人听过、但真要讲清楚就容易卡壳的东西,我自己以前也是。等真的搞懂了,就把里面的核心思路整理成这份笔记,分享给同样想弄明白它的人。 ...
最近在准备 coding 面试,把排序算法又从头捋了一遍。捋的过程里我有点被自己吓到:很多东西五年前我是真的记得的,比如快排的 partition 到底怎么写、为什么会退化,现在却要愣一下才能想起来。等翻到非比较排序那一块——计数排序、基数排序、桶排序——我发现那已经基本是一片空白了。 ...
前段时间我连续看到了几个很火的人格测试项目。 一个是大家已经很熟悉的 MBTI 风格网站,比如 16personalities,整体做得特别完整,看起来很像某种严肃的人格测评产品。另一个是像 SBTI 这种更抽象、更互联网、更适合在社交媒体上传来传去的测试。除此之外,我还看到了一个程序员版的脑洞来源,比如 B 站上有人在玩“程序员 MBTI”的梗,也看了像 cbti-test 这种把测试做成纯前端小产品的项目。 ...