AI时代,是否还要死磕《算法导论》等基础知识?

【问题引入】在当前AI时代下,程序员是否还需要死磕“算法导论”、“数据结构与算法分析”、“计算机网络”等知识?遇到不懂的知识,AI一下就有现成的解决方案了,还有必要花大量时间和精力来学习这些基础吗?

和AI做了一些讨论,整理如下,供大家参考。

1. 先承认AI确实改变了什么

以前需要记忆/手写的:

  • 排序算法实现细节
  • 具体API用法
  • 配置文件格式
  • 样板代码
  • 常见bug的解法

这些AI确实做得很好,继续死磕"记住实现"意义确实降低了。

2. 几个关键问题值得认真想

2.1 你能判断AI给的答案是否正确吗?

AI会自信地给出错误的算法选择:

# 场景:10亿条数据去重 # AI可能给你: seen = set() # 直接用set # 但如果你懂布隆过滤器的原理,你会知道这个方案会OOM # AI不是不会给出布隆过滤器方案,而是你不懂,你不知道该追问什么

没有基础,你无法有效提问,也无法验证答案。


2.2 AI给的是"解法",不是"判断力"

真实工作中的问题往往是: "我们的系统在数据量增长后变慢了" "这个接口偶发超时" "这个功能怎么设计更合理" 这些问题: - 没有标准答案让AI查 - 需要你自己建模和拆解 - 需要你理解权衡取舍

AI能回答清晰的问题,但将模糊问题变成清晰问题需要基础知识。


2.3 区分"是什么"和"为什么"

层次AI能否替代举例
记住实现✅ 基本可以快排代码怎么写
知道有什么✅ 大部分可以有哪些排序算法
选择用什么⚠️ 需要你判断这个场景用哪个
理解为什么❌ AI给答案但你得懂为什么这样设计
系统级权衡❌ 难以替代整体架构怎么取舍

3. 该死磕什么,不该死磕什么

3.1 不必要的死磕方式(时代确实变了)

❌ 反复手写红黑树实现直到背下来 ❌ 记忆所有网络协议的报文格式 ❌ 刷500道LeetCode只为了背题 ❌ 把《算法导论》当数学书从头推导

3.2 仍然值得深入的

✅ 复杂度分析的思维方式 —— 不是背公式,是建立"规模感" ✅ 数据结构的设计哲学 —— 为什么需要这种结构,它在解决什么矛盾 ✅ 计算机网络的核心模型 —— TCP为什么这样设计,HTTP的本质是什么 ✅ 系统设计中的基本权衡 —— CAP、一致性、可用性这些真实存在的约束

3.3 一个更本质的视角

AI本质上是:

  • 把人类过去解决过的问题的答案,以更快的速度检索和重组给你

但它不能替代的是:

  • 判断当前问题是否"过去解决过的"
  • 识别问题中的新变量
  • 对错误答案的识别能力
  • 在约束条件下的创造性权衡

基础知识的价值不在于"存储答案",而在于建立判断力。

4. 实际建议

如果你是学生/初级程序员:

基础仍然要学,但学法变了——重理解轻记忆,用AI辅助理解而不是替代理解

如果你是有经验的程序员:

AI能放大你的基础,基础越深,用AI越高效;基础薄,AI只会给你生产力幻觉

一个可以自测的问题:

当AI给你一个方案,你能说出"这个方案在什么条件下会失效"吗?