前言

OKR = Objectives + Key Results,即目标和关键结果法,是一套目标管理的方法论,用于明确目标、跟踪其完成情况。

OKR 本是企业内部管理的工具,起源于英特尔,兴起于谷歌,随后传入国内,字节跳动、百度、华为等企业也都逐渐推广和使用 OKR (见 飞书 - OKR 的起源)。但是 OKR 也可以应用到个人生活中。

本文主要讨论如何在生活中使用 OKR 方法论,引导我们实现个人目标。

💡 目标管理 == 自我管理

Objectives: 目标

OKR 中的 O 即目标。目标可以是短期的,也可以是长期的。一些简单的例子:我希望能流畅自然地用英语交流、我希望能有系统地时间管理方法论、我希望提升管理能力…

目标因人而异、因角色而异。在工作场景中,我们的目标需要和上级对齐,而上级的目标是团队希望在近期实现的目标,由公司长期的使命和愿景分解而来。在生活场景中,我们的目标来源于对个人生活状态的期望,与个人的愿景和原则相匹配,具有附加价值或长远价值。

为什么我们需要目标?

(1) 目标是驱动力。

除去日常事务外,我们会利用业余时间来做一些其他的事情,例如读书、锻炼等。不管我们是否仔细思考过,我们做这些事其实都是为了实现一些目标 —— 读书是为了充实自己,锻炼是为了保持身体健康…

目标可以为我们提供短期或长期的动力。当我们设定了具体的目标、并用这些目标来衡量个人的成长与进步时,我们会变得更加积极主动。如果没有目标,做这些事似乎也没有意义。

(2) 目标是方向。

埋头做事的时候,也要抬头看路。没有明确的目标,我们很容易走错方向 (南辕北辙、白费力气) 或者走弯路 (效率低)

方向比努力更重要。我们应当以终为始,以目标为导向,从结果出发,而不是不定目标就行动。对于没想清楚的事,可以尝试反向思维 —— 如果不知道自己要做什么,可以根据目标,明确关键结果,然后分解行动;如果不确定自己要不要做,那应该先明确自己的目标是什么。

💬 “如果你不知道目的地在哪里,你可能永远无法到达。——尤吉·贝拉 (美国著名棒球运动员、教练)

Key Results:关键结果

KR 即关键结果,由 O 分解而来,是实现目标的关键路径。理想状态下,当 KR 完成了,O 也就实现了。

KR 描述了目标完成时应该达成的状态,最重要的原则是可衡量的。如果 KR 不是可衡量的、明确的,那目标也只会是模糊的,或者仅仅只是一个决心。

不要把 KR 写成 TODO。设定 KR 时,我们不应当关注于“要用多长时间”、“要做什么”,而要关注于“目标是什么”、“要达成什么结果”。将 TODO 和 KR 剥离开,先描述 KR,再根据 KR 分解 TODO,我们才能在更高层的视角上思考目标的实现路径。下文会进一步探讨 KR 和 TODO 的区别。

通用思维

区分目标、结果与行动

目标、结果与行动是自上而下、层层分解的关系:

image-20211031193537054

  • 愿景 (Mission):我们最终期望成为什么样的人。
  • 目标 (Objectives):我们近期应该聚焦什么,根据愿景设定。

  • 关键结果 (Key Results):我们怎样能够知道目标是否实现。KR 描述了实现目标所需要达成的成果或状态。
  • 行动 (Action / Tasks / TODO):为了达成关键结果需要采取的行动。

其中,结果是一个可衡量的状态,比如“正确率达到 85% 以上”。当结果达成时,目标也就实现了。而行动是一个可执行的动作,一般以动词开头,比如“查找相关资料”、“写文章”。

💡 「动作 / 行动 Action」「任务 Task」「待办 TODO」可以视作同义词。有时候,「任务」的粒度会大一些,包含了若干个「动作」。在这里,我们只需要把它们和「关键结果 KR」区分开即可。

举个例子:

  • [目标] 托福考试取得好成绩。
  • [关键结果]
    1. 托福阅读真题正确率达到 85%;
    2. 托福听力真题正确率达到 85%;
    3. 掌握常见的口语表达,积累 20 篇口语模板,能应用到近几套模考题中;
    4. 针对 10 个常见的写作话题,分别背诵 3 篇满分范文,能应用到近几套模考题中。
  • [行动]
    • For KR1:
      • 背完托福单词书,每天学习新词 100 个;
      • 每天做 2 篇阅读真题,积累其中的生词、长难句,定期复习。
    • For KR2:
      • 第一个月,每天精听 3 篇 Easy 难度的听力真题,积累生词、长难句,定期复习;
      • 第二个月,每天精听 1 篇 Medium / Hard 难度的听力真题 + 复习;
      • 备注:按照话题 (自然科学、人文科学、校园生活等) 进行学习。
    • For KR3:

自上而下分解 vs. 自下而上整合

OKR 是一种自上而下分解的方法 —— 先明确要达成的目标 (O) 和达成目标所需要的能力、条件或状态 (KR),然后根据这个能力拆解出要采取的具体行动 (TODO)。这实际上是一种反向思维。

我们从小接受到的教育模式都是正向思维。比如学习阶段,我们的目标是考高分。我们并不需要关心每节课应该学习哪些内容,也不需要关心基础 / 强化 / 冲刺阶段分别应该做什么。这是因为老师们已经研读了考纲、设定好了教学计划,并分解成每个学期、每个月、每节课要学习的内容。我们只需要按部就班上完所有课程,然后背重点知识、做专项习题,之后不断月考 / 模考,查漏补缺就可以了。

这就是自下而上整合的模式—— 我们上的每一节课、做的每一份卷子,都是最末端的一个叶子节点 (TODO)。我们跟随着课程表的安排,逐步推进学习进度,完成学期计划、学年计划、阶段计划 (Key Results),最终实现考高分的目标 (Objective)。这种模式下,我们不需要经过中间这些步骤的思考,直接上课、做题就能取得好成绩。

image-20211101134030144

但是这也导致我们缺乏自上而下分解的能力。以考研为例,考研阶段不再有老师的指引,需要我们自己设定学习计划。但是应该如何复习、第一步先做什么?我们通常摸不着头脑,难以下手。如果有读者准备过考研,或许会有相同的体会。

我们不妨思考一下,如何利用 OKR 方法论来实现“考研成功”这个目标呢?

首先,我们可以从目标出发,自上而下地思考,得出考高分的必要条件:

  1. 研读考纲,学完全部考试科目 (一轮复习)
  2. 按照专题做习题册,查漏补缺,最终每个专题的正确率保持在 70% 以上 (二轮复习)
  3. 历年真题反复做 3 次,最终正确率保持在 95% 以上 (强化阶段)
  4. 考前半个月,使用模拟卷反复训练,得知自身水平,习惯考试环境 (冲刺阶段)

在这一步,我们不需要立刻确定下一步的行动、然后开始推进。过多地关注于行动细节,会让我们迷失方向,这既不必要、也不可靠。

这样一来,我们就明确了关键结果。接下来,我们就可以针对 每个 关键结果,进一步分解出可执行的行动了。分解行动时,也可以按照自上而下的模式,先将 KR 分解成不同的子任务或不同的阶段,然后再针对每个子任务 / 阶段,拆分出具体的 TODO。

以「研读考纲,学完全部考试科目」这个 KR 为例,可以这样分解行动:

  • 看完高数基础课视频,整理笔记:
    • 准备复习课本与习题集;下载视频学习资料。
    • 每天跟随视频学习 2 节内容,并完成课后习题。
  • 完成英语一轮复习
    • 每天背诵 200 个考研单词。
    • 每天精读 1 篇阅读真题,整理其中的生词、长难句,并定期复习。
  • 完成专业课一轮复习

设定好详细的行动后,我们便可以制定每天的日程表,例如上午复习高数、下午复习英语、晚上复习专业课等。

到这里为止,我们便完成了自上而下分解的过程:从一个目标出发,明确达成目标所需要的能力或条件,然后根据这些能力拆解出要做的具体事情。如果你经历过考研,会惊奇地发现,这正是当时自己制定复习计划的流程。原来我们已经在不知不觉中,摸索出了 OKR 方法论。

在执行阶段,我们又回到了自下而上整合的模式中 —— 从第一个 TODO 开始完成,当所有 TODO 完成时,一个 KR 就完成了;当所有 KR 完成时,一个 Object 也就实现了。

这种自上而下分解的方法还有很多应用场景。

