🔗 前言:面试官最爱问的“简单题”
“请设计一个短链接系统,像 t.cn/AbCdEf 这种。”
这道题在字节、阿里、腾讯的面试中出现的概率高达 80%。
很多初学者会不假思索地回答:“用 Redis 的 INCR 自增 ID,然后转成 62 进制不就行了?”
错!大错特错!
- 安全隐患:自增 ID 是连续的,黑客写个脚本
t.cn/1,t.cn/2… 就能遍历你的所有数据,窃取商业机密。 - 性能瓶颈:严重依赖 Redis 单点计数器,难以水平扩展。
今天,我们来聊聊大厂主流的**“摘要算法生成法”**,利用 MurmurHash + Base62,打造一个安全、无碰撞、可扩展的百亿级短链接系统。
🧠 核心原理:为什么是 MurmurHash?
要将一个长长的 URL 压缩成短字符串,本质上是一个 Hash(摘要) 过程。
1. 为什么不用 MD5?
MD5 生成的结果是 128 位(32 个字符),太长了!如果我们截取前 6 位,哈希冲突(Collision) 的概率会爆炸式增长。
订阅专栏 解锁全文
1212

被折叠的 条评论
为什么被折叠?



