Skip to content

转码

Published: at 04:59 PM

Here lies one whose name was written in water.

明亮的星

零基础java是看韩顺平好,还是看赫尔辛基大学的java programming和cs61b配合使用好啊

本人北美转码,要死要活一年半之后顺利上岸faang啦!自己转码的时候用了一个很棒的网站:https://csdiy.wiki,是一个北大转码大神列出的他上过的课程。简直仰望。结合自己的转码经历和这个课程列表想给大家推荐一个亲测可行的自学转码后端道路。


写在最前面

所有转码的jm肯定在开始转码面临的第一个问题就是:前端 or 后端。前端自学可能性比较大些,因为基本市面上的网课都是面向前端的。一般js/css/html三件套就可以解决了。比如特别火的yelp camp之类。后端一般会学习曲线陡一点,门槛也高一点(当然好处可能是就业面广一点)。尤其如果想做云服务,infra和system这类,所需要的知识结构是很难通过udamy之类轻量的网课达到的。所以我个人认为比较好的途径就是直接上大学的课程。如果已经不在学校或者没办法选cs课程怎么办呢?不过所幸现在网络资源发达,各种课程应有尽有。如果你拿不到mit的某门课程资料,还能找到cmu的不是?(狗头

下面列一下我觉得作为一个后端工程师需要的课程。相信我,你都学完了完全是科班水平了!

我预估如果足够拼,有小伙伴一起讨论,全脱产学习1-1.5年绝对够(我是大概一年学完的,基本7天不休)。

适合的人:

这不是一份速成转码教程。如果想要速成,应该尽快做接近工业界的项目然后刷题找工作。这个学习计划是给没有任何cs经验的姐妹提供一个有迹可循的,可以接近科班水平的自学路线。我之所以选择了这条路是我始终觉得,打好基础还是很重要的,尤其是建立系统的知识体系。

我的建议

  1. 一定要做作业。这些名校课程的作业都是仔细打磨过的,不光是课程知识的重现,很多时候是延展。不做作业=上了个寂寞。
  2. 不要纠结于还不会一门语言。语言都是边做作业边学的。而且语言向下兼容容易,向上难,所以在python入门之后要尽快开始学Java/c这类比较复杂的语言。我吃了一个亏就是一开始一直在学和用python,等开始学java的时候哭的心都有了,再学c的时候又哭了一次。

红色为知乎回答

下面是推荐的课程列表:

  1. 入门+语言:

(mit 6.001, cs50,后者主要是拓宽一下视野;阅读 计组趣味入门书《编码》,可以边看边玩一个 steam 游戏 mhrd)

  1. 系统

(个人认为进阶阶段最重要的课程是操作系统,一门课能覆盖的知识是有限的,这是为什么既要看 csapp 又要学南大操作系统。有条件最好能跟着清华的 rCore 再造一遍轮子)

到此,再刷刷 leetcode,就能作为一个应届生拿到大厂后端甚至基础架构岗位的校招 offer 了。(实际上这些课我好多知识没吃透都拿到 offer 了……)

  1. 应用

这个path不知道国内这种比较看教育背景的环境是不是可行。但亲测在北美完全ok,学完直接上岸(当然题还是要刷的)。额外的好处就是转码选手经常会遇到计算机基础知识答不上来。我学完这些课答基础知识斩瓜切菜,连某抖这种很国内面试风格的面试官都连说impressive。

姐妹们加油冲鸭!

补一个时间表:

2个月: ucb 61a b

4个月: 学c,cmu csapp(这是最难的一部分,一度想放弃。一定要咬牙坚持下来。当时这个时候还学了个sql,后来发现做sde没太大用)

3个月: network + 分布式 + 从分布式学到一半多开始开了数据库

2个月:数据库学完,学了web

2个月:学了软件工程。开始找工作了

另外就是刷题一直没断过。


转码计划:目前是打算学完CS50,然后看MIT Missing Semester; 然后跟着Mosh学Python(可太喜欢Mosh的SQL了),学完之后61A;接着跟着Mosh学Java,学完之后61b……

目前进度:CS50已经学完C,开始学Python那节了。实话说,对零基础还是蛮有难度的(而且有些题目我看懂题目都要花一两个小时…),光学C我就花了快一个月(每天学习差不多5-6个小时那种,一方面想多学一方面又不想逼迫自己,后面就想着佛系一点算了)。说到每天花费时间这个,番茄时钟真的很有用,一开始我就每天坐下学习不给休息时间,导致进度超慢(想不出来硬想,哭),用了计时器定时休息之后效率提升很多,另外也会提醒自己这个花费太多时间了,直接看solution理解吧。所以后面进度快了很多。

另外还想说,几年前心血来潮学了Python,卡在for循环了,然后在CS50听懂了!虽然只是一点点进度,也是好的~第一次自己做出来作业也很开心,虽然大部分时候都是要靠ChatGPT(有时候发现ChatGPT也检查不出来Bug,还说得靠自己,换个思路不就是它还没法取代人工不是!虽然也可能因为我不是会员的)和油管视频才能完成~