如何描述一个概念

1,262 阅读2分钟

前言

最近面试被反馈沟通能力不行,反思了一下自己的说话方式,发现在回答问题这方面不是很职业化,看了一下掘金上热门的面经后总结了一些改进方向。

正文

回到本文的主题:如何描述一个(技术)概念?

对于面试官来说,对方问出一个技术概念时,他自己心中其实已经有了正确答案。所以我的理解是,他想听到的是一个

  • 首先对于整体的一个精准的概括
  • 同时对于细节方面有一个清晰且相对详细的描述
  • 外加一些自己的理解

所以实际回答时,对于市面上的大多数面试题,都应该按照(what-why-how)的公式准备一遍。

拿 mobx 举例,“你能描述一下 mobx 吗?”

之前的回答:mobx 是一个状态管理库,emmmm,它通过 proxy 去监听状态的变化,然后触发组件的更新……

问题有几点:

  1. 本身对 mobx 的各种技术细节理解不透彻,这个需要把文档翻一遍,各个技术细节整体理解一遍才行。
  2. 没有条理,想到哪说到哪,对于它要解决的问题,以及解决的方式没有说出来。
  3. 语言不够精炼和职业化,太多介词,还有“嗯…”之类的语气助词。

经过反思后,我的回答可能是下面这样:

  • Mobx 是一个 React 的状态管理库(what)
  • 对于有一定复杂度的 React 项目,不同组件之间需要共享状态,而 React 本身提供的方式有限,所以需要 mobx 这样的第三方状态管理库来处理这些场景(why)
  • mobx 将一个用户的一个动作到页面元素的更新的过程抽象成了 action, state 和 derivation 三个概念,通过 action 的调用触发 state 的更新,并且利用 proxy 将这些 state 的更新捕获到后触发 derivation 的响应式更新。

欢迎指正