「准备实习大约一个月,系统刷LeetCode。从Easy开始巩固基础算法,逐步过渡到难题。」——这不是某培训机构广告,是一个开发者的真实记录。但问题来了:刷题到底在刷什么?

一、LeetCode的隐藏结构:不是题库,是能力图谱

打开网易新闻 查看精彩图片

原文作者提到一个关键细节:每道题都关联特定主题。数组、字符串、哈希表、双指针、滑动窗口、栈、队列、链表、二叉树、递归、回溯、动态规划……

这不是随机分类。LeetCode的底层设计是一套能力拆解系统——把「算法能力」这个模糊概念,切成了可量化的技能点。

作者的做法很聪明:不是按难度随机刷,而是按主题集中突破。这样能看到模式(pattern),知道什么数据结构在什么场景下生效。这才是刷题和背题的本质区别。

二、大厂面试的真相:考的不是答案,是思维过程

原文有个关键判断:「这不是死记硬背,而是思考能力和寻找最优解的能力。」

作者分享了自己的四步流程:先独立解题→卡住了看提示→理解后自己重写→最后口头讲解。第四步最容易被忽略,但恰恰是大厂面试隐藏评分项

技术面试官真正在听的:你能不能把你的思路翻译成别人能听懂的语言?这直接对应工作中的代码评审、技术方案沟通。

很多人刷到能秒解Hard题,面试却挂掉——问题往往在这里。

三、从刷题到工程师思维:LeetCode的副产品

原文的总结很到位:LeetCode帮助培养「工程师式思考」——识别问题、寻找最优解、向他人解释。

这三件事恰好对应软件工程的核心闭环:需求理解→方案设计→技术对齐。刷题表面是算法训练,实际是在模拟这个闭环的压缩版。

有个反直觉的发现:Easy题的价值被严重低估。作者从Easy开始,不是为了简单,而是为了建立模式识别的肌肉记忆。很多Medium和Hard题,本质是多个基础模式的组合变形。

四、给正在刷题的人:三个可立即执行的策略

第一,按主题批量刷,而非按难度。连续做5道滑动窗口,比随机做5道不同题型更能建立直觉。

第二,每道题必须讲出来。对着空气说一遍,或写题解。如果讲不清楚,等于没学会。

第三,记录你的「卡壳点」。是思路完全错误?还是知道方向但写不出代码?这两种问题的解决方案完全不同。

最后一点:LeetCode的题量焦虑是陷阱。原文作者一个月的系统准备,重点在「系统」二字——有策略的100题,远胜无策略的500题。

如果你正在准备面试,今晚就可以试试:选一道你「会但讲不清」的题,录一段3分钟的讲解音频。听完你会知道自己差在哪。