Android程序员如何有效提升学习效率?14条私藏秘籍全公开!

Android程序员如何有效提升学习效率?14条私藏秘籍全公开!_第1张图片

前言

成为一名优秀的Android开发,需要一份完备的知识体系~

在学习一个技术之前,判断一个技术是不是真正有价值?一个技术是不是值得我们花费足够的精力去深挖?是非常重要的,关键就在于在未来几年甚至十几年,它是否能真正地解决项目研发过程中的一些痛点,让企业的收益最大化。而且,「个人的技术成长(硬实力)与软技能(软实力)是密切相关的」,可以这么说,「要想保持长久的技术提升效能与持续成长,就必须有全面、强大的软实力做支撑」

从我们认知的整个思维结构上来说,软技能是比数据结构与算法、计算机基础更加底层的东西。「越底层的东西它的持久力、生命力以及带给我们的收益就越大」,并且,从某种程度上来说,软技能的学习比算法、计算机基础这些底层知识的学习难度要低不少,所以,这就是我为什么一直要在每周坚持抽出20%的时间去系统地学习软实力方面的内容。

在软技能的知识体系中,对于我们程序员来说最重要的莫过于学习方法了。我们应该如何释放自己的内在潜力去像海绵一样地吸收知识呢?在本篇文章中我们将深入探讨如何学习才能提升学习效率。

一、如何成为一个高段位的学习者?

1、建构式的学习模式

对问题的好奇、对答案的渴望,是驱动我们学习和探索的主要动力。

「知识不是简单的记忆,而是由我们主动地去建构而来的」。我们必须充分利用现有的知识,在主动性目标或核心问题的引导下去积极地进行探索,只有这样,我们才能够把得到的新知识与旧知识糅合在一起,并在头脑中建构出新的知识体系。

「一个好的长时程问题,能让我们成为“构建者”,因为我们不仅在学习知识,还在“建构答案”,在努力回答问题的过程中,我们筛选、评判与整合新旧知识,并把它们融汇而成一个知识体系。」

「一个好的长时程问题,能让我们成为“探索者”,主动地去探求未知的领域,扩宽“未知的未知”的边界,而不是仅仅满足于对现成的、边界明晰的知识的掌握。」

因此,「提出一个深入的探索性问题是一种学习效果非常好的方法」。在问题牵引下的学习,会帮助我们连续不断地构筑着知识之间的联系,最终便会形成针对于该问题的思维导图之解。

「提问是将我们引向深度学习的起点。一位优秀的学习者,一定同时也是一个优秀的提问者,他会从阅读、观察、思考的过程中产生问题,先解答表层的、容易的那部分,留下深度的、探索式的问题给自己,并在由此问题招致的持续困扰和折磨中开启卓越的心智旅程。」

2、通过解码,深入事物的深层

我们不要只做信息的搬运工,而应该通过解码,去深入事物的深层。

一个高段位的学习者,通常都是一个适应性专家,他们可以有意识地构筑一个信息解码与知识扩展的良性循环—不断地从一些高质量的学习资料中通过 「学习、思考、实践」 去获取深度知识以扩展与修正我们现有的知识体系。最常见的一些高效的解码方式有如下三种:

  • 1)、「不仅要去寻结论,更要去寻过程」:不言而喻,过程比结论更加重要。
  • 2)、「不仅要去做归纳,更要去做扩展」:归纳的同时,我们应当注重保留其中的核心知识与关键细节。
  • 3)、「不仅要去比较相似,更要去比较不同」:不同才有知识,才有新意,才有新的发现,才能实现真正地自我提升,在差别中我们首先应当选择最受强调的东西,这不仅仅是因为它们最引人注目,而且是因为它们也最富有启发性。

而这,大概就是解码的要法了。

3、技能—才是学习的终点

只有最后能够作用于现实的学习,才是唯一有效的学习。最有效的学习方式,即「做中学」,它是学习真正为我所用的关键一步。

目前「最有效的两种通用学习方式」

  • 1)、「不断地测试练习」:即高频次的重复练习。
  • 2)、「分散练习」:分散练习即在一个较长的时期内使用较长时间间隔的分布式训练,,例如「1小时、1天、1周、1个月、3个月」的时间间隔。

获得技能也就意味着我们拥有了改变世界的能力,哪怕一开始这种能力非常弱小。「高效实践的方式有三种」,如下所示:

1)、写作式练习

写作是一种「典型的知识建构或重构活动」。一篇文章如果要被人读懂、要把人说服,需要缜密的思维、清晰的表达和翔实的依据,这些都需要我们对知识的编码与组织达到一个相对较高的水准。

