今年面试我常问一个问题:"在浏览器里输入 URL 回车,到你看到页面,中间发生了什么?"能讲完整的人不到三成。不是候选人不行,是这个行业太急着教框架,忘了教地基。
操作系统值得长期啃。进程和线程模型、内存分页、文件描述符、信号处理——线上问题十个里有八个,最终都能归到这几件事上。我排查过的诡异故障,几乎都靠"strace 看一眼系统调用"这类基本功收场。
网络是第二块基石。TCP 握手与拥塞控制、DNS 解析的完整链路、HTTP 缓存语义,这几样吃透,绝大多数"页面时快时慢"的疑难杂症都能定位到层。网络层以下的直觉,比任何监控面板都可靠。
数据结构与算法,我说的不是刷题,是复杂度思维。同样是查一个东西,用哈希还是树,数据量上去之后差出两个数量级。能说出"这个场景为什么用 B+ 树"的人,写出的代码通常不会差。
数据库原理同理:索引的底层是 B+ 树,事务隔离级别对应并发场景,慢查询看执行计划。这些不随版本变化的知识,查一次能用十年。
最后是两项偏软的:命令行文本处理——awk、sed、jq 的熟练度直接决定你排查问题的速度;以及把事情讲清楚的能力,技术写作是杠杆率最高的软技能,没有之一。
我的态度是:新框架要跟,但把复利投在三十年不变的东西上。地基越深,学新东西越快——这是这行里最稳的复利。