前言
最近面试被反馈沟通能力不行,反思了一下自己的说话方式,发现在回答问题这方面不是很职业化,看了一下掘金上热门的面经后总结了一些改进方向。
正文
回到本文的主题:如何描述一个(技术)概念?
对于面试官来说,对方问出一个技术概念时,他自己心中其实已经有了正确答案。所以我的理解是,他想听到的是一个
- 首先对于整体的一个精准的概括
- 同时对于细节方面有一个清晰且相对详细的描述
- 外加一些自己的理解
所以实际回答时,对于市面上的大多数面试题,都应该按照(what-why-how)的公式准备一遍。
拿 mobx 举例,“你能描述一下 mobx 吗?”
之前的回答:mobx 是一个状态管理库,emmmm,它通过 proxy 去监听状态的变化,然后触发组件的更新……
问题有几点:
- 本身对 mobx 的各种技术细节理解不透彻,这个需要把文档翻一遍,各个技术细节整体理解一遍才行。
- 没有条理,想到哪说到哪,对于它要解决的问题,以及解决的方式没有说出来。
- 语言不够精炼和职业化,太多介词,还有“嗯…”之类的语气助词。
经过反思后,我的回答可能是下面这样:
- Mobx 是一个 React 的状态管理库(what)
- 对于有一定复杂度的 React 项目,不同组件之间需要共享状态,而 React 本身提供的方式有限,所以需要 mobx 这样的第三方状态管理库来处理这些场景(why)
- mobx 将一个用户的一个动作到页面元素的更新的过程抽象成了 action, state 和 derivation 三个概念,通过 action 的调用触发 state 的更新,并且利用 proxy 将这些 state 的更新捕获到后触发 derivation 的响应式更新。
欢迎指正