而写作的另一个优势在于能「获得外界的反馈」,我们可以「根据读者的评论去提取出对我们有用的信息,以此来完善或修正我们的知识体系」

2)、游戏式练习

我们可以「使用“思想实验”来实现一个虚拟的游戏式练习」,思想实验就是构造一个现实中并不存在的假想情境,然后运用所学的知识,来设想事物在这个情境中的变化。在这样的练习中,我们往往可以得到比原先更为深刻的洞见。

3)、设计式练习

调用已有的知识,「设计某一种解决方案,来解决某个特定的问题」。这种练习我们通常会在架构与系统设计方面应用的比较多。

可以看出,「知识的练习迫使我们对现有的知识进行更加深入的审视,对现实的情境和问题进行更加细微的观察,并且致力于创造两者之间的关联。它使我们不再固守书本,不再去做僵化的记忆,而是让我们赋予知识以灵性,以更好地适应这个变化莫测的世界」

4、调整努力的姿势

具备成长性心智的人,会比平常人成长地更快,它们都坚信——「只要够努力,就能变得更好」。以大多数人的努力程度之低,根本轮不到拼天赋。根据当前的神经科学的研究表明,「人的大脑具有相当大的可塑性,因此后天的努力对人的改造作用可以是惊人的」

我们在不断地学习和思考的过程中,其大脑内部会产生剧烈的神经活动,这迫使脑神经之间建立了更多的连接。随着神经元之间连接越来越多,我们对问题的认识也就越来越深刻,遇到类似的问题反应也会越来越快。不仅如此,甚至还能触类旁通,举一反三,乃至和其他的领域结合,产生创新性的想法。

「努力,不是一场意志力的较量,而是一种需要学习的策略」。努力本身是一种具有策略性的活动,这体现在如下「三个方面」

  • 1)、「个人资源的调配。」
  • 2)、「行动方向的选择。」
  • 3)、「执行进度的把控和调适。」

而这种策略是需要我们不断地学习与优化的。

Android程序员如何有效提升学习效率?14条私藏秘籍全公开!_第2张图片

5、专注在一个领域走到最后

在这个互联网上,信息是爆炸的,知识是过载的,观点是鼓噪的,热点是速朽的。而反过来,「专注在一件事上,精益求精、持之以恒的态度和行动,则是最为稀少与珍贵的。」

我一直都相信一句话——「具备突出的优点比没有明显的弱点要重要的多」。对此,我自然而然地就想到了业界常说的“T”型人才,要高效地成长为“T”型人才,我们得先做出那一竖,即「应先在某一领域深入钻研后再去涉猎其他领域,这样更能触类旁通,对提升那一横的含金量也很有好处。」

而不少事实也证明了,「浅尝辄止的人很可能将一无所获,而专注投入走到最后的人将会获得超额收益。并且,每个人的精力都是有限的,如果你不专注,就很有可能永远在多个“缓慢起步期”徘徊。」

并且,人是无法做到十全十美的,因为可提升的方面实在太多,在有限的精力与时间之下,我们只能竭力发挥自己的优势,将其发挥到淋漓尽致。对此,我们需要「学习齐白石先生那种长期专注和一丝不苟的精神,去把一件事情做到极致。」

6、花费20%的时间去涉猎不同领域的知识

「学习高手通常都会有意识地把不同领域甚至不同学科的知识摆放在一起,然后尝试去分析、比对它们之间的潜在关联,甚至当那异质的素材堆叠在一起时,仅仅是潜意识的推动,就可以让这种隐藏的关系浮出水面。」

在当今,有很多医学的难题长期无法解决或者没有进展的一个主要原因就由于大多数的医学研究者因为多年专业教育塑造的知识壁垒导致缺乏足够的知识广度而造成的。

因此,我们需要需要去花费20%的时间去涉猎不同领域的知识。在学习时间的分配上,我通常会采用「二八分配」的原则,即把80%的时间专注在主业上,把剩余的20%的时间用来去接触各种不同领域的知识或补足自己的知识短板。

知识短板会严重阻碍我们进步。准确识别它们的最佳方式之一就是「看看自己在哪些工作上花费了大量时间,或者一直进行重复性的劳动」。例如没有掌握键盘快捷键可能就是一个知识短板。

7、构建呈阶梯式难度的关卡

人是需要一些挫折、失败或者高难度的挑战来刺激的。如果总是一帆风顺,就会一直待在自己的“舒适区”里不肯出来,潜能就无法被充分地激发。

因此,我们应该「为自己的学习适当地增加必要的难度,例如在学完知识后延迟一段时间再做练习,而这种稍难得考验正好能强化我们对这些知识的存储和构建。」

