硅谷有个公开的秘密——系统设计面试里藏着一道"假简单"题。过去8个月,一位面试官面了47位高级工程师候选人,结果41个人在这道题上翻车。不是不会做,是讲不清楚为什么这样做。
这道题叫"设计一个短链接系统"。听起来像LeetCode入门题,每个候选人都准备过。但面试官发现,大多数人能画出架构图,却解释不了为什么选Base62编码而不是Base64,为什么用哈希而不是自增ID,为什么缓存失效策略要这么设计。
「他们知道答案,但不知道答案为什么成立。」这是面试官的原话。
问题出在知识获取方式。刷题背架构图的人,把系统设计当成了填空题;真正过关的人,把它当成决策树——每个选择都有代价,每个妥协都有场景。面试官要听的从来不是"用什么",而是"放弃什么"。
那位过了的6个人里,有个共同习惯:被追问时会说"这里我考虑过另一种方案,但放弃了,因为……"。
热门跟贴