我在2025年选择的唯一技能,胜过LeetCode刷题

发布: (2025年12月17日 GMT+8 13:51)
5 min read
原文: Dev.to

Source: Dev.to

现在已经是 2025 年末了,如果你的 LinkedIn 动态和我的一样,那就是两件事的混乱组合:

  • 人们惊慌失措,认为 AI 代理即将取代所有初级开发者。 🤖
  • 人们建议初级开发者刷 500+ 道 LeetCode 题目来通过面试。 💻

这些建议已经过时——就像在 2026 年的世界里为 2020 年的就业市场做准备。我并不是说算法不重要,但在白板上倒转二叉树的能力并不是让生产系统在凌晨 3 点崩溃时的关键。

我意识到,要想在新毕业生中脱颖而出,我需要把关注点从单纯写代码转向理解代码所在的环境。我把这称为 “系统意识”。 下面是我为何把它作为唯一优先技能,而不是无休止的刷题,以及我如何学习它。

“教程地狱”警醒 ⏰

后来,我尝试用 Docker 将它容器化并部署到一台廉价的云 VM 上。结果全都坏了。 🔥

  • 为什么我的前端无法和后端通信?(我不懂的 CORS 问题)。
  • 为什么容器重启后数据库数据消失了?(没有持久化卷)。
  • 为什么延迟这么高?(我把数据库放在了不同的地区)。

我完美的 React 代码毫无用处,因为我缺乏系统意识。我会搭建砖块,却不知道怎么建墙,更别说建房子了。 🧐

这已经不再是思考 “这个函数返回的值对吗?” 而是要思考:

  • 这段代码运行在哪里?(容器?无服务器函数?用户的浏览器?)
  • 它和什么通信?(数据库、缓存、外部 API?)
  • 它如何通信?(HTTP/REST、gRPC、消息队列?)
  • 当它出错时会怎样?(会重试吗?会导致整个 pod 崩溃吗?会记录错误日志吗?)

对于想成为 DevOps 或平台工程师的人来说,这不仅是 “可有可无” 的技能,而是 核心 技能。我们的工作不仅是写功能,还要确保整台机器——平台——能够持续运转。

我如何用系统时间换取 LeetCode 时间 🛠️

架构草图

  • 用户入口点(浏览器/移动端)
  • 负载均衡器
  • 应用服务
  • 数据库及任何缓存(例如 Redis)

如果我画不出来,就说明我还没真正理解。这一简单习惯迫使我在写代码之前先思考架构。

打破容器

我不再只让容器跑起来,而是尝试把它弄坏:

# 示例:把资源限制设得太低
docker run --memory=50m myapp

我会搞乱网络设置,把资源限制设得低到应用在一点点负载下就崩溃,然后观察故障。看到事物在受控环境中如何失效,比任何成功的教程都更能教会我系统弹性。这就像是代码的消防演练。

可观测性实战

当我的应用运行时,我不只盯着 UI。我会打开终端,实时查看日志流。我要学会分辨正常的运行日志和警告信号。我还会配置基础的 Prometheus 指标,看看我的 “高效” Python 脚本到底用了多少内存。

了解健康系统的样子是修复不健康系统的第一步。

新的 “初级” 标准 🚀

“我不仅会写这个 API 接口,还了解它的性能会如何影响我们的数据库负载,以及为什么我们应该在它前面加一层缓存。”

这就是系统意识。对我而言,这比再刷一道二叉树题目更让人兴奋。

Back to Blog

相关文章

阅读更多 »

仓库利用的权威指南

引言 仓库本质上只是一个 3‑D 盒子。利用率只是衡量你实际使用了该盒子多少的指标。虽然物流 c...