当前位置: 首页 > news >正文

从手写快排到AI生成代码:一个.NET工程师十二年间的算法观

写在前面:本文不是技术教程,是一个工作十二年的.NET工程师,对"算法学习"这件事的阶段性反思。观点可能过时,但经历真实。

一、2012年:我手写快排的那个下午

刚入职那会儿,公司还在用.NET Framework 3.5。 leader 扔给我一本《算法导论》,说:"先把基础打牢,后面做架构才稳。"

我花了两周,在记事本里手写快排、归并、堆排序。没有IDE提示,没有LeetCode,没有AI。写错了就调试,调通了抄在笔记本上。

那时候的学习很慢,但记得很牢。十年后我还能在白板上写出快排的 partition 逻辑,不是因为背得多,是因为当年每个边界条件都踩过坑。

2012年的算法学习,是"手艺活"。

二、2018年:LeetCode来了,一切都变快了

LeetCode在国内火起来,面试开始考Hard题。我刷了200道,感受复杂。

一方面,确实补了图论、动态规划的短板。以前做调度系统,只知道暴力枚举,后来会用贪心+优先队列优化。

另一方面,刷题和工作的割裂感越来越强。面试手写线段树,入职写三个月CRUD。那种落差,很多老工程师应该懂。

我观察到一个现象:团队里算法面试分高的新人,工程能力未必强。反过来,几个工程能力最好的老同事,算法题反而做不出来——不是不会,是不适应那种"脱离上下文"的解题模式。
三、2024-2026:AI工具的冲击,比想象中深

公司去年开始试点Copilot,今年全面转Cursor。我算是比较积极拥抱的,但内心有矛盾。

效率确实提升了。 以前写个复杂LINQ要查文档试半天,现在AI直接给。以前手写正则表达式,现在描述需求就行。

但有些东西在流失。 上周我让AI生成一个字典树(Trie)的实现,它给了段很漂亮的代码。我copy过来跑了,work。但一周后需求变更,要加模糊匹配,我改不动了——因为那段代码不是我写的,我理解得不深。

这让我想起2012年手写快排的经历。那时候慢,但每个细节都刻进脑子里。现在快,但知识和手之间,隔了一层AI。

四、算法在工程中的真实位置:我的十二年观察

说点具体数据。我翻了近五年的项目,明确用到"教科书算法"的场景:

2019年:权限系统,用位运算做角色组合。自己写的,因为.NET生态里没现成的。

2021年:日志分析,用后缀数组做模式匹配。后来改成调库,维护成本更低。

2023年:缓存系统,用LRU淘汰。直接用的MemoryCache,微软封装好了。

2025年:数据处理管道,AI建议用拓扑排序做任务编排。我理解了思路,但代码是AI生成的。

趋势很明显:我亲手写的算法在减少,但我"理解并选择"算法的需求在增加。

.NET生态尤其明显。以前很多算法要自己造轮子,现在NuGet里都有成熟实现。AI进一步加速了这个过程。

五、我现在怎么看待"刷算法"

我的观点分两层:

第一层:对新人

如果你还在面试阶段,刷题是必要成本。但别沉迷题数,重点理解为什么这个算法适合这个场景。面试考的不是代码,是决策能力。

第二层:对老工程师

如果你工作五年以上,还在刷LeetCode,我建议停下来问问自己:是在补短板,还是在逃避更难的工程问题?

我见过太多技术人,包括我自己,用"刷算法"来获得虚假的安全感。因为算法题有标准答案,而工程问题没有。重构遗留系统、推动技术债偿还、跨团队沟通——这些没有AC按钮,但价值远高于刷一道Hard题。

六、AI时代,老工程师的算法学习建议

这是我现在的做法,不一定对,供参考:

  1. 读经典,不刷题

《算法导论》《编程珠玑》这种书,隔几年重读一遍。不是为了面试,是为了刷新思维框架。刷题网站是训练场,经典书是健身房。

  1. 看源码,不看题解

.NET的LINQ实现、EF Core的查询优化、ASP.NET Core的中间件管道。这些"工业级算法",比LeetCode上的题更贴近工程。

  1. 用AI辅助理解,但不依赖生成

让AI解释算法原理,对比不同方案的trade-off。但关键代码自己手写一遍,哪怕在纸上。这个"手写"的过程,是建立理解的关键。

  1. 把算法思维用在架构上

