Android&前端程序员练级攻略

587 阅读5分钟

理论知识可以说是计算机科学这门学科最精华的知识了,而且越底层的东西,越不容易变化,认真学习,理解其背后的逻辑和思维方式,会让你受益匪浅。不管是未来你是要学习新技能,解决疑难问题,阅读别人的源代码,都能在这些知识中获得灵感或者启发。学好基础知识,可能要花上5、10年甚至更久,但它是成为一名高手的必经之路,可以让你后续学习事倍功半。

学习方式分为被动学习和主动学习。

被动学习:如听讲、阅读、视听、演示,学习内容的平均留存率为 5%、10%、20% 和 30%。

主动学习:如通过讨论、实践、教授给他人,会将原来被动学习的内容留存率从 5% 提升到 50%、75% 和 90%。

学习不是努力读更多的书,盲目追求阅读的速度和数量,这会让人产生低层次的勤奋和成长的感觉,这只是在使蛮力。要思辨,要践行,要总结和归纳,否则,你只是在机械地重复某件事,而不会有质的成长的。

学习时一定要使用知识图,学习并不是为了要记忆那些知识点,而是为了要找到一个知识的地图,你在这个地图上能通过关键路径找到你想要的答案。

学习有三个步骤。

  • 知识采集。信息源是非常重要的,获取信息源头、理解表面信息的内在本质、多方数据印证,是这个步骤的关键。
  • 知识缝合。所谓缝合就是把信息组织起来,成为结构体的知识。这里,连接记忆,逻辑推理,知识梳理是很重要的三部分。
  • 技能转换。通过举一反三、实践和练习,以及传授教导,把知识转化成自己的技能。这种技能可以让你进入更高的阶层。

最后我列出成为一名高手需要系统学习的知识点。

基础:

算法

设计模式

编码

  • 《代码大全》 虽然这本书有点过时了,而且厚到可以垫显示器,但是这绝对是一本经典的书。
  • 程序员修练之道》 这本书也是相当经典,我觉得就是你的指路明灯。
  • 《人月神话》 这本书可能也有点过时了。但还是经典书。
  • 《代码整洁之道》 细节之处的效率,完美和简单。
  • 《C 程序设计语言》
  • 《C 语言程序设计现代方法》
  • 《C 陷阱与缺陷》
  • 《C++ Primer 中文版》
  • 《深度探索 C++ 对象模型 》
  • 《Effective C++》/《More Effective C++》 C++ 中两本经典得不能再经典的书。也许你觉得 C++ 复杂,但这两本书中带来对代码稳定性的探索方式让人受益,因为这种思维方式同样可以用在其它地方。
  • 《Effective Java》也是一本经典书。
  • 《Java 核心技术(卷 1)》 Java 的入门参考书
  • 《Java 编程思想》
  • 《Java 性能权威指南》
  • 《深入理解 Java 虚拟机》
  • 《垃圾回收算法手册》 翻译得很一般,有人说翻译得很烂
  • 《Java 并发编程实战》

前端:

其他

  • 《高效能程序员的修炼》
  • 《软件随想录》
  • 《分析模式》
  • 《领域特定语言》
  • 《技术领导之路》
  • 《卓有成效的管理者》