📘 Coding Interview University(编程面试大学)
📌 项目简介
这是一个完整的计算机科学学习计划,帮助你成为一名软件工程师。 ([GitHub][1])
最初作者只是写了一个简单的学习 TODO 列表,但逐渐扩展成一个系统化学习路线。
作者按照这个计划学习后,成功入职 Amazon 软件工程师岗位。 ([GitHub][1])
⚠️ 作者特别说明:
- 你不需要像他一样每天学习 8–12 小时
- 但这个清单包含了你需要掌握的全部核心知识
🧭 一、学习计划结构(The Study Plan)
包含内容
- 这是什么?
- 为什么使用它?
- 如何使用
- 编程语言选择
- 数据结构与算法书籍
- 面试准备书籍
- 每日学习计划
- 编程题练习
👉 本质:
一套“从 0 → 面试通过”的完整路径
🧠 二、核心学习内容(Topics of Study)
这是整个项目最核心的部分👇
1️⃣ 算法基础
- 时间复杂度 / Big-O
- 渐进分析(Asymptotic analysis)
2️⃣ 数据结构
- 数组(Array)
- 链表(Linked List)
- 栈(Stack)
- 队列(Queue)
- 哈希表(Hash Table)
3️⃣ 基础算法与技巧
- 二分查找(Binary Search)
- 位运算(Bitwise Operations)
4️⃣ 树(Trees)
- 树基础
- 二叉搜索树(BST)
- 堆 / 优先队列
-
树遍历:
- 前序 / 中序 / 后序
- BFS / DFS
5️⃣ 排序算法
- 选择排序
- 插入排序
- 堆排序
- 快速排序
- 归并排序
6️⃣ 图(Graphs)
- 有向图 / 无向图
- 邻接矩阵 / 邻接表
- BFS / DFS
7️⃣ 进阶知识
- 递归(Recursion)
- 动态规划(Dynamic Programming)
- 设计模式(Design Patterns)
- 组合数学 & 概率
- NP / NP-Complete 问题
- 字符串处理
- Trie
- 网络(Networking)
- 浮点数 / Unicode / 字节序
8️⃣ 系统与底层知识
- 程序执行原理
- 缓存(Cache)
- 进程与线程
- 并发问题(锁、死锁等)
- 内存模型(堆、栈)
9️⃣ 最终复习
系统回顾所有知识点
💼 三、求职部分(Getting the Job)
- 优化简历
- 找工作
- 面试流程准备
- 面试时的思考点
- 向面试官提问
- 拿到 Offer 后
📚 四、可选扩展(Optional)
⚠️ 以下是“加分项”,不是必须:
高级计算机科学内容
- 编译器
- 信息论
- 密码学
- 压缩算法
- 计算机安全
- 并行计算
- 消息队列系统
高级数据结构
- 红黑树 / AVL 树
- B 树
- 跳表(Skip List)
- 并查集(Union-Find)
- 布隆过滤器(Bloom Filter)
- HyperLogLog
数学与算法
- FFT(快速傅里叶变换)
- 线性规划
- 几何算法
系统设计(重要)
👉 适用于 4 年以上经验:
- 可扩展性(Scalability)
- 数据处理系统
🧪 五、刷题与练习(非常关键)
推荐平台:
- LeetCode(强烈推荐)
- HackerRank
- TopCoder ([GitHub][1])
👉 核心建议:
- 持续刷题
- 学会分析解法
- 总结模式(pattern)
🛠️ 六、如何使用这个仓库(How to use it)
方法 1:不使用 Git
- 下载 ZIP
- 用编辑器查看 Markdown
方法 2:使用 Git(推荐)
- Fork 仓库
- Clone 到本地
- 按学习进度打勾
[x] - 提交自己的学习进度
👉 本质:
把它当成“学习进度管理系统”
⚠️ 七、作者建议(非常重要)
1️⃣ 不要怀疑自己不够聪明
- 很多工程师都有“自己不够聪明”的不安全感
- 这是普遍现象
2️⃣ 视频资源说明
-
一些课程来自:
- Coursera
- edX
-
有些需要等待开课
🧠 核心本质总结(给你做架构抽象)
这个项目本质是:
✅ 一个「计算机科学知识图谱 + 学习路径引擎」
如果用你熟悉的系统设计语言来拆👇
1️⃣ 数据层(知识图谱)
- DS + Algo
- OS / 网络
- 数学
- 系统设计
2️⃣ 流程层(学习路径)
类似:
基础 → 数据结构 → 算法 → 系统 → 面试
3️⃣ 执行层(训练)
- 刷题(LeetCode)
- 模拟面试
- 项目实践
4️⃣ 结果层(输出)
- Offer
- 工程能力
- CS 基础
🚀 一句话总结
这是目前 GitHub 上最系统的「算法 + 计算机基础 → 面试」完整路线图之一。 ([GitHub][1])
