以前是个偏向实战型的选手(大概6成实战4成理论),大部分理论都是偏向某个点的,从面上来看还是不够系统,有些还不够深入,而且在面试上也会吃亏。尽管在阅读源码和使用框架上问题不大,但是自己怎么才能写出高性能的代码以及🐂x的框架或者工具集呢?总是感觉有瓶颈。其实越来越觉得语言、框架什么的都不是最重要的,这些东西短时间都可以快速上手,及格使用,重要的是写出具有高性能甚至具有前瞻性的代码以及除了问题可以快速定位并解决的能力(关键是快速解决),并且在code review代码的时候能快速找出隐形问题(不只是常见的问题)。

实践和理论相结合没有错!但首先要有好的理论指导实践,尤其是已经成熟的理论!在我目前开来可以有6成理论4成实践**

初步总结大致有以下几点:

  1. 知识成体系,系统
  2. 源码阅读、原理(深度)、算法
  3. 业务理解、逻辑推理能力和工程能力
  4. 全局把控能力、协调能力
  5. 业务和技术的平衡能力

一般来讲,1和2是一个长期学习的结果,但不排除为了面试短时间突击的,大部分人也就为了面试短时突击,其实没有真正理解。

对于科班出身的一般1不是问题,2可以短期突击,但是想融会贯通还需要打磨;对于非科班出身的1和2要成为终身学习、随时学习的常态,对职业生涯大有裨益。我本身并不是面试型选手,面试经验也不是很丰富,知识融会贯通需要下功夫还要成习惯。

3是作为开发工程师基本素养,而且算法工程师也是必要的,4和5是更进一步的必备能力。

一些资料: