透过 STAR 原则,有架构地回答行为面试问题

2022年11月29日

💎 加入 E+ 成長計畫 與超過 500+ 位軟體工程師一同在社群中成長,並且獲得更多的軟體工程學習資源

回答行为面试 (behavior interview) 的方式有很多种,但是若想要在简短的面试中,有架构地清楚回答,STAR 原则是非常推荐的方法。这个方法甚至是Amazon 在官方的面试准备素材中推荐的,因为这个方法可以很有条理地整理你的过去经历,借此让面试官能够评估你的潜能。

笔者自己在面试 Amazon 的 Leadership Principles 题时,每个问题也都是用 STAR 原则来回答;我最后有幸通过面试拿到 offer,因此我个人也相当推荐这个方法。读到这你可能会好奇什么是 STAR 原则? 可以如何在面试中使用? 这篇文章除了会透过例子来讲解外,也会补充几个能跟 STAR 原则搭配的方法。如果你正在准备行为面试,非常推荐继续读下去。

什么是 STAR 原则?

STAR 是由四个字的英文字首组成,分别是情境 (Situation)、任务 (Task)、行动 (Action) 以及结果 (Result)。以下我们以「过去是否因为其他同事表现不好,影响到你的工作进度,那时你是如何应对处理?」这个问题,来进一步来讲解每个要件。

情境 Situation

当遇到一个行为面试问题,你可以先试着解释当时的情境与脉络。切记不要给一个含糊抽象的回答,要尽可能提出具体的例子。例子也要有足够的细节,让面试官可以了解该情境。以上面的问题来说,你可以这样描述情境「我在前一份工作时,有位新加入的同事 XXX,他上手工作的时间比别人长,在前期不仅产出速度慢,写出来的代码往往需要多次来回的 code reviews,甚至偶尔会出现 Bug。因为要帮忙他做 code reviews 以及有时要帮他 debug,我有很大一部分的时间被占用到,以至于我自己的工作进度被延误」。

任务 Task

在描述完情境后,接着可以试着讲述,在该情境当中,你要解决什么问题? 达成什么目标? 在描述要达成的目标时,建议可以同时说量化(quantative) 与质性(qualitative) 的目标。举例来说「当时我跟我的 manager 反应这个情况,manager 也同意这问题需要被解决。此时我自告奋勇说我可以拨一些时间协助该同事。希望能够帮助他加快开发速度,每次 sprint 能够从本来只完成 80% 的分配任务,提升到至少 90%,以及减少 code reviews 来回的次数,可以再不多于两回 code reviews 就让代码被合并进生产环境」。

行动 Action

有了情境与任务,接着你可以提你具体做了什么,来解决问题并达成目标。切记,这边不能只提团队做了什么,而是需要提到「你自己做了什么」,所以用「我」开头,而不是「我们团队」开头来描述你个人在解决该问题上的贡献。举例来说「在跟 manager 讨论完后,我跟那位同事约了一个 1:1,透过这个 1:1 来了解该同事的状况。这时我发现到该同事的问题,不是因为源自他不够聪明,而是因为我们没有提供足够的 onboarding 与相关文件,加上他比较内向会偏好先自己研究而不是直接找人问。了解这个问题后,我先跟他提了有任何问题都要主动提问,同时我花了一些时间去了解我们在文件上有哪些不足,边协助他补上那些知识缺口,我一边制作新的文件」。

结果 Result

讲完你做了什么行动,接着一定要讲行动带来的结果。常见的正向结果包含,节省成本、减少时间、提高量体、提升品质等等。更有什者,除了提到这次的结果,如果能谈一下你从这个经验中学到什么,那会是更好。例如「透过一对一的协助,这位同事的生产有了显著的提升,再往后的 sprint,不仅达到本来设定的完成 90% 任务,几周后几乎每次 sprint 都完成所有分配任务。代码也有所改善,后面常常是一次 code review 就足够。也因为这名同事,让我们组上更佳重视完善新同事的 onboarding 流程,也因为我后来陆续补齐的文件跟完善的流程,后续的新同事入职状况有明显的改善。」

搭配 STAR 原则的 Story Shape 方法

除了 STAR 原则外,Amazon 首席工程师 Steve Huynh 在下面的影片提到 Story Shape 的方法。非常强烈推荐看完整个影片,对于面试很有帮助。

笔者认为 STAR 原则可以被 Story Shape 给完善。举例来说,在描述情境与任务时,可以加入冲突(conflicts)、挑战 (challenges) 等元素,这么做可以让你后续的行动更被凸显。毕竟问题越严重,越能凸显解决方案的价值。特别注意,假如你想要挑战下一个级距的工作 (例如你本来是 L4 的工程师,想挑战 L5 的职位),你描述的问题,就不能只是 L4 的问题,而需要是 L5 的问题。

以上面的回答范例来说,协助另一个工程师,这只是 L4 层级的问题;假如你分享的是这样,很可能只会拿到 L4 的 offer。如果想要拿到 L5 的 offer,就要提到 L5 的问题。例如不仅是某个工程师的个人产出不佳,而是整个团队的产出都不如预期。假如你提的是这个问题,那会是更棘手的挑战;这意味着,如果你过去曾经顺利解决这种整团队都出问题的状况,那更能让人相信你具备 L5 的实力。

以上,非常推荐大家在行为面试时,可以透过 STAR 原则来架构自己的故事,并且透过 Story Shape 方法,让故事变得更加生动。

🧵 如果你想收到最即時的內容更新,可以在 FacebookInstagram 上追蹤我們