OpenAI拟租赁俄亥俄州10GW数据中心园区:Nvidia或提供资金支持
2026-06-11
2026-06-12 0
先说背景:我是后端开发,6年经验,Java技术栈。最近半年高强度用Cursor和Claude Code,对"还要不要刷算法"这件事有了新看法。

直接给结论:刷算法这件事,2026年要换个刷法。
一、为什么我现在不反对刷算法了
两年前我写过一篇回答,大意是"工作后用不到算法,刷题是浪费时间"。当时点赞挺多,现在回头看,话说太满了。
打脸来自上个月的真实case:
我们有个定时任务,处理千万级数据,原始实现用List嵌套遍历做关联,跑一趟要2小时。我第一反应是加索引、调线程池,效果不明显。
后来让Cursor看了眼,它建议用HashMap做预分组,复杂度从O(n*m)降到O(n+m)。我照着改,20分钟跑完。
这件事让我意识到:不是算法没用,是我以前"不知道哪里该用算法"。
AI能给你答案,但前提是你能识别出这是个算法问题。如果我一直用"加机器、加线程"的惯性思维,AI再好也帮不到我。
二、AI时代,刷算法的核心价值变了
以前刷算法是为了"会写"——面试手写快排、现场推DP状态转移。
现在刷算法是为了"会认"——看到性能瓶颈时,能反应过来"这里可以用空间换时间"、"这是典型区间覆盖问题"。
具体来说,我现在刷题只关注三个层面:
复杂度直觉
不再背具体代码,而是训练一眼看出"这段逻辑是O(n²)还是O(nlogn)"的能力。这个AI替代不了,是你的内功。
数据结构选择
数组 vs 链表、HashMap vs TreeMap、堆 vs 排序——这些选择的trade-off,刷题时反复纠结过,真遇到业务问题才能快速决策。
问题模式识别
看到"最短路径"知道想BFS/Dijkstra,看到"重叠区间"知道想排序+贪心。这种模式匹配能力,刷题是最快的训练方式。
三、我现在怎么刷题(实操分享)
不刷LeetCode了,改刷"业务代码优化题"。
具体做法:
从自己项目里找一段性能差的代码
让AI分析瓶颈,给出3种优化方案
自己理解每种方案的适用场景,然后手写一种
对比AI的实现和自己的实现,找差距
上周刚练了一题:批量插入数据库时,怎么减少网络往返。
AI给了预编译+批量提交、异步批量、连接池优化三个方向。我手写了个批量提交的版本,和AI的对比后,发现我漏了异常回滚的处理。
这种"实战刷题",比刷100道LeetCode Medium有用。
四、不同阶段的建议
Table
阶段 建议
在校生 经典算法过一遍,重点理解复杂度分析和数据结构选择。不要背代码,要能手推过程。
1-3年 结合工作场景刷,遇到性能问题主动想"能不能用算法优化"。
3-5年 刷系统设计里的算法部分,比如一致性哈希、分布式ID生成、缓存淘汰策略。
5年以上 别刷题了,去刷论文和源码。
五、最后说两句
AI不会取代程序员,但会取代"只会写代码"的程序员。
刷算法这件事,从"应试技能"变成了"基础素养"。你可以不手写红黑树,但你得知道什么时候该用树、什么时候该用哈希。
2026年还在纠结要不要刷算法的,大概率不是算法问题,是学习方式该升级了。
以上。欢迎拍砖,尤其欢迎有实际优化case的老哥来分享,比空谈有意义。