我对 Leetcode 痴迷的热评
发布: (2026年3月15日 GMT+8 14:05)
4 分钟阅读
原文: Dev.to
Source: Dev.to
Introduction
LeetCode 已经成为许多准备技术面试的开发者的主要焦点。虽然解算法题可以提升某些技能,但围绕刷成千上万题的现象让人对其真正价值产生疑虑。
The Problem with the LeetCode Obsession
- Efficiency: 现代 AI 能在几分钟内解决许多 LeetCode 题目,但我们仍然在重复的模式上花费无数小时。
- Retention: 大多数人在几个月前解过的题目已经记不清具体解法。练习往往变成记忆而非真正的理解。
- Opportunity Cost: 用在无尽面试题上的时间本可以用于学习操作系统、探索 AI、参与开源项目、构建自动化工具或扩展真实应用——这些领域能提供更深入、更实用的知识。
What Matters More Than Solving Hundreds of Problems
Real‑World Skills
- 学习 Linux、系统内部原理以及编排工具。
- 参与开源项目并构建有用的实用工具。
- 设计、部署和扩展生产级别的应用。
Competitive Programming (When It’s Fun)
Codeforces、CodeChef、AtCoder 等平台提供具有挑战性的比赛,适合喜欢竞争的人。然而,仅仅因为“公司要求”而去追求它们,容易导致倦怠。
Learning Data Structures and Algorithms (DSA) vs. Grinding
- Fundamentals are essential: 理解树、图、递归、哈希表和链表等概念是有价值且是计算机科学的基础。
- Depth over breadth: 通过少量精选题目来掌握这些概念更有益。
- Diminishing returns: 解决数百甚至数千个相似的题目,在初始学习阶段之外几乎没有额外收益,往往沦为死记硬背。
The Cultural Issue
当前的思维方式把“解决前 100 道面试题”当作工程能力的终极标尺。这种观念:
- 把解谜题置于真实系统知识之上。
- 鼓励清单式心态,而非好奇心驱动的学习。
- 将面试准备变成收集徽章的活动,而不是技能提升。
Personal Reflection
我曾多年遵循一套 DSA 题单,逐题解答、做笔记并在以后复习。后来我遇到一些同伴,他们在搭建家庭实验室、定制 Linux 环境、贡献开源项目。他们的工作比再刷一批 LeetCode 题目更有吸引力。回顾过去,我意识到如果把时间更多投入到真实项目上会更有价值。
Takeaway
你有两条路可选:
- Follow the conventional route – 解决无数面试题,加入“打勾”人群。
- Pursue what excites you – 专注于构建系统、学习新技术,并在过程中获得乐趣。
选择让你感到快乐并能带来持久成长的道路。玩得开心。