自学计算机科学的宏观计划分享 🌟
我的小伙伴动力十足,决定自学计算机科学 (CS),目标是成为大厂的软件开发工程师 (SDE)。他参考了一些网络上的学习计划,制定了一个宏观清单,但觉得还有改进的空间。于是,我来这里分享一下他的计划,希望大家能给予一些建议哦~ 👐
准备阶段 📚
开始之前,小伙伴为自己设定了一些签到和答题的规则,积累经验和资源。在学习过程中,预计面试时需要查看面经,所以积攒了188+大米。这些大米可以通过每天签到答题获得,答对能加分,答错会扣分,真是要谨慎!
系统接触计算机基础 🖥️
小伙伴准备从以下课程入手,打下坚实基础:
- 计算机导论:MIT的6.001、Harvard的CS50、Berkeley的CS61A
- 数据结构与算法:Stanford的CS 106系列、UC Berkeley的CS61B
- 操作系统:MIT的6.S081、UC Berkeley的CS 162
- 计算机组成原理和体系结构:CMU的CS 15213、MIT的6.004、UCBerkeley的CS 61C
- 计算机网络:UMASS的Computer Networking、Stanford的CS144
选择编程语言 🔍
经过基础课程,他发现自己对 Java 和 Python 特别感兴趣。Python 上手迅速,而 Java 的语法规范性更高,有助于养成良好的编程习惯和清晰的面向对象概念。他也坦言将来也不排除选其他语言的可能性。
刷题计划 🗒️
小伙伴意识到,刷题是提升技能不可或缺的一部分。他计划制定一个刷题时间表,在 LeetCode 上根据难度从初级到高级逐步解决问题,同时总结解题套路。他还关注了一些知名的刷题博主,像是花花酱、小Q刷题、Back to Back SWE 和 labuladong。
丰富项目经验 ✨
在Github 和 Udemy 上寻找项目,提升实战经验是另一个重要步骤。小伙伴希望参与各种类型的项目来丰富简历和背景知识,同时准备一些常见的行为面试问题,找寻答案和应对技巧,让答题准备更加充分。
投递简历 📄
一切准备就绪后,可以开始投递简历。要确保简历突出个人优势和项目经验。
查看面经 📖
在攒够大米后,他终于可以看面经了! 🎉🎉🎉 针对心仪的公司,整理和汇总面经,将重点整理成文档,以便反复练习题目,为即将到来的面试做好准备。
总结 🌈
这份计划涵盖了学习 CS 的各个阶段,虽然可以根据个人情况调整,但整体结构相对完善。希望大家对这个学习计划提出更多见解或建议,让每一个想要在计算机科学领域打拼的小伙伴都能拥有一个清晰的路径!
#转码 #程序员 #经验分享 #编程 #找工作 #北美转码