以下是几个小练习,请先将目标分解成若干个可衡量的关键结果,然后针对每个结果,设置若干个可执行的行动:

  1. 目标:校招面试时,算法题稳过。
  2. 目标:锻炼身体,不再因为工作期间久坐而脖子疼。
  3. 目标:提升个人博客的影响力与传播度。

欢迎在评论区交流讨论。

OKR vs. GTD

在上文「区分目标、结果与行动」一节中,我们已经探讨过这三者的区别。其中,”目标“与”结果“是目标管理领域的概念,适合使用 OKR;而”行动“是任务管理领域的概念,适合使用 GTD。目标管理和任务管理是互为补充的两个领域,OKR 和 GTD 也是相辅相成的两套方法。

简单来说,OKR 的粒度更大、GTD 则更精细。在制定年计划、月计划时,我们应当采用 OKR。这能够让我们在更高的视角去思考,不必过分关注实现路径上的细枝末节,只需要想清楚我们想达成何种结果,从而将精力放在真正重要的事情上。(这一步要注意,不要把 KR 写成 TODO)

在设定周计划、日计划时,则应当采用 GTD。月计划上的 KR 是我们深思熟虑后的结果,因此我们可以直接根据 KR 来设定周计划。周计划是由 KR 分解而来的一系列任务,这些任务做完了,KR 也就达成了。每天早上,再根据周计划,设定今日的日计划。日计划是一系列更为细化的动作。(这一步写的全是 TODO)

💡 月计划建议以两个月 (一个双月) 为单位,周计划建议以两周 (一个双周) 为单位,可以更灵活地安排任务。

这样一来,我们便自上而下地完成了「年计划 → 双月计划 → 周计划 → 日计划」的层次分解,也即「Objects → Key Results → Actions」的分解。

image-20211109094441638

一般来说,制定年计划和双月计划花的时间会长一些,通常需要几个小时,但是频率很低,所以我们可以挑出一整个上午的时间来完成。周计划的设置频率次之。日计划的设定频率最高,但是由于我们之前已经详细地完成了自顶向下的分解,所以每天直接从周计划中选择几项任务推进即可,这只需要几分钟的时间。

如何写好 O?

想清楚自己的真正目标

我们有很多想做的事,比如“我今年想读完十本书”、“我想多去健身房运动”。但这些“想法”并不是真正的目标,真正的目标可能是“我希望提升管理能力”、“我希望缓解腰背疼痛”。

不同的目标有不同的达成路径,我们需要想清楚自己真正的目标是什么,才能决定应该做什么。例如,当目标是“提升管理能力”时,读书不一定是达成目标的最好方式;当目标不是“缓解腰背疼痛”而是“增肌塑形”时,我们需要在健身房进行的训练内容也并不相同…

在实践中,我们可以按照「先发散、后收敛」的方法来找到自己的目标:

  1. 先发散思维,罗列自己想要做什么。这里可以区分不同的情景,比如工作、生活、学习、健康等。
  2. 再分析每个情景,问自己为什么要做这件事,期望取得什么结果 / 效果,目标是什么?
  3. 最后收敛,将上一步的若干个小目标合并为一个大目标。

O 的内容

  • O 的内容应当具有挑战性,Daily Routine (日常任务) 就没有必要写上去了。
  • O 的内容应当详细,而不是一个简单的短语。
  • 在工作场景中, O 需要和上级的目标对齐;在生活场景中,O 应当和我们的个人愿景、长期目标对齐。
  • O 分为长期与短期,长期目标可以是三年计划、一年计划;短期目标可以是双月计划,由年计划分解而来。

O 的数量

一般来说,双月计划中,O 的数量 3 个为宜,最多不超过 5 个。我们的时间有限,每个 KR 的完成也需要一定时间,如果 O 过多,很容易会导致精力分散、雨露均沾,最后每个 O 都没有完成。

在实践中,我们应当聚焦高优 —— 认真思考每件事的优先级和 ROI (投资回报比),问问自己如果不做这件事会有什么影响,排除不重要的、无价值的 O,将有限的精力分配到更重要的事情上。

年计划的周期较长,O 的数量也允许略多一些 (建议 ≤8 个)。但是最好将每个 O 分配在一个或几个连续的双月中,集中精力完成。每个双月应当有侧重点,避免出现同时推进多个 O (≥5) 的情况。

如何写好 KR?

KR 的内容

