如果大一重来,我绝不先卷应用层技术!一个大三鼠鼠的血泪复盘...
鼠鼠大二上的时候听说直接学应用层好找工作,于是all in 应用层,后面学着感觉非常难受,大二下结束的时候就放弃了,大二的那个暑假学了下C语言和离散数学,大三上的时候好好想了想自己到底应该选择哪个方向。
现在复盘了一下,为什么当时学应用层技术会感觉很难受呢?目前认为是因为搞错了学习顺序,没有先学计算机基础,就直接学应用层知识。
这就好像直接在面前放一个专用计算机,完全不知道它的底层运行原理是什么,就直接对它进行黑盒调试。
如果先学计算机基础,就相当于学习了一个通用操作系统的底层原理,后面去理解专用操作系统,只需要修改一些参数就可以了。
所以我的结论是:其实应用层的很多知识都是源自计算机基础知识的,学好计算机基础知识后,学任何应用层知识都会很快。
所以如果让我重来一次,我会这样学(就业导向,未经实践检验,慎用):
0.C语言,顺势学一丢丢C++(class和STL就ok,不然耗时太长。体验面向对象,后面根据兴趣选择cpp或java或js或go或else深入学习)
1.数据结构与算法,手写常见数据结构,会写Leetcode hot 100
2.计算机组成原理,理解CPU、内存、磁盘、设备之间的关系
3.操作系统,理解并发,内存,文件,磁盘。
4.计算机网络,理解网络分层架构,理解常见的协议。
5.数据库,会写SQL,知道怎么用程序操控mysql、redis。
学到这里计算机基础就基本学完了,其实还有一些课没学,比如数字电路、编译原理、离散数学、汇编语言...,但是这些课不如四大件+数据库更实用。
可以跟学计算机基础并行的是兴趣探索,选择感兴趣的方向深入,比如前端、后端、测试、算法...
这样操作的话,选择任何方向,万变不离其宗,都因为有很好的计算机基础,学得很快,它们都是互相关联的,就像用一个泛型去代替任意数据类型,编译或者运行的时候才替换成真正的数据类型。
当理解了底层,就不一定要去和几百万人卷供过于求的红海。可以去玩图形学、编译器、内核开发,进入那些门槛高、护城河深、也更有趣的领域。
当然,不是学了cpp后面就一定要搞cpp,而是为了借cpp之手了解底层知识,个人认为无论走哪个方向,了解底层知识都是必要的。虽然我推崇基础,但并不意味着完全不看应用层。建议比例是 70% 基础 + 30% 应用兴趣探索。
基础决定你的上限,但应用层技术却是你的入场券。
#牛客AI配图神器#
现在复盘了一下,为什么当时学应用层技术会感觉很难受呢?目前认为是因为搞错了学习顺序,没有先学计算机基础,就直接学应用层知识。
这就好像直接在面前放一个专用计算机,完全不知道它的底层运行原理是什么,就直接对它进行黑盒调试。
如果先学计算机基础,就相当于学习了一个通用操作系统的底层原理,后面去理解专用操作系统,只需要修改一些参数就可以了。
所以我的结论是:其实应用层的很多知识都是源自计算机基础知识的,学好计算机基础知识后,学任何应用层知识都会很快。
所以如果让我重来一次,我会这样学(就业导向,未经实践检验,慎用):
0.C语言,顺势学一丢丢C++(class和STL就ok,不然耗时太长。体验面向对象,后面根据兴趣选择cpp或java或js或go或else深入学习)
1.数据结构与算法,手写常见数据结构,会写Leetcode hot 100
2.计算机组成原理,理解CPU、内存、磁盘、设备之间的关系
3.操作系统,理解并发,内存,文件,磁盘。
4.计算机网络,理解网络分层架构,理解常见的协议。
5.数据库,会写SQL,知道怎么用程序操控mysql、redis。
学到这里计算机基础就基本学完了,其实还有一些课没学,比如数字电路、编译原理、离散数学、汇编语言...,但是这些课不如四大件+数据库更实用。
可以跟学计算机基础并行的是兴趣探索,选择感兴趣的方向深入,比如前端、后端、测试、算法...
这样操作的话,选择任何方向,万变不离其宗,都因为有很好的计算机基础,学得很快,它们都是互相关联的,就像用一个泛型去代替任意数据类型,编译或者运行的时候才替换成真正的数据类型。
当理解了底层,就不一定要去和几百万人卷供过于求的红海。可以去玩图形学、编译器、内核开发,进入那些门槛高、护城河深、也更有趣的领域。
当然,不是学了cpp后面就一定要搞cpp,而是为了借cpp之手了解底层知识,个人认为无论走哪个方向,了解底层知识都是必要的。虽然我推崇基础,但并不意味着完全不看应用层。建议比例是 70% 基础 + 30% 应用兴趣探索。
基础决定你的上限,但应用层技术却是你的入场券。
#牛客AI配图神器#
全部评论
事实上你allin什么都会后悔
java学的人是真的多,竞争太激烈了
可是cpp 没啥岗位的
我之前也畅想过,大二还列了不少计划 ,但一到实施就没了动力
学Java狠赚币啊,大家都百万撤离了
相关推荐
李橙子:你这如果想找java方向的,那你的项目就不要写python啊,不然会以为你是主要找python的 点赞 评论 收藏
分享
