如果回到大一,我绝对会all in计组os,而不是猛攻Java

鼠鼠大二上的时候听说Java好找工作,于是all in java,后面学着感觉非常难受,大二下结束的时候就放弃了,大二的那个暑假学了下C语言和离散数学,大三上重新选择了一个方向。

现在复盘了一下,为什么当时学java会感觉很难受呢?目前认为是因为搞错了学习顺序,没有先学计算机基础,就直接学应用层知识。
这就好像直接在面前放一个专用计算机,完全不知道它的底层运行原理是什么,就直接对它进行黑盒调试。
如果先学计算机基础,就相当于学习了一个通用操作系统的底层原理,后面去理解专用操作系统,只需要修改一些参数就可以了。

所以我的结论是:其实应用层的很多知识都是源自计算机基础知识的,学好计算机基础知识后,学任何应用层知识都会很快。

所以如果让我重来一次,我会这样学(就业导向,未经实践检验,慎用):
0.C语言,顺势学C++(class,STL)
1.数据结构与算法,手写常见数据结构,会写Leetcode hot 100
2.计算机组成原理,理解CPU、内存、磁盘、设备之间的关系
3.操作系统,理解并发,内存,文件,磁盘。
4.计算机网络,理解网络分层架构,理解常见的协议。
5.数据库,会写SQL,知道怎么用程序操控mysql、redis。
学到这里计算机基础就基本学完了,其实还有一些课没学,比如数字电路、编译原理、离散数学、汇编语言...,但是这些课不如四大件+数据库更实用。

可以跟学计算机基础并行的是兴趣探索,选择感兴趣的方向深入,比如前端、后端、测试、算法...

这样操作的话,选择任何方向,万变不离其宗,都因为有很好的计算机基础,学得很快,它们都是互相关联的,就像用一个泛型去代替任意数据类型,编译或者运行的时候才替换成真正的数据类型。

当理解了底层,就不一定要去和几百万人卷供过于求的红海。可以去玩图形学、编译器、内核开发,进入那些门槛高、护城河深、也更有趣的领域。#牛客AI配图神器#
全部评论
可是cpp 没啥岗位的
点赞 回复 分享
发布于 今天 10:04 上海
我之前也畅想过,大二还列了不少计划 ,但一到实施就没了动力
点赞 回复 分享
发布于 昨天 20:10 浙江
学Java狠赚币啊,大家都百万撤离了
点赞 回复 分享
发布于 昨天 18:22 陕西

相关推荐

joecii:如果没有工资,那可能没有工资是这家公司最小的问题了
找实习记录
点赞 评论 收藏
分享
评论
3
5
分享

创作者周榜

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