KR 应当满足以下几个要求:

  • KR 不是 TODO
  • KR 是 O 的充分必要条件 —— 每个 KR 对于实现 O 都有帮助 (必要性) ;当所有 KR 完成时,O 也就实现了 (充分性)
  • 满足 SMART 原则

在写 KR 时,我们可以按照「先发散、后收敛」的方法:先把所有可能使目标达成的 KR 都列出来;然后看其中哪些 KR 是否可以合并、哪些 KR 是否对实现目标没有帮助、哪些 KR 实际上是 TODO;最后找出达成目标的充分必要条件,也就得到了一个 O 的所有 KR。

KR 的数量

KR 的数量并无绝对要求。但是如果 KR 过多,或许要考虑下目标是否设定的过于庞大。可以将大目标分解成若干个小目标或不同的阶段,逐步推进。也可能是因为 KR 写得过细,或者写成了 TODO,这时可以尝试合并 KR,找到 TODO 期望达成的状态 / 结果。

SMART 原则

一个好的 KR,应当满足 SMART 原则:

  • Specific,具体的。KR 应当详细描述要达成的状态,而不只是一个简单的短语。
  • Mesurable,可衡量的。KR 应当以量化或行为化的方式写明要达成的状态,从而方便验证是否完成,以及随时更新当前进度 (百分比)。
    • 可衡量的 KR 举例:
      • 数量 / 绝对值:用户量达到 5000;班级排名上升到前 3
      • 增量 / 相对值:付费用户数增长 20%;应用商店排名上升 5 位
      • 其他反映状态或行为的描述:完成新人串讲;整理新人手册,可以使新入职的同学快速熟悉开发流程
    • 不可衡量的 KR 举例:
      • 本次考试取得好成绩 —— “好成绩”的定义是什么?如果成绩中等偏下,那么进入班级排名前 20,就可以说是好成绩了;但是如果希望考上知名大学,那或许进入年级前几才是好成绩。
      • 迅速融入团队 —— 怎样才算是“融入团队”?可以是熟悉同事、了解他们的工作内容,也可以是熟悉团队使用的开发工具和技术栈,完成第一个上手项目。这里可以写得更具体一些。
      • 每周跑步 2 次,提升耐力 —— 自己当前的耐力水平如何,有没有测试过?耐力提升到什么程度就算达成目标?比如现在能够以 9km/h 的配速跑 3 公里,那么 KR 可以是“两个月后,能够以 9km/h 配速跑 5 公里”。
  • Attainable,可达成的。KR 应当在付出努力的情况下可以实现,避免设定得过于激进或过于保守。写 KR 时需要结合当前的状态,设定合理的增量。比如目前的排名是班级前 20 名,KR 可以设定为“下次月考提升至班级前 15 名”,而不是直接提升至班级前 5 名。
  • Relevant,相关的。KR 应当是和目标高度相关的,可以支撑目标实现,这也是 “Key (关键)” 的含义。检查一下,当这个 KR 完成时,O 的进度会增加吗 (必要性) ?当所有 KR 都完成时,O 能够实现吗 (充分性)
  • Time-bound,有明确截止期限的。为 KR 设定一个截止期限,可以帮助判断优先级、调整工作计划,也可以有效避免拖延。

案例分析

具体的工作 vs. 可衡量的关键结果

  • Bad:在 KR 中写具体的工作。
  • Good:从达成目标所需要的能力 / 条件出发,在 KR 里写需要达到的能力标准。

前者写起来很简单,执行起来很有效,完成的时候也很有成就感。但是,这种方式实际上跳过了「分解关键结果」的中间阶段,直接从「目标」跨越到「行动」。这很容易导致一个问题,那就是这些行动并不一定真的有效 —— 完成这些任务后,就一定会达成目标吗?换句话说,为什么要完成这些任务、而不是完成别的任务?

在 OKR 方法论中,我们不会直接写具体的执行量,而是先思考为了达成目标,需要取得哪些关键结果,之后再根据需要达成的 KR,分解出具体的行动。“目标 → 结果”、“结果 → 行动”的两阶段分解,有助于我们分别聚焦在不同层面上思考问题。

如何写重复型 KR?

  • Bad:KR 写成重复型任务,没有明确目标。
  • Good:KR 是重复型任务,但有核心目标做支撑。

