这方面的知识绝大多数都是科班学生在本科中讲到的原理知识,但大多数人在学校可能并没有静下心来认真学习钻研,有句话说得好:“出来混,迟早要还的~”一个好的学习方法是一定要看一些经典的书和世界学校的课程。一般地,这些知识可分为如下:
1.系统知识类:计算机系统、网络协议、数据库等
2.算法和数据结构类:算法和数据结构、分布式系统等
3.中间件类:消息队列、任务调度、网关代理等
4.程序语言类:类库实现、设计模式、编程技术(多线程、异步等)、语言原理等
计算机发展几十年来,核心的基本知识就是上面所提到的这些,尽管我们的直觉感觉技术在不断地更替,其实本质并没有改变,它的理论基础还是这些内容,改变的只是技术形式,我想说的一点是对这些基础理论知识的掌握可以直接决定成长天花板。
万丈高楼平地起,勿在浮沙筑高台
一旦你有了扎实的基础知识,其实也会更容易突破自己的技术和成长瓶颈。在技术领域里,我想量变实际上并没有达到质变这一说法。量变达到质变也是说,只要我努力多写代码就可以成为架构师,技术上有了质的突破,其实并非如此。
尽管你代码写得再多,如果不懂得背后的技术原理,不懂得科学的学习方法,不进行归纳总结输出,是永远达不到质变的。