如果让你重新学计算机。。。
这些才是和工作联系最紧密的,这些技术的工作岗位也是最多的。很多CS毕业生,大学四年过去了,连一个前后端的项目都搞不定,是不是很搞笑?这时候做几个project,好写在简历上,为你进一步到公司/实验室实践打好基础。
网站推荐Udemy,bilibi,freeCodeCamp,其他好的平台也欢迎同学们补充
第三步:实践出真知
去公司实习,比你自己闷在家里面闭门造车,效果好得多。你自学没有人监督,98%的人都坚持不下来。去公司实习,可以领工资,增加你学CS的信心;可以认识更多的人,增加人脉;可以理解公司的流程,了解公司技术栈,对应的查漏补缺。
(相关资料图)
更关键的是,实习可以丰富简历。等实习结束,你的简历上可以写个实习经历了,不是比很多大学生课内project厉害吗?没有实习,很难获得全职;没有小厂实习,很难获得大厂实习;这都是一步一步来的。
做科研同理,去实验室搬砖,每周都有组会,督促你每日学习进步,时间久了说不准可以发论文了。同时还可以和导师取得相应的联系,出国推荐信也有了着落。
反观有些人,在那里死磕ACM,磕了半天也没啥奖,保研出国都捞不着,最后不是挺可悲吗?正确的路线应该怎么走?
第四步:全力备面试
leetcode被说了无数遍了,如果你CS61B学好了,算法题是不难的。如果要面试找工作,grind75的list,直接刷2遍就可以的,有不会的就网上搜视频讲解!但是不要本末倒置了,工作中基本上用不到算法题的。
国内面试有时候还有八股文,这个有了实际的工作经验,项目经验,同时学过了61b,八股文就是水到渠成的。然后再看看面经查漏补缺,全力备战校招。
以上路径,就是最优解。
相当于把打怪升级的路子,手把手教给你了。你要是卷王,喜欢闭门造车,那你大可以死磕《算法导论》《编译原理》。你要是普通人,走我说的路径,是让你最快获得CS工作/阻力最小的方法。
PS:国内CS的教学,纯纯浪费时间,不要指望国内本科能教你啥,即使是清北复交。(还记得清华雨课堂吗,还记得清华小学期Python深度学习网络吗)
PS2:数据库,计算机网络,操作系统,编译原理,这些有点概念就行了,国外大作业都是让你自己实现一遍加深理解,其实不是必须的。有这个时间先学前后端,去大厂实习反而更好。
PS3:cmu的数据库,是让你自己动手写数据库,只有去数据库公司实习工作才用得到。mit的分布式也是面向大厂infra岗位的。
PS4:大学计算机学的,大学物理,高数,汇编语言,微机原理,对编程找工作一点作用都没有。
PS5:评论区太多人是学生思维了,他们说这样学成了技校,把我也看笑了。他们总是高估自己未来的努力,仿佛自己穿越回去,就能每天学习12小时,把这些大部头全部啃完一样,但是我明确的告诉你,不可能的。
PS6:很多人说你这样会基础不牢,问题是我没有说不学这种cmu数据库这种大部头,而是先学有用的技术。等你有了工作,那些大部头在业余时间精进就好了,而不是在你还没有工作的时候就搞那些。
PS7:很多人对“基础”有蜜汁崇拜,仿佛打好了基础就可以秒天秒地一样,然而事实却完全相反。计算机是一个变化很快的领域,不同技术栈的基础也不一样。机器学习深度学习这些,出来了不过10年,假如一个人要走算法岗的,那他学30年前的《算法导论》,完全是浪费时间,懂吗。
PS8:很多人说我这些没法写操作系统,没法写数据库,我只能说没有仔细看文章。我说的技术栈,并不是仅仅是前端后端。
你要去写游戏,要去做数据分析,要去写C++,去做quant researcher,做分布式,HPC,数据库,编译,验证,硬件相关,做quant dev,读PhD,完全可以,每个方向的发力点都不一样,要学得技术,努力的方向,完全不一样,在哪里盲目学《编译原理》,完全是脑子进水了。
PS9:还有人说基础学的好就不会被裁员的,太过于学生思维了,夏虫不可语冰。
PS10:很多人说要打基础,我的路线是培养纯码农,我也只是笑笑。本人的路线,最专注的就是编程能力代码能力。本人本硕都是计算机的,因为代码能力不行,错失了/没有好好利用很多实习机会/科研机会/上课的项目,借着cs61b和Udemy的视频打好编程的底子,以后干啥都行。
关键词: