- 5)「眼保健操」。
- 5)「睡觉(家中)」。
- 6)「溜达(家中)」。
每当我在进入专注阶段之前,我会开始一个番茄钟,让它稍后唤醒我,这样我就可以暂时换上战略眼光,观察全局,休息后再次回到专注状态之中 — 这就是节奏。
四、生产力提升计划
在平常的工作和学习中我会使用番茄工作法来保持专注,并且用番茄工作法估算和衡量每一项任务要花多长时间。
任务越大,越难被明确定义,大型任务给人带来沉重的心里负担。面对大问题时,我们倾向于花更多的时间思考问题本身,而不是采取行动去解决问题。人类倾向于选择阻力最小的路径。当面对一项大任务的时候,检查电子邮件或者泡上一杯咖啡看起来是更容易的路径,于是拖延随之而来。
「当我们把任务分解成小块的时候,这些任务就变得更容易完成,我们对完成任务所需的时间的估算也更精确,也更有可能正确地完成它们。即使有些小任务没有正确完成,我们也有很多机会改正,而不至于过多地影响大项目」。
因此,通常我都会按照 「年度计划 => 季度计划 => 月度计划 => 周计划 => 日计划」 五个层级来对学习目标进行划分。最终,我会 「把一天的时间分配给一个一个用时不超过4个番茄钟的小任务」。
1、年度计划
首先,我们应该列出本年度需要掌握的一些技术点及对应的掌握程度。这里就以我制定的 「部分年度目标」 为例进行说明,如下所示(按重要程度由上至下):
- 1)「具备构建体系化的 APP 性能优化方案与监控的能力,并具有较为丰富的性能优化实战经验」。
- 2)「深度掌握 Gradle 自动化构建技术,并能高效地结合编译插件技术对 APP 的构建流程操控」。
- 3)「具备比较扎实的计算机基础,熟悉 TCP/IP、HTTP/HTTPS、Linux 操作系统」。
- 4)「熟悉 C/C ++,具备一定的 C/C++ 项目实战经验」。
- 5)「具备扎实的 NDK / JNI 基础、对 热修复 技术的实现原理及其关键细节了然于心」。
- 6)「熟悉 Flutter 项目开发,并对 Flutter 架构的核心实现原理 有较为深入的研究」。
然后,我们再根据需要掌握的技能点分别制定完善的学习计划。最后,我这里将 「2020 年的学习计划大纲」 正式公开,思维导图如下所示:
2、季度计划
然后,我们将本季度想要完成的工作列入其中,这会让我们 「清楚地了解自己的主要目标是什么」,也知道该 「如何实现它」。同时,它还会使我们 「保持专注」。如下是我的 「春季计划表与秋季计划表」:
3、月计划
我们需要根据当月天数和之前的完成情况,粗略估算出当月我能够完成多少工作。我会简单地从季度计划中挑选任务,看看有哪些任务可以写入月计划中。例如我 「本月的计划就是深入探索 Android 网络优化」,如下图所示:
4、周计划
每周的晚上,我都会制定我的 本周学习计划完成情况总结 && 下周学习计划表。对于每一项任务,我们需要估算一下要花多少个番茄钟(专注工作 25 分钟)。需要注意的是,我们要把下周必须做的任务和最重要的任务加入计划中。这样做的好处在于我们能清楚地知道每周自己的时间都去哪儿了,我们甚至能事先控制自己将时间用在哪儿,而不是回过头看自己的时间都去哪儿了。下面,给出我前面已完成的 「本周学习计划完成情况总结 && 下周学习计划表」,如下图所示:
5、日计划及执行
日计划的执行中我们需要注意如下几点:
- 1)「在坐下来工作之前,确保做一些健身活动,以提高工作时的专注状态」。
- 2)「保证自己优先完成最重要的事情」。
- 3)「如果日计划上对某项任务的描述不够细致,需要添加相应的细节,以避免因为任务定义不清晰而导致的拖延和时间浪费」。
在执行了无数个日计划之后,我演练出了一个通用的日计划执行表,如下图所示:
注意,「除非一些事情确实紧急,否则我通常只会在 上午、下午开始工作之前、晚上工作之后 这三个时间节点去统一回复电子邮件」。
6、心理游戏
在使用常规的任务清单时,似乎它是一个好主意,但当我们完成某些任务耗费的时间比预计的要长的时候,我们将会备受打击。
而番茄工作法的真谛在于—它能让我们 「明白每天能够专注完成的工作量才是最重要的,而不是全凭主观臆断制订的那份任务列表」。
正确理解番茄工作法不仅能帮助我们做更多的事情,而且能让我们可以尽情享受业余时间。
需要注意的是,我们需要花一段时间才能适应它。因为在一天的大多数时间里都保持专注是非常苦难的,可能远远超过我们之前遇到过的苦难。建议一开始使用番茄工作法时,尽可能从更少的番茄钟个数开始,比如 10 个左右是比较理想的。确保我们对自身的能力有一个清晰的认识,开始不要设置过多的番茄钟,比如一天 20 个,这将会对我们的心理与身体健康造成极大地负担。
五、定额工作法
我们还需要一种能够处理需要几周甚至几个月才能完成的大任务的方法。它就是定额工作法。
要想确保自己在追求目标的道路上获得持续的进展,唯一的方法就是 「确立一个明确的目标,规定自己要在预先确定的时间段内需要取得多大的进展」。长期坚持这么做,我们就能够随着时间的推移度量并标记自己的进度。我们就可以确切知道自己在给定的一段时间内能够完成的工作量。
1、我的定额示例
- 1)「每天早起健身 30 分钟」。
- 2)「每周早上练习算法 2 个番茄钟」。
- 3)「每天上下班走路共计 80 分钟」。
- 4)「每天晚上阅读 4 个番茄钟」。
注意,承诺是”定额工作法“的核心,失败不是一个可以被接受的选项。因此,为了确保承诺,「开始的时候承诺可以小一点,在能够达成之后再逐步做大胆的承诺」。
2、定额工作法的规则
- 1)「挑选一项重复性任务」。
- 2)「明确有效时限,在此期间该任务被重复执行」。
- 3)「明确在给定的有效时限内该任务应该完成的次数的定额」。
- 4)「给自己(大家)承诺:一定要达成定额」。
- 5)「调整:调高或者调低定额,但是不能在有效时间段之内调整」。
❝ 定额工作法为什么会富有成效?❞
以缓慢但稳定的节奏工作,要优于快速但缺乏持久和坚持的工作方式。 只关注大任务很容易让人泄气,如果每天只是完成小任务就会容易很多。 它可以帮我们克服意志力薄弱的问题,因为这些任务都是必须要做的。它以 「定额的形式将决策转变为命令,我们 无需再做决策,也就避免了意志力耗尽的问题」。
六、其它的工作方式
1、批量处理生产效率更高
一次性完成一系列互相关联的任务,而不是将它们拆分完成。一些比较适合批量处理的领域有:
- 1)「电子邮件」。
- 2)「修复 bug」。
- 3)「开短会」。
- 4)「打电话」。
批处理的优势
- 1)「我们不会打破自己对正在处理的大任务的专注」。
- 2)「我们会更专注于自己平常没有足够的时间进入专注状态去处理的任务」。
2、多任务并行
真正的多任务并行无疑会极大地提升我们的生产力,诀窍在于 「搞清楚哪些任务可以被真正组合起来而不会降低单独执行每项工作的生成效率」。通常,我会使用如下几种多任务并行的方式:
- 1)「写作 + 听音乐」。
- 2)「阅读 + 平板撑」。
- 3)「阅读/编码 + 蹲马步」。
- 4)「洗碗+思考重要事情」。
- 5)「拖地+思考重要事情」。
可以看到,多任务执行的诀窍就在于,「只要进行任何需要耗费脑力的活动,就将其与体育运动结合起来」。
七、自我责任心
1、对自己负责
「培养出在没有人监督自己的时候也能高效工作的自我责任感非常重要」。自我控制是一门自我激励的艺术,而自我激励的核心则是自我责任感。如果我们不想再依赖别人的影响,获得稳定、可预测的结果,我们就要学会对自己负责。
此外,「公开自己的日常活动也是一个好主意。将自己的工作暴露在公众的监督之下是会有帮助的,因为那种尴尬或者不想让信赖自己的人失望的感觉会激励你采取行动」。
2、时间杀手
弄清楚自己在哪儿浪费的时间最多,并消除他们,这就会让我们处于非常好的状态。常见的时间杀手有如下几种:
- 1)「停止看电视:电视看得越多,我们越会放弃对自己的思想和行为的控制」。
- 2)「社交媒体:QQ、微信」。(使用批量处理)
- 3)「新闻网站」。
- 4)「不必要的会议」。
- 5)「网络游戏」。
3、创建好习惯的最佳实践
我们每一个人都形成了一个习惯,就是工作日都要去工作,所以 「最成功的方法就是围绕 5 个工作日来形成习惯。建议把每天最开始的一两个小时投入到最重要的目标上。我们可能需要早起一两个小时,但是通过有效利用每天最开始的一两个小时,我们不仅更容易坚持想要做的事情,还会精力更加充沛」。
我们还应该 「为自己安排一个食谱,如果这些事情不能提前计划,最终我们就会吃的很差,并且也会因此浪费很多时间,以致自己身心疲惫」。
4、改掉坏习惯
我们需要设法找到生活中令我们感到内疚的事情或习惯。努力找出是否有别的惯例可以替代当前这个为了某个习惯正在执行的惯例。强迫自己坚持足够长的时间,以使新习惯取代旧习惯。
5、努力工作
❝ 赛跑比的是谁耐力更长久,而不是看谁冲刺更有力。❞
艰苦的工作最有可能是让我们获益良多的工作。无论什么时候,努力工作的人总是超越自认为聪明工作的人。如果我们愿意在一件事情上比别人坚持更长的时间,那么最终我们就会超越其他人。「因为只有那些愿意投入漫长的努力,并愿意为了完成工作执着于枯燥工作的人才会遥遥领先其他人」。
如果我们想要成为成功人士,就需要在自己的职业生涯的数年里每周工作 60 ~ 70 小时。为了获得领先地位,我们需要好几年都不得不放弃看电视或者与朋友们外出游玩。但这并不意味着我们永远都不能有片刻轻松。成功会带来更多的成功。「越成功就越容易获得成功。但是,攀登第一座山峰的过程是漫长又艰难的,我们必须愿意付出努力,必须愿意将自己所学的东西付诸实践,让他们发挥作用」。
每当我们试图提升自己至一个更高水平的时候,阻力一定会伸出它那丑陋的脑袋,试图让我们原地不动。因此,我们必须要学会脚踏实地、埋头苦干。我们必须要认识到,工作最终必须要被完成,所以还不如现在就做,而不是拖到以后。我们必须认识到,要想实现目标,要想发挥出自己的全部潜力,唯一的途径就是自愿咬紧牙关、硬着头皮、开始工作。
6、即刻行动
最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上我搜集整理的2019-2021BATJ 面试真题解析,我把大厂面试中常被问到的技术点整理成了PDF,包知识脉络 + 诸多细节。
节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
《960全网最全Android开发笔记》
《379页Android开发面试宝典》
历时半年,我们整理了这份市面上最全面的安卓面试题解析大全
包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。
如何使用它?
1.可以通过目录索引直接翻看需要的知识点,查漏补缺。
2.五角星数表示面试问到的频率,代表重要推荐指数
《507页Android开发相关源码解析》
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
腾讯、字节跳动、阿里、百度等BAT大厂 2019-2021面试真题解析
资料太多,全部展示会影响篇幅,暂时就先列举这些部分截图
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!