我们应该学会去「构建适合自己的“个人挑战阶梯”」,拿学英语来说,一个比较好的”英语学习挑战阶段“如下所示:

背单词 => 考托福 => 考 GRE => 听英语电台(VOA、BBC)=> 听各种地方口音的英文 => 英语脱口秀

遇到的挑战越大,获得的快感也越强。好的挑战阶梯的设计能够给与我们足够的挫折与失败,而这将会大大加速我们的成长速度。

「我们应该做一个主动探索的学习者,不断地为自己设计出有难度的”非标准动作“,在挑战中获得才能的提升与飞跃。」

8、如何更加高效地读书?

要想真正掌握一本书的核心内容,需要读三遍。

  • 第一遍:「细读,目的在于完整阅读全书,并且划出重点,写上读书笔记。」
  • 一个月后读第二遍:「扫读,主要快速翻阅第一遍阅读时做的笔记和划的重点,目的在于加深记忆。」
  • 半年后第三遍:「忆读,读的时候只看目录,然后去回想内容,如果回想不起来,再去进行扫读。这样三遍下来,基本上一本书的核心内容就能够很好的吸收。」

9、切忌完美主义

学习不是要么0分,要么100分的。80分是收获,60分是收获,20分也是收获,「有收获才是最重要」。但是因为着眼于自己的不完美,最终放弃了,那就是彻底的0分了。

「不完美其实是常态,根本不会影响我们学习更多更深入的内容」。但是在自学过程中,很多同学却要求自己在自己制定的每一步计划中都达到“完美”,才进行下一步。最终结果,通常都是“放弃”。

而不要“完美主义”,不代表学习可以草率前行。「每个人都必须要找到适合自己的学习节奏」。如果在自己又因为自己的学习进度而沮丧的时候,问自己一句:是不是自己又犯“完美主义”的毛病了。

10、不要过度“学习路径依赖”,学习要冲着自己的目标去。

例如想学机器学习,就去直接学习机器学习。学习过程中发现自己的数学不够用,再回头补数学即可。

11、不要迷信权威的“好”教材、不要看不起“薄薄”的“傻”教材

每个人必须要去探索学习如何寻找适合自己的学习材料。适合你的教材不一定是权威的,「可能有一些你看不起的学习材料,就是是你入门某个领域的关键。」

「先用薄教材入门,再找“厚”教材,是我百试不爽的学习方法。因为“薄”的教材能让你以最快的速度看完,对整个学科有一个全盘的认识,薄会将你入门这个领域的难度降至最低,短期学习完之后会让你产生更多的兴趣与成就感。这一点往往更加重要,因为学习,不是100m短跑,而是加长版的马拉松。」

12、不要迷信单一教材。

在大多数情况下,学习不是一本固定教材可以搞定的。非要找到一本“最适合自己的”教材,然后就一头扎进去,其实是不科学的。

建议每一个技术点都需要「筛选多个优秀资源去进行 学习、实践、思考、总结。因为不同的作者对同一个事物会从不同的角度做解读,这能够帮助你更深刻的认识一个概念。」

13、学会复盘

「在每天晚上睡觉的前半小时之内,我们需要复盘当天的学习情况,哪些完成哪些没完成的需要记录,为明天做一个衔接的准备,以确保当前的学习进度是可控的。」

14、量变到质变

仅仅对着一个问题思考,很多时候都是死胡同。因为我们见识的还不够多,就不足以帮助我们去总结出更加“普遍”问题解决的规律。

我们不要企图通过一个问题就理解问题的本质,这其实和企图通过一本教材就精通一个领域的想法是一样的,是不现实的。

其实大多数问题,都是需要“回头看”的。对一个领域理解的越深入,回头再去看那些曾经的问题,都会产生新的视角,对于很多曾经想不明白的问题也豁然开朗。这也是“进步”的根源。 「很多时候,你发现对一些问题“百思不得其解”,或许不是因为自己“笨”,而是因为“还不够努力”。」

最后

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。

最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司19年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。

还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

Android学习PDF+架构视频+面试文档+源码笔记

下面是部分资料截图,诚意满满:特别适合有开发经验的Android程序员们学习。

【Android核心高级技术PDF文档,BAT大厂面试真题解析】

【延伸Android必备知识点】

【Android部分高级架构视频学习资源】

Android精讲视频领取学习后更加是如虎添翼!进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!

【Android进阶学习视频】、【全套Android面试秘籍】关注我【主页简介】或者【简信我】查看免费领取方式!

你可能感兴趣的:(Android程序员如何有效提升学习效率?14条私藏秘籍全公开!)