没有计算机学位每天学8-12小时最终成为亚马逊软件开发工程师这份开源的学习路线已经帮了无数人 先看痛点非科班想进大厂到底该怎么学你想成为一名软件工程师想去大厂比如亚马逊、谷歌、微软。但你不是计算机专业毕业的。你面临几个困境不知道学什么网上资料太多算法、数据结构、系统设计、操作系统……从哪里开始不知道学到什么程度二叉树要学多深动态规划要不要啃浪费时间在不需要的东西上花几周学了一个知识点面试根本不考学了就忘看完视频、做完笔记一个月后全还回去了核心矛盾大厂面试考的是“计算机科学基础”但非科班的人根本不知道这个“基础”的边界在哪里。要么学得太浅被刷要么学得太深浪费时间。✅ 这个项目是什么“Coding Interview University”是一个开源的、社区驱动的、面向大厂技术面试的自学路线图。一句话一份“从零基础到通过大厂算法面试”的完整学习计划作者John Washam自己就是一个成功的案例没有计算机学位每天学习8-12小时坚持了几个月最终成为亚马逊的软件开发工程师SDE他把自己的学习路线、资源、踩过的坑全部整理成了这个GitHub仓库。目前已经收获了30万 stars翻译成了20多种语言帮助了全球无数开发者。 它解决了什么问题1. 不知道学什么 → 给了你完整的目录这份学习计划像一本“教科书目录”涵盖了计算机科学的核心知识点模块包含内容算法复杂度Big-O、渐进分析、时间复杂度数据结构数组、链表、栈、队列、哈希表、树、堆、图排序算法快排、归并、堆排、基数排序更多知识二分查找、位运算、递归、动态规划、设计模式、缓存、进程与线程系统设计4年以上经验需要可扩展性、数据库、分布式系统每个知识点都附带了免费的学习资源视频、文章、讲义。2. 不知道学到什么程度 → 给了你“检查清单”每个知识点都有明确的“实施要求”有的只需要“看视频、做笔记”有的需要“手写实现”比如实现一个哈希表有的需要“做2-3道LeetCode题”你可以一边学一边在清单上打勾 ✅进度看得见。3. 学了就忘 → 教你用“间隔重复”作者自己踩过这个坑看了几个月视频、记了厚厚一本笔记回头一看全忘了。他的解决方案做flashcard抽认卡把知识点做成问答卡片反复刷一边学一边做题学完“链表”立刻去LeetCode做2-3道链表题不要等到最后才刷题推荐的工具Anki免费、全平台、云同步间隔重复一种记忆方法在快要忘记的时候复习效果最好。Anki 就是做这个的。4. 容易放弃 → 给了你“成功案例”和“心态建设”作者专门写了一篇文章告诉你你不是不够聪明只是还没学到位。他推荐的视频“The myth of the Genius Programmer”天才程序员的神话“It‘s Dangerous to Go Alone”对抗内心的“我不够好” 这份学习计划包含什么核心内容一览第一阶段基础主题要做什么选一门语言推荐C理解指针和内存 Python面试写代码快算法复杂度Big-O理解O(1)、O(n)、O(log n)、O(n²)的区别数组实现动态数组自动扩容链表实现单向链表、双向链表栈和队列用数组和链表分别实现哈希表实现一个哈希表解决哈希冲突Big-O衡量算法“快慢”的方法。比如O(n)的意思是“数据量翻倍时间也翻倍”O(1)的意思是“不管数据多少时间都一样”。第二阶段核心数据结构主题要做什么树和二叉树前序、中序、后序、层序遍历二叉搜索树BST实现插入、查找、删除堆优先队列实现最大堆/最小堆图BFS广度优先、DFS深度优先、Dijkstra最短路径BFS/DFS两种遍历图或树的方式。BFS是一层一层往外扩像水面波纹DFS是沿着一条路走到黑再回头。第三阶段算法主题要做什么排序快排、归并、堆排手写实现二分查找递归和非递归实现递归理解“函数调用自身”动态规划经典题斐波那契、背包问题、编辑距离动态规划把一个大问题拆成重复的小问题记住小问题的答案避免重复计算。面试中属于“进阶难度”但大厂很爱考。第四阶段进阶可选主题说明系统设计如何设计一个可扩展的系统4年以上经验必问操作系统进程、线程、内存管理、锁网络TCP/IP、HTTP、WebSocket数据库索引、事务、范式、NoSQL 怎么用三步上手第一步Fork 或 下载项目# 用 git 克隆推荐gitclone https://github.com/jwasham/coding-interview-university.git# 或者直接下载 ZIP 文件# 点击 GitHub 页面的 Code → Download ZIP第二步按顺序学习从Algorithmic complexity / Big-O开始从上到下一项一项过。关键原则每个主题先看视频/读文章然后手写实现代码用你选的语言最后去LeetCode做2-3道相关题目在清单里打勾 ✅第三步用Anki做记忆卡片下载Anki导入作者提供的卡片库约1200张每天刷20-30张。卡片长这样正面“什么是哈希表”背面“一种通过哈希函数将键映射到桶的数据结构平均O(1)访问” 谁最适合用这份计划人群为什么适合非计算机专业想转行做开发没有系统的CS知识需要一份“补课清单”自学编程但感觉基础不牢会写业务代码但问“哈希表怎么实现的”就懵了准备面试大厂FAANG等面试考的就是这些而且深度刚刚好计算机专业学生想查漏补缺学校教的理论偏多这份计划更“面试导向”在职开发者想跳槽大厂工作几年了但算法题很久没碰需要系统复习一个典型的“成功路径”背景小明化学专业毕业自学了Python会写简单的爬虫和Web应用。问题想去大厂但一刷LeetCode就懵不知道从哪开始。数据结构只知道“列表”和“字典”。用这份计划先花2周学Big-O和数组/链表手写实现一个动态数组、一个单向链表刷LeetCode上“数组”和“链表”标签的简单题继续学栈、队列、哈希表……3-4个月后可以刷中等难度的题了6-8个月后系统学习完毕开始刷真题、模拟面试结果拿到了亚马逊的offer。 这份计划 vs 大学CS专业大学CS专业这份学习计划时长4年6-12个月全职费用几万到几十万免费广度非常广编译原理、图形学、形式语言等聚焦“面试会考的”深度理论深度大够用就行重在应用实践偏少每个知识点都要手写代码面试针对性弱极强作者自己说他只学了CS专业约75%的内容但已经足够通过大厂面试。重点你不必学完整个计算机科学课程。面试考的是“核心”不是“全部”。⚠️ 常见误区作者踩过的坑误区正确的做法只看视频不写代码每个数据结构都要手写实现一遍到最后才刷题学完一个主题立刻做2-3道相关题目做太多笔记用flashcard替代长篇笔记追求完美学太深平衡二叉树的几种变体AVL、红黑树知道概念即可不用全部手写低估面试行为问题除了算法还要准备“你最大的挑战是什么”这类问题作者自己浪费了大量时间在不需要深入的地方。他专门写了一篇文章“Don‘t Make My Mistakes”建议你读一下。 推荐的核心书籍语言推荐书通用《Coding Interview Patterns》最推荐C语言《Algorithms in C, Parts 1-5》Java《Data Structures and Algorithms in Java》或《Algorithms》SedgewickPython《Coding Interview Patterns》面试刷题《Cracking the Coding Interview》第6版这些书不需要全读选一门语言对应的配合视频学习即可。 资源和工具类型名称用途刷题网站LeetCode最推荐的刷题平台刷题网站HackerRank适合初学者刷题网站Codeforces竞赛向难度高模拟面试Pramp和 peers 互相模拟模拟面试interviewing.io匿名和FAANG工程师模拟记忆工具Anki免费抽认卡全平台系统设计The System Design Primer开源系统设计指南✅ 总结层次核心内容解决了什么非科班/自学者不知道“大厂面试考什么、学到什么程度”的矛盾核心方法①完整目录 ②检查清单 ③学完立刻做题 ④间隔重复记忆怎么用Fork项目 → 按顺序学 → 手写代码 → 刷LeetCode → 打勾 ✅谁适合转行者、自学者、准备大厂面试的人、CS学生查漏补缺预计时间兼职6-12个月 / 全职3-6个月 立即开始gitclone https://github.com/jwasham/coding-interview-university.gitcdcoding-interview-university打开 README.md从Algorithmic complexity / Big-O开始。GitHubgithub.com/jwasham/coding-interview-university中文翻译README-cn.md在 translations 目录下作者博客startupnextdoor.com从今天开始每天学一点。8个月后你也能成为那个“拿到offer的人”。
从零基础到拿下亚马逊offer:这份“编程面试大学”学习计划,我用了8个月
发布时间:2026/6/16 14:30:08
没有计算机学位每天学8-12小时最终成为亚马逊软件开发工程师这份开源的学习路线已经帮了无数人 先看痛点非科班想进大厂到底该怎么学你想成为一名软件工程师想去大厂比如亚马逊、谷歌、微软。但你不是计算机专业毕业的。你面临几个困境不知道学什么网上资料太多算法、数据结构、系统设计、操作系统……从哪里开始不知道学到什么程度二叉树要学多深动态规划要不要啃浪费时间在不需要的东西上花几周学了一个知识点面试根本不考学了就忘看完视频、做完笔记一个月后全还回去了核心矛盾大厂面试考的是“计算机科学基础”但非科班的人根本不知道这个“基础”的边界在哪里。要么学得太浅被刷要么学得太深浪费时间。✅ 这个项目是什么“Coding Interview University”是一个开源的、社区驱动的、面向大厂技术面试的自学路线图。一句话一份“从零基础到通过大厂算法面试”的完整学习计划作者John Washam自己就是一个成功的案例没有计算机学位每天学习8-12小时坚持了几个月最终成为亚马逊的软件开发工程师SDE他把自己的学习路线、资源、踩过的坑全部整理成了这个GitHub仓库。目前已经收获了30万 stars翻译成了20多种语言帮助了全球无数开发者。 它解决了什么问题1. 不知道学什么 → 给了你完整的目录这份学习计划像一本“教科书目录”涵盖了计算机科学的核心知识点模块包含内容算法复杂度Big-O、渐进分析、时间复杂度数据结构数组、链表、栈、队列、哈希表、树、堆、图排序算法快排、归并、堆排、基数排序更多知识二分查找、位运算、递归、动态规划、设计模式、缓存、进程与线程系统设计4年以上经验需要可扩展性、数据库、分布式系统每个知识点都附带了免费的学习资源视频、文章、讲义。2. 不知道学到什么程度 → 给了你“检查清单”每个知识点都有明确的“实施要求”有的只需要“看视频、做笔记”有的需要“手写实现”比如实现一个哈希表有的需要“做2-3道LeetCode题”你可以一边学一边在清单上打勾 ✅进度看得见。3. 学了就忘 → 教你用“间隔重复”作者自己踩过这个坑看了几个月视频、记了厚厚一本笔记回头一看全忘了。他的解决方案做flashcard抽认卡把知识点做成问答卡片反复刷一边学一边做题学完“链表”立刻去LeetCode做2-3道链表题不要等到最后才刷题推荐的工具Anki免费、全平台、云同步间隔重复一种记忆方法在快要忘记的时候复习效果最好。Anki 就是做这个的。4. 容易放弃 → 给了你“成功案例”和“心态建设”作者专门写了一篇文章告诉你你不是不够聪明只是还没学到位。他推荐的视频“The myth of the Genius Programmer”天才程序员的神话“It‘s Dangerous to Go Alone”对抗内心的“我不够好” 这份学习计划包含什么核心内容一览第一阶段基础主题要做什么选一门语言推荐C理解指针和内存 Python面试写代码快算法复杂度Big-O理解O(1)、O(n)、O(log n)、O(n²)的区别数组实现动态数组自动扩容链表实现单向链表、双向链表栈和队列用数组和链表分别实现哈希表实现一个哈希表解决哈希冲突Big-O衡量算法“快慢”的方法。比如O(n)的意思是“数据量翻倍时间也翻倍”O(1)的意思是“不管数据多少时间都一样”。第二阶段核心数据结构主题要做什么树和二叉树前序、中序、后序、层序遍历二叉搜索树BST实现插入、查找、删除堆优先队列实现最大堆/最小堆图BFS广度优先、DFS深度优先、Dijkstra最短路径BFS/DFS两种遍历图或树的方式。BFS是一层一层往外扩像水面波纹DFS是沿着一条路走到黑再回头。第三阶段算法主题要做什么排序快排、归并、堆排手写实现二分查找递归和非递归实现递归理解“函数调用自身”动态规划经典题斐波那契、背包问题、编辑距离动态规划把一个大问题拆成重复的小问题记住小问题的答案避免重复计算。面试中属于“进阶难度”但大厂很爱考。第四阶段进阶可选主题说明系统设计如何设计一个可扩展的系统4年以上经验必问操作系统进程、线程、内存管理、锁网络TCP/IP、HTTP、WebSocket数据库索引、事务、范式、NoSQL 怎么用三步上手第一步Fork 或 下载项目# 用 git 克隆推荐gitclone https://github.com/jwasham/coding-interview-university.git# 或者直接下载 ZIP 文件# 点击 GitHub 页面的 Code → Download ZIP第二步按顺序学习从Algorithmic complexity / Big-O开始从上到下一项一项过。关键原则每个主题先看视频/读文章然后手写实现代码用你选的语言最后去LeetCode做2-3道相关题目在清单里打勾 ✅第三步用Anki做记忆卡片下载Anki导入作者提供的卡片库约1200张每天刷20-30张。卡片长这样正面“什么是哈希表”背面“一种通过哈希函数将键映射到桶的数据结构平均O(1)访问” 谁最适合用这份计划人群为什么适合非计算机专业想转行做开发没有系统的CS知识需要一份“补课清单”自学编程但感觉基础不牢会写业务代码但问“哈希表怎么实现的”就懵了准备面试大厂FAANG等面试考的就是这些而且深度刚刚好计算机专业学生想查漏补缺学校教的理论偏多这份计划更“面试导向”在职开发者想跳槽大厂工作几年了但算法题很久没碰需要系统复习一个典型的“成功路径”背景小明化学专业毕业自学了Python会写简单的爬虫和Web应用。问题想去大厂但一刷LeetCode就懵不知道从哪开始。数据结构只知道“列表”和“字典”。用这份计划先花2周学Big-O和数组/链表手写实现一个动态数组、一个单向链表刷LeetCode上“数组”和“链表”标签的简单题继续学栈、队列、哈希表……3-4个月后可以刷中等难度的题了6-8个月后系统学习完毕开始刷真题、模拟面试结果拿到了亚马逊的offer。 这份计划 vs 大学CS专业大学CS专业这份学习计划时长4年6-12个月全职费用几万到几十万免费广度非常广编译原理、图形学、形式语言等聚焦“面试会考的”深度理论深度大够用就行重在应用实践偏少每个知识点都要手写代码面试针对性弱极强作者自己说他只学了CS专业约75%的内容但已经足够通过大厂面试。重点你不必学完整个计算机科学课程。面试考的是“核心”不是“全部”。⚠️ 常见误区作者踩过的坑误区正确的做法只看视频不写代码每个数据结构都要手写实现一遍到最后才刷题学完一个主题立刻做2-3道相关题目做太多笔记用flashcard替代长篇笔记追求完美学太深平衡二叉树的几种变体AVL、红黑树知道概念即可不用全部手写低估面试行为问题除了算法还要准备“你最大的挑战是什么”这类问题作者自己浪费了大量时间在不需要深入的地方。他专门写了一篇文章“Don‘t Make My Mistakes”建议你读一下。 推荐的核心书籍语言推荐书通用《Coding Interview Patterns》最推荐C语言《Algorithms in C, Parts 1-5》Java《Data Structures and Algorithms in Java》或《Algorithms》SedgewickPython《Coding Interview Patterns》面试刷题《Cracking the Coding Interview》第6版这些书不需要全读选一门语言对应的配合视频学习即可。 资源和工具类型名称用途刷题网站LeetCode最推荐的刷题平台刷题网站HackerRank适合初学者刷题网站Codeforces竞赛向难度高模拟面试Pramp和 peers 互相模拟模拟面试interviewing.io匿名和FAANG工程师模拟记忆工具Anki免费抽认卡全平台系统设计The System Design Primer开源系统设计指南✅ 总结层次核心内容解决了什么非科班/自学者不知道“大厂面试考什么、学到什么程度”的矛盾核心方法①完整目录 ②检查清单 ③学完立刻做题 ④间隔重复记忆怎么用Fork项目 → 按顺序学 → 手写代码 → 刷LeetCode → 打勾 ✅谁适合转行者、自学者、准备大厂面试的人、CS学生查漏补缺预计时间兼职6-12个月 / 全职3-6个月 立即开始gitclone https://github.com/jwasham/coding-interview-university.gitcdcoding-interview-university打开 README.md从Algorithmic complexity / Big-O开始。GitHubgithub.com/jwasham/coding-interview-university中文翻译README-cn.md在 translations 目录下作者博客startupnextdoor.com从今天开始每天学一点。8个月后你也能成为那个“拿到offer的人”。