有些目标需要长时间坚持,例如:学习一门外语、保持身体健康等。于是,我们也会自然而然地写出重复型的 KR,例如“每天背 50 个单词”、“每周锻炼 3 天”。这种重复型的 KR,表面上看是可衡量的 (通过打卡次数)。但实际上,这些 KR 设定得很笼统,并没有表达清楚背后的核心目标。

同一日三餐一样,如果我们一直重复做一件事,久而久之就会忘记为什么要做这件事。因此,我们要从重复型任务中抬起头来,想一想自己要达成的目标。

以“保持身体健康”这个目标为例。我们可以先从不同角度出发,描述自己期望达成的状态

  • 纠正体态,不腰背疼痛。
  • 提升心肺能力,上楼不气喘胸闷。
  • 增肌塑形,有一定的肌肉线条。

然后在此基础上,补充重复性的任务

  • 每天站立办公 5 小时、拉伸 3 次,纠正体态,不腰背疼痛。
  • 每周跑步 2 次或步行上楼 3 次,提升心肺能力,上楼不气喘胸闷。
  • 每周健身房力量训练 3 次,增肌塑形,有一定的肌肉线条。

这样一来,我们的 KR 不仅是可衡量的,也有了核心目标做支撑

重复型 KR → 更可衡量的 KR

  • Bad:使用重复次数来衡量 KR 是否达成。
  • Good:使用更具体的指标来衡量 KR 是否达成。

虽然重复次数可以作为一项衡量指标,但是并不推荐这样写 KR,因为当我们重复做一件事时,很有可能会习惯性偷懒,最后变成只以打卡为目的,而忽略了任务的完成质量。

我们可以在重复型 KR 的基础上,补充更具体、更可衡量的指标。例如:

  • 🔘 每周跑步 2 次或步行上楼 3 次,提升心肺能力。
    ➡️ 每周跑步 2 次或步行上楼 3 次,提升心肺能力,一个月后能够配速 9km/h 跑 2 公里
  • 🔘 每周健身房力量训练 3 次,增肌塑形。
    ➡️ 每周健身房力量训练 3 次,增肌塑形,一个月后能够做 10 个引体向上 + 深蹲 50kg

这样一来,「重复」将不再是一个目的,而是一种手段。有一个更明确的指标做参照,我们在执行重复任务时才会有一个心理预期,从而主动地、高质量地完成任务。并且,这些 KR 达成后,O 也就一定实现了。

如何实施 OKR?

OKR 的实施过程可以分为制定、执行、复盘三步。

实践中,我会以一个双月 (两个月) 为周期,在周期开始时制定 OKR;然后将 KR 分解成任务,执行 OKR,并按需调整 KR 和任务的内容;在周期末复盘总结,同时优化调整下个周期的 OKR,从而形成一个闭环。

image-20211113195255105

建议 OKR 以双月为周期,而不是单月。以双月为周期,我们可以同时设定多个目标,灵活调整各个目标的推进顺序,比如每周专注于一项内容。以单月为周期,时间则太短,我们很可能完成不了设定的目标,每个月都是把上个月的 OKR 再照搬过来,这样也会很有挫败感。

制定

  • 我们可以在每年的年初制定年计划。每隔两个月,根据年计划制定下个双月的 OKR。
  • 制定 OKR 的时间可以选在周末上午。这个时候的思路更清晰,也有充足的时间来思考。
  • OKR 的内容需要满足上文的要求:
    • 如何写好 O?
      1. 想清楚自己的真正目标
      2. 先发散、后收敛
      3. 具有挑战性
      4. 和个人愿景、长期目标对齐
      5. 聚焦高优
      6. 控制数量
    • 如何写好 KR?
      1. 不要写成 TODO
      2. KR 是 O 的充分必要条件,当所有 KR 达成时,O 也就实现了
      3. 满足 SMART 原则
      4. 最重要的原则是可衡量的

执行

  • 先将 KR 分解成周计划,每天再根据周计划设定日计划。周计划包含了一系列任务,当所有周计划的任务都完成后,KR 也就达成了。
  • 周计划建议以两周为单位。周计划中的任务粒度可以粗一些,每天执行时再细化。

复盘

OKR 的执行过程中,我们需要定期复盘。

复盘的目的,一方面在于追踪进度:每个 KR 的进展如何、目前的完成度是多少、有哪些阶段性产出。