不是写排序,而是设计一个能自动排序和去重的数据管道。不是写图遍历,而是设计一个服务依赖的启动顺序系统。算法是工具,架构是目的。

七、最后:一点怀旧,但不恋旧

我怀念2012年手写快排的那个下午。不是因为那时候更好,而是因为那种"慢而深"的学习方式,在今天是奢侈品。

AI不会让我们变笨,但过度依赖AI会让我们变懒。而懒,是技术人最大的敌人。

我不反对用Cursor写代码,我自己每天用。但我给自己定了个规矩:AI生成的核心逻辑,我必须能在白板上复述出来。复述不出来,说明我理解不够,得回头啃。

算法学习的目的,从来不是写出更快的代码,而是培养出"能判断什么代码更快"的直觉。 这个直觉,AI给不了,只能自己练。

十二年.NET路,从WebForm到.NET 9,从手写算法到AI协作。同路人应该有感触。评论区聊聊你的经历,尤其是老工程师,想听听你们怎么看。

http://www.jsqmd.com/news/950608/

相关文章:

  • 网络安全和安防建设方案(doc文件)
  • 基于Makey Makey与Scratch的校园互动问答系统设计与实现
  • 沪上珠宝首饰回收权威榜单,蒂芙尼回收首选上海禹竞名奢汇 - 奢侈品交易观察员
  • trick
  • 【仅剩47家获准试点】AI驱动的动态质押率系统:如何用联邦学习在不共享原始数据前提下提升抵押率容忍度22.6%?
  • 不如去杭州“躺平”一会儿!西湖边这条惬意漫步路线,太治愈了
  • 2026 年 6 月证券刷题神器实测:免费高效通关全攻略 - 讲清楚了
  • 别再手动转换了!CAPL脚本里整型数组与Hex字符串互转的通用函数库(附完整源码)
  • 开源征程,邀你同行|IvorySQL 2026 布道者招募启动,快来报名!
  • 2026苏州吴中/吴江/昆山瓷砖空鼓需要全部砸掉吗?本地专业答案 - 苏易修缮
  • 遥感入门不求人:用Python+ENVI 5.3快速识别植被、水体与裸土(附光谱曲线对比图)
  • 3步搞定Windows风扇控制难题:FanControl完整实用指南
  • DIY蓝牙音箱全流程:从电路设计到木工制作,打造个性化音频设备
  • Micro:bit与伺服电机打造圣诞旋转木马:从硬件连接到编程控制
  • 2026苏州姑苏/常熟老房子瓷砖空鼓翘边能彻底修好吗? - 苏易修缮
  • XDM浏览器扩展终极指南:如何快速安装并提升下载速度500%
  • 2026苏州姑苏/园区/相城梅雨季瓷砖空鼓发霉、返潮脱落怎么处理 - 苏易修缮
  • MATLAB小波多尺度图像配准与融合可视化工具(含测试图+可运行GUI源码)
  • 5分钟打造你的Windows桌面监控中心:TrafficMonitor插件终极指南
  • 2026年泰安装修设计公司推荐榜:尚城装饰中高端家装/高端别墅设计/整装施工/全屋定制/轻奢品质家装/宋式美学与新中式极简风家居推荐 - 品牌企业推荐师(官方)
  • 监管新规倒计时60天:金融机构AI投资系统合规改造清单(含证监会备案自查表V2.3)
  • 从一封邮件被删除说起:Wireshark深度解析POP3协议的‘状态机’与安全启示
  • 2026苏州吴江/昆山/常熟/太仓瓷砖空鼓怎么修?本地免砸砖修复方法大全 - 苏易修缮
  • 我用 AI 模拟字节跳动三面,系统设计轮答到一半面试官沉默了
  • 用AI写论文为何越用越累?复盘我的踩坑经验与正确用法
  • 【v 2.7.5 新版】爆火 Open Claw 完整部署教程(含安装包)
  • 用树莓派搭建Pi-Hole:打造无广告家庭网络的完整指南
  • 2026苏州全城免砸砖修瓷砖空鼓靠谱吗?本地实测真实效果 - 苏易修缮
  • 智能担保不是加AI,而是重定义风险契约——基于27家金融机构实测数据的5维评估模型
  • 从零打造模型火箭自动化发射台:机电一体化与嵌入式系统实战