回答成长型思维行为问题

了解如何回答“告诉我一个时间……”风格的问题,以评估您是否具有强大的成长型思维。

作者
Ex-Meta Staff Engineer

正如我们在 行为面试准备概述 中提到的,成长型思维是准备的 8 个主要问题类别之一。

在本指南中,您将学习如何解决它们:

  1. 详细的评估标准
  2. 将可能的问题抽象成共同主题
  3. 建议的答案框架
  4. 示例问题和答案

详细的评估标准

在对该类别下的候选人进行评分时,面试官通常会关注以下标准:

  • 了解自己的优势和发展领域。
  • 积极征求他人的反馈并创建反馈循环。
  • 很好地接受反馈和挫折,将其视为机会。
  • 对失败承担个人责任。
  • 反思、建模最佳实践并将经验教训应用于新情况。
  • 对设定和努力实现具有挑战性的目标充满活力。
  • 积极学习新技能并应用于工作。

抽象成长型思维问题

常见问题

  • 您认为自己最大的改进领域是什么?
  • 您能否告诉我您在收到批评或反馈后改进工作的经历?
  • 告诉我您为自己设定了一个困难的目标并实现了它的经历。
  • 告诉我您在工作之外学习了一项新技能并将其应用于工作的经历。
  • 告诉我您在观察他人利用它取得巨大成功后学习了一套新技能的经历。
  • 您如何及时了解最新的前端技术和技术?
  • 您能否提供一个您必须适应新的技术环境或框架的例子?
  • 假设您需要实施一个您没有太多经验的新系统。您采取哪些步骤来收集信息并确保成功执行?

确定的主题

正如我们在 行为面试准备概述 中提到的,为每个现有的行为问题专门准备答案是不切实际的。但是,通过将特定问题归入类似的主题并准备涵盖大量问题要求的故事情节,我们可以将要准备的故事数量减少到大约 3-5 个故事。

这些是似乎反复出现的主题:

  • 接收和管理反馈。
  • 对待挑战和具有挑战性的目标的思维方式。
  • 持续学习。

建议的答案框架

与往常一样,STAR 格式是我们推荐用于构建故事的最简单、最有效的框架。

以下是我们为每个已确定的主题推荐的方法,您可以使用这些方法来构建您的故事:

接收和管理反馈/挫折

  1. 尽可能积极地征求他人的反馈,例如在每个大型项目之后。
  2. 对错误承担个人责任,并制定行动计划来解决这些错误。
  3. 对反馈/挫折保持健康的思维模式
    1. 将它们视为提高自己的机会
    2. 专注于建设性和以解决方案为导向,而不是情绪驱动。
  4. 采取措施反思过去的经验,以便为最佳实践建模,并在下一个相关情况下将它们付诸行动。

对待挑战/拓展目标的思维模式

  1. 从设定和努力实现拓展目标中获得能量,将它们视为成长的机会。
  2. 在执行详细计划时表现出一致性和纪律性。

持续学习

一个好的答案结合了持续的时间表和投入到学习中的努力,以及如何主动将学习应用于工作。例如:“我学习了 X,因为我做了 Y。这影响了我处理工作中的 Z 的方式,因为它让我意识到 W 和 V”。

以下几点是您可以围绕技术学习构建答案的关键想法;但是,您仍然应该添加您实际参与的活动、新闻通讯或社区的具体示例,以展示您紧跟潮流的意愿。

  1. 关注涵盖前端技术和技术的最新发展的相关博客、新闻通讯、播客。举一些例子(您实际关注的)以及它们提供的内容或技术。
    1. Twitter 影响者
      1. Dan Abramov — Redux 联合创始人,React 核心团队。
      2. Evan You — Vue.js 和 Vite 的创建者。
      3. Rich Harris — Svelte 和 Rollup 的创建者。
      4. Kent C. Dodds — 热门 React 生态系统课程创建者。
      5. Josh W. Comeau — 热门前端课程创建者。
    2. 博客和杂志
      1. CSS-Tricks
      2. ui.dev
      3. JavaScript Weekly
      4. Best of JavaScript
    3. 播客
      1. Syntax
      2. JS Party
      3. The Changelog
  2. 参加技术会议和聚会,学习新的发展,建立人脉,并获得最新工具和技术的实践经验。
  3. 使用最新的技术和技术进行实验和构建项目。这可能涉及自己构建小型项目或为开源项目做出贡献。
  4. 通过参与在线论坛、关注相关的 Twitter 帐户和标签,以及加入当地用户组或聚会,与更广泛的前端开发社区保持互动。

示例问题和答案

您如何及时了解最新的前端技术和技术?

