坦白讲,许多人骨子里惧怕变化和竞争。git
其实大可没必要。程序员
一来,怕也没用嘛。二来,变化越快,组合要素增长了,意味着新的工做机会越多。github
就像传统媒体VS新媒体。面试
放在10年前连“新媒体”这三个字都没问世,可现在已成为360°覆盖人们的事物。曾经从事纸媒行业的人,开始新模式转型;曾经写书写博客的做者,转移到公众号和微博,以另一种形式继续写做。segmentfault
再好比外卖和网约车。缓存
大概5年前,网约车刚出现没多久,我所在城市有大量的士司机跑到交通运输部门集体抗议,要求针对网约车采起限制措施。安全
5年后——微信
咱们有了网络代驾、共享自行车、共享汽车……以及积累的大量语音、图像、场景感知、地图、安全出行等数据,并且相关技术服务开始迁移至城市交通、物流、金融等多领域。网络
当初谁又能想到,一个网约车技术能发展衍生出如此多的环节和岗位?架构
首先要说的是,技术的学习是个日积月累,由量变到质变的过程,没有任何的办法可以让你在短期内成为大牛,所谓的一步登天,是留给那些传说中的天才的,但天才毕竟只是极少的一部分人。
大部分大牛仍是靠着锲而不舍的毅力,冠以正确的学习方法,经过不断努力,不断学习,花费了大量的精力才达到了他们如今的成就。
因此,当你通读完官方文档的时候,你实际上只是迈出了一小步,要成为真正的大牛,还须要在以后的学习中不断努力。
那咱们如何来进行下一步的学习呢?
那就得说到项目实战了
咱们学习一门技术的最终目的就是将其运用到实际项目中,一门技术无论多厉害,若是没有办法运用到实际项目中,那它的意义跟价值就很是有限了。
并且人脑不比计算机,是会遗忘的,若是不经过大量的项目实战,不少知识点你很快便会忘记,至少我是这样的(谁能告诉我,记忆力很差怎么才能被拯救!!)。
因此读完官方文档后,咱们是必定要经过大量的项目实战来不断巩固咱们的知识点的,此时的你不少知识点实际上是不能彻底理解的,只有经过项目的历练,在踩坑中分析,在解决问题中成长,才能从本质上理解一些技术的概念。
有经验的开发人员应该多多少少有这样的经历,就是有些概念一开始并非很理解,可是在一次次的项目过程当中,你会发现居然不知不觉地明白了其中的原理,是的,就是这种感受!
对于项目实战,我其实没有太多的技巧,仍是一句话,就是干,可是这个过程当中你必定要去多思考,为何这么写,为何这么作,学着去了解原理,去关注本质。
再来聊聊读技术文章
在这样一个信息大爆炸的时代,要从网上找到某一门技术的干货文章是很是容易的一件事,各种的技术平台(csdn,cnblogs,oschina,安卓巴士,segmentfault等等等),各种的微信平台公众号,都是很好的获取干货信息的途径。
虽然说官方文档很神奇,可是仍是有不少知识点咱们可能还没发现,由于他们每每隐藏在更深的API文档之中,而大量的API也致使咱们很难将全部的API文档都通读,更多的仍是将其做为一个查阅工具来使用。
在个人观念里,不主动去关注各类技术平台获取技术信息的程序员不是一名合格的程序员, 因此天天早晨我都会花至少一个小时在关注的各种技术平台上获取有用的信息
咱们不得不根据本身的状况来进行适当的筛选和阅读,来提升学习效率。
就我来讲,我根据本身的理解将技术类文章分为了四类:
对于知识讲解类的文章,若是你已经学会了阅读官方文档,那很容易就可以判断它是否只是文档的搬运工,若是是文档的搬运工,我会快速略过,重点关注做者是否加入了本身的分析和观点。若是是做者原创的,那我会仔细阅读一遍,看看本身对于某个知识点的理解是否有误差,是否有遗漏。
功能实现解决方案这类的文章,场景众多,我重点关注的是它的实现和分析思路,以便在相似的场景中进行触类旁通,对于一些经常使用功能或方案,我会仔细阅读和研究他们的代码,剩下的则主要进行标记和收藏,在大脑中留个印象,创建个索引,在须要的时候再去进行查阅,像我这样的渣记忆,不经常使用场景的实现一段时间后就只记得标题了。
源码框架原理分析类的文章我会反复阅读,同时结合源码作验证,而且按期作一下复习或是总结,在大脑里不断加深印象,由于对于原理的理解可以帮助我在遇到项目难题时更快更好地找出最佳的解决方案。
学习方法/经验总结类的文章,数量上相比其余类型的文章并不会太多,通常我会很仔细的阅读,正所谓前人栽树后人乘凉,学习他们的经验可让咱们少走很多弯路,固然这类文章主观意识会比较强,须要咱们本身来进行辨别哪些是真的有用。
有人可能要问了,天天花一小时阅读技术文章,文章读得会很凌乱吧。。。
确实是这样的问题,咱们大脑的容量毕竟有限的,就像咱们的LRUCache缓存策略,最经常使用信息的老是会保留在大脑中,可是时间过久了不关注的内容很快就会丢弃遗忘(传说世界上有那么一群“超忆症”患者,没有遗忘的能力。能把本身亲身经历的事情,记得一清二楚,能具体到任何一个细节,好羡慕有木有!)。
对于遗忘的问题,咱们能作的就是作好收藏工做,可是技术平台太多,将文章收藏在各个平台中当须要查找的时候会发现记不清收藏在哪一个平台了,这时一个平台一个平台的搜寻效率确定是低下的。
因此咱们可使用云笔记或者github,将那些你以为优秀的须要收藏的文章整理到一个地点去,按照本身对文章的分类,创建不一样的连接索引,给每一个索引的标题起个你认为重要的关键词,在每次添加新的文章的时候可都回顾下收藏的索引,这样在你想要查找某篇文章时便能用最快的方式查找到。
答案确定是不能够!!!
虽然博客的干货文章很是的多,可是大部分状况下知识体系都是相对比较零散的,相比书籍,它没有那么系统化,相比视频教程,它又没有那么的直观,因此抛开文档跟博客的学习,咱们还须要根据本身的状况额外地进行书籍或是视频教程的学习。
有人以为本身老是静不下心来看书,个人方法是,阅读某本书的时候给本身定一个小目标,好比天天阅读该书至少20页内容,这样天天学习的内容不会太多,不容易让人变得焦躁,固然,你能够根据本身的状况制定天天的阅读量,若是按照20页天天的阅读量来算,一本500页的书,不到一个月就读完了。
有人以为看视频教程时间过久,实际上也确实如此,有的博客十多分钟可以读完的内容,放到视频中去讲经常须要1个小时,可是视频教程的优点就是你能够看到实时的操做跟讲解画面,一些概念更直观,更容易让人理解。
固然若是你播放的是本地视频,可使用诸如potPlayer这样的支持加速播放视频,同时视频声音又不会改变的播放器来加速视频的观看。
【Android 详细知识点思惟脑图(技能树)】
其实Android开发的知识点就那么多,面试问来问去仍是那么点东西。因此面试没有其余的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看本身复习到了哪一个阶段就好。
虽然 Android 没有前几年火热了,已通过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级如下的岗位饱和了,如今高级工程师仍是比较缺乏的,不少高级职位给的薪资真的特别高(钱多也不必定能找到合适的),因此努力让本身成为高级工程师才是最重要的。
这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了很多精力),包含知识脉络 + 诸多细节。
因为篇幅有限,这里以图片的形式给你们展现一小部分。
详细整理在GitHub能够见;
网上学习 Android的资料一大堆,但若是学到的知识不成体系,遇到问题时只是浅尝辄止,再也不深刻研究,那么很难作到真正的技术提高。但愿这份系统化的技术体系对你们有一个方向参考。