不刷 LeetCode,你连 AI 生成的代码都驾驭不了
#AI时代还有必要刷leetcode吗?#
现在网上有个很可笑的论调:“AI 都能写代码了,程序员不用刷算法了,不用学数据结构了,会调 API 就行。”
说这种话的人,要么根本不是程序员,要么根本没在真实的业务里踩过坑。AI 时代,刷 LeetCode 的意义,早就不只是为了过面试了。它真正的价值,是帮你建立底层的算法思维和逻辑能力,而这,恰恰是你能不能驾驭 AI,而不是被 AI 替代的核心。
AI 给了一段代码,跑是能跑,但他根本看不懂里面的时间复杂度,上线后数据量一大,接口直接超时,数据库直接崩了;
AI 写的递归函数,他直接复制粘贴用,结果线上数据量大了直接栈溢出,他连递归和迭代的区别都搞不懂,更别说排查问题了;
业务里要做一个用户标签的匹配功能,AI 给了好几种方案,他根本不知道选哪种,不知道哈希表和红黑树的适用场景,最后选了个性能最差的,线上出了故障背了大锅;
甚至 AI 写的代码里有边界漏洞,他都看不出来,上线后被恶意攻击,造成了数据泄露,最后被公司开除。
这些人,本质上不是在用 AI,是被 AI 当成了执行工具。他们就像拿着枪的小孩,根本不知道枪的原理,也不知道扣动扳机的后果,最后伤的只能是自己。
而刷 LeetCode,练的从来不是你会不会写那一道题,是这 4 种 AI 永远替不了的核心能力:
复杂度直觉:知道什么代码是好的,什么是垃圾
刷算法题最核心的训练,就是时间 / 空间复杂度的分析能力。刷多了,你看到一段代码,一眼就能知道它的性能瓶颈在哪,会不会在高并发场景下出问题,能不能优化。
AI 能给你 10 种实现方案,但只有你能判断,哪种方案适合当前的业务场景,哪种方案能扛住线上的流量,哪种方案会给未来埋坑。没有这种复杂度直觉,你只会在 AI 给的一堆方案里,选一个最烂的。
问题拆解能力:把复杂问题拆成可解决的小问题
一道中等难度的算法题,本质上就是一个微型的业务问题。刷算法的过程,就是训练你把一个复杂的、模糊的问题,拆解成多个简单的、可解决的小问题,一步步推进,最终得到结果。
这恰恰是程序员最核心的能力。业务里的需求,永远是复杂的、模糊的,AI 能帮你写代码,但不能帮你做需求拆解、架构设计。没有这种拆解能力,你连给 AI 提需求都提不明白,只会让 AI 生成一堆没用的垃圾代码。
边界思维:预判所有的异常情况
刷过算法题的人都知道,一道题能不能 AC,不只看核心逻辑能不能跑通,更看你有没有考虑到所有的边界条件:空值、极值、异常输入、并发场景……
真实的业务开发,80% 的 bug 都来自边界情况。AI 生成的代码,往往只覆盖了核心的正常流程,很少考虑到业务里的各种异常边界。没有这种边界思维,你连 AI 代码里的漏洞都看不出来,线上出 bug 是迟早的事。
逻辑严谨性:写出来的代码,每一行都有道理
刷算法题的过程,就是训练你严谨的逻辑思维。每一行代码,都要有它的作用,每一个判断,都要有它的依据,不能有任何逻辑漏洞。
现在很多人用 AI 写代码,代码跑通了就万事大吉,根本不知道里面的逻辑是什么,出了问题根本不知道怎么排查。而有算法思维的人,哪怕是 AI 写的代码,也能一眼看透逻辑,快速定位问题,甚至优化得更好。
我从来不是反对用 AI,恰恰相反,我每天都在用 AI 写代码、改 bug、做方案,它帮我节省了大量的重复劳动时间。但我始终坚信:AI 是放大器,不是替代品。它能放大强者的能力,也能加速弱者的淘汰。
你有扎实的算法思维、逻辑能力,AI 就是你的神兵利器,能让你的效率翻倍,能让你专注在更有价值的架构设计、业务思考上;你没有这些底层能力,AI 只会让你越来越懒,越来越依赖,最后彻底丧失独立思考、独立写代码、独立解决问题的能力,变成一个只会调 AI 的 “工具人”,随时都能被替代。
回到最初的问题:AI 时代还有必要刷 LeetCode 吗?我的答案是:非常有必要。但不是为了应付面试死记硬背,是为了训练自己的底层思维能力,让自己能真正驾驭 AI,而不是被 AI 淘汰。
毕竟,程序员的核心竞争力,从来不是你能写多少行代码,而是你能解决多复杂的问题。而这,永远是 AI 替不了你的。
现在网上有个很可笑的论调:“AI 都能写代码了,程序员不用刷算法了,不用学数据结构了,会调 API 就行。”
说这种话的人,要么根本不是程序员,要么根本没在真实的业务里踩过坑。AI 时代,刷 LeetCode 的意义,早就不只是为了过面试了。它真正的价值,是帮你建立底层的算法思维和逻辑能力,而这,恰恰是你能不能驾驭 AI,而不是被 AI 替代的核心。
AI 给了一段代码,跑是能跑,但他根本看不懂里面的时间复杂度,上线后数据量一大,接口直接超时,数据库直接崩了;
AI 写的递归函数,他直接复制粘贴用,结果线上数据量大了直接栈溢出,他连递归和迭代的区别都搞不懂,更别说排查问题了;
业务里要做一个用户标签的匹配功能,AI 给了好几种方案,他根本不知道选哪种,不知道哈希表和红黑树的适用场景,最后选了个性能最差的,线上出了故障背了大锅;
甚至 AI 写的代码里有边界漏洞,他都看不出来,上线后被恶意攻击,造成了数据泄露,最后被公司开除。
这些人,本质上不是在用 AI,是被 AI 当成了执行工具。他们就像拿着枪的小孩,根本不知道枪的原理,也不知道扣动扳机的后果,最后伤的只能是自己。
而刷 LeetCode,练的从来不是你会不会写那一道题,是这 4 种 AI 永远替不了的核心能力:
复杂度直觉:知道什么代码是好的,什么是垃圾
刷算法题最核心的训练,就是时间 / 空间复杂度的分析能力。刷多了,你看到一段代码,一眼就能知道它的性能瓶颈在哪,会不会在高并发场景下出问题,能不能优化。
AI 能给你 10 种实现方案,但只有你能判断,哪种方案适合当前的业务场景,哪种方案能扛住线上的流量,哪种方案会给未来埋坑。没有这种复杂度直觉,你只会在 AI 给的一堆方案里,选一个最烂的。
问题拆解能力:把复杂问题拆成可解决的小问题
一道中等难度的算法题,本质上就是一个微型的业务问题。刷算法的过程,就是训练你把一个复杂的、模糊的问题,拆解成多个简单的、可解决的小问题,一步步推进,最终得到结果。
这恰恰是程序员最核心的能力。业务里的需求,永远是复杂的、模糊的,AI 能帮你写代码,但不能帮你做需求拆解、架构设计。没有这种拆解能力,你连给 AI 提需求都提不明白,只会让 AI 生成一堆没用的垃圾代码。
边界思维:预判所有的异常情况
刷过算法题的人都知道,一道题能不能 AC,不只看核心逻辑能不能跑通,更看你有没有考虑到所有的边界条件:空值、极值、异常输入、并发场景……
真实的业务开发,80% 的 bug 都来自边界情况。AI 生成的代码,往往只覆盖了核心的正常流程,很少考虑到业务里的各种异常边界。没有这种边界思维,你连 AI 代码里的漏洞都看不出来,线上出 bug 是迟早的事。
逻辑严谨性:写出来的代码,每一行都有道理
刷算法题的过程,就是训练你严谨的逻辑思维。每一行代码,都要有它的作用,每一个判断,都要有它的依据,不能有任何逻辑漏洞。
现在很多人用 AI 写代码,代码跑通了就万事大吉,根本不知道里面的逻辑是什么,出了问题根本不知道怎么排查。而有算法思维的人,哪怕是 AI 写的代码,也能一眼看透逻辑,快速定位问题,甚至优化得更好。
我从来不是反对用 AI,恰恰相反,我每天都在用 AI 写代码、改 bug、做方案,它帮我节省了大量的重复劳动时间。但我始终坚信:AI 是放大器,不是替代品。它能放大强者的能力,也能加速弱者的淘汰。
你有扎实的算法思维、逻辑能力,AI 就是你的神兵利器,能让你的效率翻倍,能让你专注在更有价值的架构设计、业务思考上;你没有这些底层能力,AI 只会让你越来越懒,越来越依赖,最后彻底丧失独立思考、独立写代码、独立解决问题的能力,变成一个只会调 AI 的 “工具人”,随时都能被替代。
回到最初的问题:AI 时代还有必要刷 LeetCode 吗?我的答案是:非常有必要。但不是为了应付面试死记硬背,是为了训练自己的底层思维能力,让自己能真正驾驭 AI,而不是被 AI 淘汰。
毕竟,程序员的核心竞争力,从来不是你能写多少行代码,而是你能解决多复杂的问题。而这,永远是 AI 替不了你的。
全部评论

是的,现在都这样
字节跳动 + 阿里 + 海天 + 自营技术 + 广字节,全是大厂硬骨头,太顶了🙌
暑期实习 0offer 太真实了!从三月硬磕到现在,这份求职血泪史狠狠共情🚀
相关推荐
04-16 10:20
武汉大学 后端工程师 点赞 评论 收藏
分享