个人觉得,开发上面简单的技能树是这样的
1、打基础阶段:C/C++(一年) + 数据结构与算法(一年) + 操作系统/网络(一年) 2、起飞阶段: 这个阶段选择就多了,手机app、前段、后台等等各方面,看个人选择,而且有了第一阶段,这个阶段学习也会很快。
只是适合大部分人的见解,什么高级的数学了,数据挖掘了等等暂忽略
我觉得技能树是这样的:
1、跟别人讨论编程,因为不懂算法,被直接藐视。
2、心里不愿意承认自己是废柴,打算把算法打下来。
3、买了一算法入门书,啃啃啃,但90%都看不懂,只是一字一字把每一段每一句读完。
4、啃了三分之一,因为工作重要,把算法书扔了,改啃重构去了。
5、还是一样的啃法,一字一字一段一句,把书念完,不在乎有没有看懂。
6、工作时,能想起一两个重构手法,比如把一类的方法分块放好,把太长的方法提出子方法来,提出来后立马Run一遍,虽然知道在之前先写测试更好,但是没时间写。
7、上下班的地铁上,继续拿着3.5寸的中兴U880,一字一字一段一句地念书,不在乎有没有看懂,也不在乎会不会看瞎我的狗眼。
虽然182页里,只能看懂20来页,但这20来页教会我,通过数据的“值域”和“操作”去看程序。让我大大提高了开发功能和Debug的速度。而这182页的算法书,都是在上下班的地铁上看的,所以不但不觉得“投入太大,收获太少”,反而有种“赚大发了”的感觉:)