如果大一重来,我绝不先卷应用层技术!一个大三鼠鼠的血泪复盘...

鼠鼠大二上的时候听说直接学应用层好找工作,于是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配图神器#
全部评论
事实上你allin什么都会后悔
2 回复 分享
发布于 01-20 17:15 江苏
java学的人是真的多,竞争太激烈了
1 回复 分享
发布于 01-20 16:34 云南
可是cpp 没啥岗位的
1 回复 分享
发布于 01-20 10:04 上海
我之前也畅想过,大二还列了不少计划 ,但一到实施就没了动力
1 回复 分享
发布于 01-19 20:10 浙江
学Java狠赚币啊,大家都百万撤离了
1 回复 分享
发布于 01-19 18:22 陕西

相关推荐

评论
7
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务