在过去的两年里,我一直在一家大型科技公司工作,该公司使用外部和内部技术的混合来构建我们的前端堆栈。由于我们拥有庞大的代码库和既定的做事方式,我们倾向于不经常升级库和更改我们的技术选择。直到工作一年后,我才意识到我一直对自己的角色感到太舒服了,因为我已经完全掌握了代码库,并且在过去的一年里没有学到任何新东西。正是在那时,我决定必须积极主动地学习,以保持我的技能敏锐和相关。

前端生态系统发展非常快,有一个笑话是每天都会出现一个新的 JavaScript 库。值得庆幸的是,与 2015/2016 年首次出现新一波前端工具时相比,生态系统更加稳定。为了让自己保持更新,而不会遭受 JavaScript 疲劳,我每个月都会花一个周末浏览前端新闻通讯,例如“本周 React”和“JavaScript Weekly”,并阅读工程博客。如果我看到一些有趣或与我的工作相关的内容,我将通过尝试小例子并在我公司的代码库中构建小型原型来更深入地研究它们。例如,我最近发现了 React Query,这是一个用于 React 的数据获取库,它使用声明式范例来获取数据,并且正在尝试将其整合到我的工作中。我还最近发现了 tRPC,这是一个在客户端和服务器边界之间强制类型安全的库,这个问题给我们带来了一些错误。

为了让这个学习过程更有趣和协作性,我通过创建一个新的 Slack 频道并邀请一些志同道合的同事加入,在我公司内部创建了一个前端社交俱乐部。任何人都可以分享他们认为有趣的前端新闻并在那里讨论前端技术。它受到了很好的欢迎,目前频道中有 30 多人,几乎每天都有活动。这项计划的一个副作用是,人们也开始询问他们工作中遇到的前端问题,我们创建了另一个 Slack 频道,供人们获得有关前端问题的帮助。到目前为止,反馈一直非常积极!

这个答案以一种微妙的方式使用了 STAR 技术,并展示了面试官希望在候选人身上看到许多品质:

  • 热情:渴望了解更多关于前端领域的信息。
  • 成长:确定缺乏成长会成为一个问题。
  • 主动性:针对缺乏成长的问题采取行动。
  • 解决问题:思考解决缺乏成长的方法,并执行。
  • 建立友情:团结志同道合的人为共同的事业而奋斗。
  • 帮助改善他人:创建 Slack 频道以分享知识和支持他人。

您能否提供一个您必须适应新的技术环境或框架的例子?

当我于 2019 年加入我现在的公司时,我刚从大学毕业,对公司正在使用的前端堆栈一无所知,该公司使用 React、Apollo、Styled Components、TypeScript 作为其前端堆栈,并使用 Django + GraphQL 作为后端。在大学时,我主要使用 Vue.js 进行前端开发,因为它是网络开发课程中选择的 JavaScript 框架,并且以前从未使用过 GraphQL。

对我来说,一开始绝对是一个巨大的学习曲线,由于我对技术堆栈不熟悉,我真的很害怕表现不佳。值得庆幸的是,我有一位导师,他在技术堆栈方面给了我很多指导,并提出了一些逐渐变得更难的入职任务。我首先花几天时间阅读这些技术的文档网站,并在他们的网站上试用示例。我把它作为重点来理解这些库正在解决的问题以及它们如何优于现有技术,因为我认为了解这一点对于充分欣赏该库并为正确的工作使用正确的工具非常重要。我还查阅了一些将 Vue.js 与 React 进行比较的资源,因为它们非常相似,但也有一些差异。这帮助我更快地学习 React(尽管完全掌握 React 钩子仍然花了我一些时间)。当我在晚上或周末有时间时,我会探索使用这些新技术构建小型项目,并使用 Gatsby 重建我的个人博客(因为它同时使用了 React 和 GraphQL)。

在两个月内,我觉得我学到了很多东西,并且对大部分代码库感到满意。我可以在没有导师太多指导的情况下构建端到端的功能。为了帮助未来可能面临相同入职挑战的新员工,我将我的学习记录在我们的内部 wiki 中,并附上了一些用于学习该主题的最佳资源的链接。我的经理对这项主动性感到惊讶,并为此表扬了我。今天,它已成为我们官方的工程入职资源的一部分,我时不时地更新它。一些新加入者也感谢我在 wiki 中分享我的知识并使他们的入职过程更顺畅。

答案分析:

  • 可指导:遵循导师的指导/建议。
  • 解决问题:想出了一些方法来帮助自己更快地入职。
  • 主动性:启动 wiki 的主动性。
  • 同理心:看到其他人可能面临相同的问题并启动了 wiki。
  • 帮助改善他人:新加入者受益于 wiki。