很多人培训后在一、二线城市工作都能拿10k以上的薪资,但是工作一段时间就会觉得自己和计算机专业的同事有很大的差别。
如何恶补计算机知识经历:
契机是因为我当时在的初创公司的APP日活原本在2000左右,后来业务起来每天将近3万用户注册,可能2000用户和3万用户对于前端开发来说差不大,但是后端就是天壤之别。
都不说架构问题,而是服务器资源。从这些问题发现:
- 计算机组成原理可以告诉你计算机的物理机构,数据如何存储。
- 计算机操作系统可以告诉你怎么管理内存,什么是进程、线程、IO;
- 计算机网络可以知道TCP和HTTP,什么是报文。
该补什么:
1.计算机组成原理、计算机操作系统、计算机网络:
完全从0带你掌握计算机与编程基础yun.itheima.com
2.数据结构:
在开发中大部分的主流语言都已经内置了常见的数据结构,比如java。因为进入工作了,很少有什么从0开始实现一个数据结构的机会,那么就要补:
- 1、熟悉常见数据结构的概念,比如说数组、堆栈、链表、哈希表等。
- 2、了解常用数据结构之间的差异,比如说 ArrayList 和 LinkedList,我在之前的文章中有详细说明过,可以点击链接去查看下。
- 3、关注常用数据结构的外围算法,比如说如何对 List 和 Map 进行查找。
- 4、关注数据结构使用中容易出错的地方,比如说线程是否安全等。
结合项目学习更适合进阶阶段:
java进阶TreeMap数据结构及源码解析yun.itheima.com
3.算法:
算法很难,我们之前一个公司明明招了一个算法工程师,结果就是调库。没几天就露馅了...算法就要涉及到高数了。所以学习算法要视情况而定,如果想走算法岗,那么《算法第4版》、《算法导论》、《数学之美》、《编程珠玑》、《剑指offer》这些书都要耐着性子啃一啃。电子书可以在下面这个 GitHub 仓库上找得到。
java程序算法与实际运用--刘意老师yun.itheima.com
360°解读机器学习经典算法yun.itheima.com
4.设计模式
初级程序员迈向中级或者高级的毕竟之路吧,前几年大家都在忙着熟悉编程语言,而设计模式就是在编程领域一个进阶。
墙裂!墙裂!墙裂推荐的课程!
java设计模式(图解+框架源码分析+实战)yun.itheima.com
5.软件工程:
说白了,就是学习项目安排,团队协作;也就是往管理岗位发展。我现在觉得尽管你要做技术大佬,但也一定要走管理+技术。因为思路完全不一样,亲身经历。执行的时候就是一亩三分地,想着怎么跑通,但是你做了管理就会发现眼界开阔了,不管是想着这一个模块怎么做,而是整体思路。
6.架构
- 第一阶段:基本功扎实
- 第二阶段:关注功能之外的,也就是开阔认知
- 第三阶段:整个系统层面的掌控,清楚的判断优先级