另一方面在于调整。OKR 并不是一成不变的,而是需要不断迭代的。必要时,我们可以调整 OKR 的内容,以便更好地达成目标:

  • 调整 O:当前所处的环境和之前设定 OKR 时是否一致?如果之前的假设发生改变,是否应该调整 O?

  • 调整 KR:对于某个 O,它的 KR 是否还是最有效 / 关键的?
  • 调整任务:对于某个 KR,目前设计的 TODO 是否正确?是否还有更高效的达成路径?
  • 调整个人行为:在上个周期,我们有哪些做得不好的地方可以改进?有哪些做错的地方需要避免?

复盘的周期与制定计划的周期一致

  • 每个双周结束、制定下个双周计划之前。
  • 每个双月结束、制定下个双月 OKR 之前。
  • 年终复盘。

💡 复盘随时可以进行,不一定要严格按照上面的周期。

OKR 工具

个人目标管理是一个相对简单的场景,不涉及团队成员之间的对齐,迭代频率也较低,因此使用记事本或云文档就完全足够了。

如果想尝试专业的工具,推荐使用飞书 OKR,支持设置双月 OKR 和年度 OKR。只需要用手机号注册一个个人团队,就可以免费使用。

💡 奥卡姆剃刀原则:“如非必要,勿增实体”。形成正确的理念,比玩弄花哨的工具更重要。More →

总结

OKR = Objectives + Key Results

  • 作为一种目标管理方法,OKR 能够帮助我们养成「取舍」的习惯,聚焦重点并专注于优先级最高的事项。
  • OKR 和 GTD 是相辅相成的两套方法。前者适用于目标管理领域,目的在于「分解」;后者适用于任务管理领域,目的在于「执行」。
  • 年计划、月计划应当采用 OKR;周计划、日计划应当采用 GTD。
  • 「年计划 → 双月计划 → 周计划 → 日计划」的分解,也即「Objects → Key Results → Actions」的分解。

反向思维

  • OKR 是一种自上而下分解的方法,这与我们习惯的自下而上整合的模式不同。
  • OKR 可以作为逆向思考问题的有效方法。

「以终为始」与「要事第一」

  • 以终为始:从期望实现的最终目标出发,思考为了实现这样的目标,重点要做什么?然后一步步「倒推」到当下,避免因为当下短视而导致精力浪费。
  • 要事第一:要事即能够推动目标实现的里程碑事件,也即 OKR 中的 Key Results (关键结果)。

O = Objectives

  • OKR 中的 O 即目标。目标可以是短期的,也可以是长期的。
  • 目标是驱动力。当我们设定了具体的目标时,我们会更加积极主动。
  • 目标是方向。埋头做事的时候,也要抬头看路。避免不定目标就行动。

KR = Key Results

  • KR 即关键结果,由 O 分解而来,是实现目标的关键路径。理想状态下,当 KR 完成了,O 也就实现了。
  • KR 描述了目标完成时应该达成的状态,最重要的原则是可衡量的。
  • KR 不是 TODO。

如何写好 O?

  • 想清楚自己的真正目标
  • 先发散、后收敛
  • 具有挑战性
  • 和个人愿景、长期目标对齐
  • 聚焦高优
  • 控制数量

如何写好 KR?

  • 不要写成 TODO
  • KR 是 O 的充分必要条件,当所有 KR 达成时,O 也就实现了
  • 满足 SMART 原则
  • 最重要的原则是可衡量的

重复型 KR

  • 重复型 KR 也应该有可衡量的指标。
  • 「重复」不是目的,而是达成 KR 的手段。

如何实施 OKR?

  • 制定:双月为周期。
  • 执行:将 KR 分解为粗粒度的任务,分配到每周完成,每天再根据周计划设定日计划。
  • 复盘:
    • 复盘的目的一方面在于追踪进度,另一方面在于调整迭代。
    • 我们可以根据现状调整 OKR 和 TODO 的内容,以便更好地达成目标。
    • 复盘随时可以进行,但是至少要在每次制定下个周期的计划之前,完成上个周期的复盘。

小练习

先将目标分解成若干个可衡量的关键结果,然后针对每个结果,设置可执行的行动:

  1. 目标:校招面试时,算法题稳过。
  2. 目标:锻炼身体,不再因为工作期间久坐而脖子疼。
  3. 目标:提升个人博客的影响力与传播度。