今天想查点资料,来到论坛,忽然发现论坛的气氛确实非常好,比国外一些较火的论坛都好很多,就有了写一些东西的冲动,没什么逻辑,就想到哪写到哪了。
首先,基础很重要,计算机有基本绕不过去的几个点: 操作系统,算法,编译器等,这几个点,如果你想成为10里面的2(二八准则),始终是你要迈过去的坎。所以给还再学校的各位师弟一个建议,一定要打好基础,开始很枯燥,但是后期你会很爽。
再说学习,没有一直火的行业,也没有一直火的风口。但有一直有效的知识体系和学习方法。前几年pc端火,近几年ios,android火,最近ai和iot火,其实很多东西是在做布局和利益投资,被炒的有点过大了。android和ios火了,近几年也平淡了,ai最近炒的这么厉害,但是在数学没有取得突破进步之前,ai和现在区别不大,ai的技术和19世纪中期的技术差不了多少,最近火也是和投资风口和硬件有关系。iot和人交流时,也是一个概念,技术还是老样子,当然不是说不去学,只是没必要被这些东西遮住自己的眼,关注自己的现有知识体系,拓宽一些,深扎进去,其实一通百通。
人的学习大概分为2个阶段,一个是拓宽,一个是深挖。现在竞争很激烈,要不你是全栈,要不你是权威专家,前者不如后者吃香。
学习还是要有深度,形成一个体系,比如java,向上系统架构,能解决千万级并发,你就要去学习怎么解决亿级的并发,向下系统细节,你要知道class文件的加载,jvm的实现细节等。
语言不同,只是因为编译器不同,设计时出发的理念不同,c/c++ 就是为了高效率,java跨平台,跨语言,python也跨平台,但需求的环境就简单很多。如果从编译器的角度去理解一门语言,其实掌握起来是很快的。相信有很多有经验的老司机几天或者一周初步掌握一门语言根本不是问题,以后就是刷小怪,刷熟练度,熟悉api和一些实践细节。
学习一个比较快的方法是去逆工具,写自己的工具。(这一点以前就意识到了,但自己做的不好)
你要搞java细节,就去写一套class解析,打造自己的jvm,你要去搞python,就去把他源码读懂,写一个自己的调试器,你要搞vmp,就去搞一遍自动还原引擎,去自己写个壳,你要搞android就去把apktool自己实现一遍,很多人说没必要自己造轮子,那是对大师说的,我们要知道怎么去优化轮子,当轮子出问题了你要知道怎么修。特别对抗的行业,经常就针对常用工具做攻击的。壳反dump,你不知道dump工具的原理,你怎么去对抗?
学习的路还很长,计算机技术日新月异,黑马的学习是一个好的开端,为我们以后的发展打下了坚实的基础,我会努力,跟上时代的步伐。
|
|