大家好,我是程序员鱼皮。
算法,一直被认为是程序员的内功。
从大学课堂到面试准备,刷算法题几乎是每个程序员的必经之路。
但到了 AI 时代,还有必要刷算法么?
我想这是很多学编程的朋友都好奇的问题,但网上很少有博主敢正面回答,毕竟这个话题太敏感了。。。
我自己作为一名程序员,大学刷了 1000 多道算法题,靠着题海战术通过了大厂的算法面试拿到 offer;后来做编程知识博主、带了很多学员备战面试,再到现在专注 AI 编程知识分享。可以说从学生、到打工人、再到创业者,我亲身经历了从传统程序员求职到 AI 编程的时代变迁。
基于这些经历,今天认真聊聊我对这个问题的看法,文章有点长(整整 5000 多字),但我觉得值得你看完。
先叠个甲,以下纯属个人观点,如有异议,欢迎评论区讨论。
我认为,80% 的人不需要刷算法题,20% 的人需要刷算法,但优先级也很低。
这个比例是我根据二八法则做的一个粗略判断。
具体为什么,且听我后面慢慢分解。
我知道这个观点听起来有点颠覆,毕竟「算法是程序员的必修课」这句话我们已经听了好多年了,很多人可能下意识觉得不刷算法就找不到工作。
但事实真的是这样吗?
为啥要刷算法?
在决定要不要刷算法之前,我觉得最重要的一件事是:先想清楚你刷算法的目的到底是什么?
很多人其实压根儿没想过这个问题!
大部分人刷算法只是因为大家都在刷、前辈说要刷、网上说不刷就找不到工作。
但你有没有认真想过,你自己到底是为了什么要刷算法?
一般来说,刷算法无非就这么几个目的:
找工作,应对面试中的算法题
考研,408 中的数据结构与算法相关内容要考
锻炼自己的逻辑思维能力
用算法来优化项目代码
纯粹个人感兴趣
其中 绝大多数同学刷算法就是为了好找工作,这也是刷算法题流行起来的直接原因。听说面试要考算法,所以大家拼命刷。
但这个逻辑,放到今天还成立吗?
为什么大多数人不用刷算法?
原因有三。
1、大部分公司面试不考算法
绝大部分程序员最终去的是中小公司、创业公司、传统企业的技术部门。这些公司面试更看重的是 项目经验和实际开发能力,算法题要么不考,要么就出一道简单的走个过场。
要问为什么,因为这些公司招人就是 招能干活的,你能证明自己有项目经验、上手就能写业务代码,算法答不出来也没什么影响。我们自己公司招人的时候就完全不考算法,更看重候选人做过什么项目、解决过什么问题、有没有学习新知识的主动性。
虽然大厂笔试和面试确实会考算法,但大厂的岗位在整个就业市场里占多大比例呢?
我带过的很多学员,最后拿到 Offer 的关键从来不是算法刷了多少道,而是简历上有没有拿得出手的项目、面试时能不能把项目讲清楚。
而且通过学员的提问,我也能明显感觉到时代在变。
两年前大家问我最多的还是:算法怎么刷?LeetCode 刷到什么程度够用?
现在问的基本都是 AI 编程和做项目相关的了。
2、算法的价值正在被 AI 替代
必须承认,学算法是有收益的,除了应付面试之外,工作中也能用得上。
比如我在腾讯工作的时候,就用过贪心算法、字典树、布隆过滤器这些来优化业务代码的性能,晋级答辩的时候也能摆一摆。
以前也有不少人觉得刷算法没用,但那个年代如果你不学算法,可能根本想不到应该用什么方法来优化代码,算法知识在工作中的实际应用场景还是不少的。
但如今,时代变了!
现在 AI 编程工具的发展实在太快了。你把代码丢给 Claude 或者 Cursor,说一句「帮我优化这段代码的性能」,它能直接分析出瓶颈在哪、建议你用什么算法、甚至直接帮你改好。如果 AI 给你推荐了某种你不熟悉的算法方案,你完全可以现场让 AI 给你讲解,理解它的原理,然后用到项目里。
这就好比以前开车,你得自己判断什么时候该换挡、该走哪条路线、遇到故障怎么排查。
现在呢?自动挡、车载导航、智能诊断全都帮你搞定了。
算法也是一样的道理,以前得靠自己想,现在 AI 帮你想,你只需要能驾驭 AI、对它给出的方案做出判断就够了。
3、刷算法的性价比太低
前面我说了,学算法是有收益的。
但关键是花几百个小时刷题,换来的收益值不值?
这就是个性价比的问题了。
很多同学花了几个月的时间,在血与泪的挣扎中,刷了三四百道题。结果最后面试的时候,还是没有遇到原题,面对新题目还是没有思路。
而且就算你做出来了,算法题在整个面试评价中的权重也在下降。毕竟大多数公司要招的是能做项目的人,不是算法高手,面试官心里也清楚这一点。
有人会说:那刷算法不是还能锻炼逻辑思维吗?
确实!
但锻炼逻辑思维的方式有很多,开发项目、做系统设计、写技术方案,哪个不是在锻炼思维?而且这些方式还能同时积累项目经验,一举两得。
有些同学算法题刷的挺多,什么接雨水、手撕红黑树搞得很溜儿,但是在真实项目中根本用不到这些。算法题和实际开发之间有很大的鸿沟,刷题能力强不等于做项目能力强。
对于大多数同学来说,与其花几百个小时刷题,不如把时间花在做一个完整的项目上。项目能写进简历、能在面试时聊上半小时、能体现你的工程能力和业务理解。毕竟你进公司就是要做项目的,算法题做完了就做完了。
而且在 AI 时代,能不能用好 AI、能不能做出判断,远比手写算法重要得多。
虽然 LeetCode 上刷题的人并没有明显减少,但面试的风向已经变了。连很多做算法培训的博主和机构,这两年都开始转型做 AI 方向了,这本身就已经能说明问题了。很多同学还是跟着前几年学长学姐的建议在拼命刷算法,但那些建议放到今天未必还适用。
不是刷题没用了,而是同样的时间,有回报更高的投入方式。
哪些人还要刷算法?
虽然说了这么多不用刷算法的理由,但我并不是一刀切地否定算法。有些情况下,刷算法题还是很有必要的。
校招冲大厂
如果你的目标是字节、腾讯、阿里这些大厂,那算法这关是躲不掉的,目前大厂面试确实还在考算法题。
根据今年网上关于春招面经的统计,大厂算法面试高度集中在特定题目上,高频考察 3 次以上的 100 道题就覆盖了 80% 的面试考点。
其中,字节是最重视算法的,几乎每轮面试都会考,还会追问时间复杂度和最优解。国外也类似,LeadDev 调查了 52 位科技巨头的面试官,目前还没有哪家公司完全取消算法题。
但你有没有想过,为什么大厂这么爱考算法?
换位思考一下,假设你是面试官,每天要面好几个人,本来工作就忙得要死,怎么快速筛选呢?
肯定是直接从网上找几道经典算法题,往那一放,候选人能不能做出来一目了然,多省事儿。
而且算法好的同学,确实在编程思维和解决问题的能力上普遍更强。大厂招人,尤其是校招,看重的就是潜力。
算法题就是这样一种高效的筛选工具。
有些天赋好的同学,看到题目就能想到该用什么算法;但更多人是做不到的,比如我,所以只能打题海战术,勤能补拙。一遍不懂就再刷一遍,多刷几遍总能记住,运气好面试碰到原题直接美滋滋。
所以想进大厂的同学,不管你喜不喜欢算法,该刷还是得刷,这就是游戏规则。
除了刷题外,有两件事一定要知道。
第一,大厂面试的重心已经在变了。 2026 年春招,蚂蚁笔试 3 道题里已经必含 1 道 AI Coding 题,看看你能不能用 AI 工具解决实际问题。
根据我们 面试鸭刷题网站 上的面经汇总,字节、百度、腾讯、华为、美团等大厂也开始在面试中加入 AI Coding 相关的考察,比如考你会不会用 AI 工具辅助开发、能不能做 AI 工程化。
放眼国外,变化更大。Meta 从 2025 年 10 月起直接允许候选人在面试中使用 GPT、Claude 等 AI 助手,考的已经是你怎么跟 AI 协作了,手写算法的时代正在成为过去式。
第二,刷算法的优先级不是最高的。 不管你要去大厂还是中小公司,求职的第一关都是简历。大多数同学并没有特别亮眼的竞赛经历或名校背景,简历上能打动面试官的就是真实的项目经验。没有像样的项目,投再多也石沉大海。
算法题是面试关要过的,但你连面试机会都没有,刷再多算法题又有什么用呢?
所以项目永远排在算法前面,这个优先级一定要搞清楚。
考研 408
考研 408 的数据结构科目占 45 分(满分 150 分),是四大模块里分值最高的。树、图、排序、查找这些算法知识点是必考的,而且综合应用题占比接近一半,不是背背概念就能应付的,需要你真正理解算法原理才行。
所以考研的同学确实需要学算法、多刷题。
但是要注意,408 考的是对算法原理的理解和分析能力,既考理论分析,也考算法设计题,需要你用伪代码或 C 代码手写出算法实现。这跟 LeetCode 上追求 AC 的刷法还是有区别的,408 更看重你的思路是否正确、复杂度分析是否到位。
备考的时候建议以历年真题为主,按题型归类来练,高频考点每年都会反复出现,把这些吃透就成功了一大半。
纯感兴趣
如果你是发自内心地喜欢算法,觉得解题的过程很有成就感,那当然可以刷。兴趣驱动的学习永远是最高效的。
不过我要强调一点:学算法和刷算法题是两回事。
学算法是理解算法的思想、适用场景、时间复杂度,知道什么情况下该用什么算法来解决实际问题。这个能力非常有价值,尤其是在 AI 时代,AI 给你一个方案,你得能判断好不好用、适不适合当前场景,这种判断力什么时候都不会过时。
而刷算法题是在 LeetCode 上反复学套路、练手速、追求 AC。这样做对面试有帮助,但你刷前 100 道题的时候进步最快,刷到后面,花的时间越来越多,提升却越来越小,就是所谓的「边际收益递减」。
如果你想学算法,但又觉得刷题太枯燥,可以先看看网上一些轻松有趣的算法学习资源,比如动画讲解、可视化演示之类的。我自己也做了一个 算法导航网站,覆盖了 10 多种数据结构和数十种经典算法,从排序查找到动态规划、图论,一站式学习。
指路:https://algo.codefather.cn
每个算法都配了动画演示,你可以直观地看到算法每一步是怎么运行的,理解它是什么、怎么用、有什么特点、什么时候该用,比对着代码干想效率高很多。理解了原理之后,你完全可以把算法当成一个黑盒来用,不用再去死磕内部实现的每一个细节了。
当然你也可以直接用 AI 来学算法,让它给你生成 傻子都能看懂 的解释、举生活中的例子、甚至一步步带你推导,效果也非常好。
对了,学算法对小朋友的思维启蒙其实挺好的。锻炼逻辑思维、培养解决问题的习惯,这些从小练起来,受益终身。以后我要是有了孩子,肯定也给他安排上,要么报个算法思维班,要么干脆自己开发个 AI 程序来教他。
咳咳,扯远了……
比刷算法更重要的事
对大多数学编程、准备找工作的同学来说,从开始学到求职也就两年左右的时间。时间有限,比起花在刷算法题上,不如把精力投入到回报更高的事情上。
1、学会 AI 编程
这是新时代程序员的第一课。
2026 年春招,字节、蚂蚁、百度、腾讯、华为这些大厂面试已经开始考察 AI 编程能力了。你连 Claude Code、Copilot、Cursor 这些工具都没用过,面试的时候怎么证明你能跟 AI 协作?
而且越来越多的公司在鼓励使用 AI 编程。腾讯 25 年的研发大数据报告显示,超 9 成工程师已经在使用 AI 编程,50% 的新增代码由 AI 辅助生成。
实际上很多团队的比例比这还高,有些创业公司 90% 以上的代码都是 AI 生成的了。连大厂内部都已经全面拥抱 AI 了,你觉得面试的时候会不看重这个能力吗?
我从 23 年就开始分享 AI 编程了,积累了不少经验,给大家分享一条 最短的速成路径。
可以先看我免费开源的 快速入门,学会 Cursor、Claude Code 等主流 AI 编程工具的用法。
然后跟着完整的 AI 编程实战项目练手,比如我的 、、 等等。日常也可以看看教程里的「经验技巧」和「产品变现」部分,说不定你做出来的 AI 工具还能赚到钱。
能熟练运用 AI 编程实现自己的想法后,再去学习 AI 应用开发所需的各种工具、概念、技术栈,比如 RAG、微调等等,结合 AI 也能很轻松地把这些技术运用到你想做的项目中。
2、做出并上线项目
我经常跟大家说,找工作时,只有过了简历关,才有后面的事情。
如果没有项目,简历上写什么?
写 LeetCode 刷了 500 道吗?
面试官看到这个,只会觉得这是很多人都在做的事,不会加分。搞不好面试的时候还会专门出道难一点的算法题,看看你这 500 道到底刷出了什么水平。
但如果你简历上有一个自己从零搭建并且上线了的项目,哪怕技术栈不复杂,面试官也能围绕这个项目跟你交流,你怎么做技术选型?遇到了什么问题?怎么解决的?这些答的好都是加分项。
而且项目上线了,面试官直接就能体验到,比简历上写一堆干巴的描述可信得多。
尤其是现在有了 AI 编程工具,做项目的门槛比以前低了很多。以前一个人从零开始做一个完整的项目,可能要几周甚至几个月,现在借助 AI,效率能提升好几倍。
门槛都降到这么低了,如果还不做个项目出来,是不是有点说不过去?
3、积累技术深度和业务理解
算法考的是「能不能解出这道题」,但工作中更重要的是「面对一个需求,你能不能选出最合适的技术方案」。
技术栈的深度、系统设计能力、对业务的理解,这些靠的是项目经验和持续学习实践,不是靠刷题能练出来的。
而且随着 AI 越来越强,代码执行层面的工作会越来越多地交给 AI,但审方案、做判断、做决策这些事,短期内还是得靠人。你的技术积累越深,就越能判断 AI 给的方案靠不靠谱,这才是 AI 时代真正重要的能力。
现在的大厂面试越来越爱考 AI 相关的面试题、系统设计和场景题了,权重比算法题还高。面试鸭 上有不少这方面的题目和题解,可以参考。
指路:https://mianshiya.com
虽然当初我自己刷了 1000 多道算法题,通过了大厂面试,我不否认刷题对我当年找工作的帮助。但那毕竟是几年前的事了,那时候没有 AI 编程工具、面试也不考 AI Coding,刷算法是不亏的。
时代变了,以前算法是程序员面试的硬通货,现在它更像是一个加分项。如果你想找工作进大厂、或者目标公司明确考察算法的,该刷还是要刷,但要注意优先级,把项目和 AI 工具的学习排在前面。对于其他大部分同学,与其花几百个小时在 LeetCode 上磨题,不如先学好 AI 编程,做个 AI 应用开发相关的项目。
未来,驾驭 AI 的能力会跟曾经的算法一样重要,甚至更重要。
学算法本身是好事,理解算法思想、培养技术判断力,这个能力什么时候都有价值。但「学算法」和「刷算法题」是两码事。学算法是目的,刷题只是手段之一。如果你把刷题本身当成了目的,刷了几百道题却不知道这些算法在实际场景中怎么用,那就是本末倒置了。
我是鱼皮,持续分享 AI 编程干货。觉得有用的话记得点赞收藏和关注~
也欢迎在评论区聊聊:如果你是面试官,你会考算法题吗?
热门跟贴