当面试官问你 xxx 技术是什么?(怎样才能漂亮回答~)-面试小技巧

背景

当经理过各种技术面试后,我们会发现各个公司的面试题目都五花八门,有些公司可能会比较规范,有一定的出题规律可循,而有些公司则完全按照面试官的个人爱好出题。这时候,你可能会遇到一个非常熟悉而又陌生的问题,“xxx技术是什么?当你面对这个问题时,你会怎么回答呢?

前几天,我问了一个朋友,如果面试官问你“React是什么?,他脱口而出:“React是用于构建用户界面的JavaScript库,一个网页UI框架,它的特点是声明式、组件化、一次学习随处编写。我听完之后,感觉他的回答非常skr~,毫无疑问他已经很好地回答了这个问题。

据朋友说他在面试大厂的时候其实也遇到过这个题目,因为他在自己的简历上写了精通 React , 所以面试官第一个问题就是问他“ React 是什么?。然后他就是像前面说的那样回答的,感觉题目很简单,也没多说什么,然而他在当时面试结束后,感觉面试官对他的这个回答不是很满意。

所以对于这样的简单问题,如何回答才能让面试官满意呢?或者说如何回答这个问题,才能让从来没有接触过 React 的人知道 React 是一个什么?。我在网络上也看了很多人这个问题的回答,总结了一下思路,可以从以下方面来回答这个问题:

  • React 的本质
  • React 出现的背景,为什么出现?解决什么问题?
  • React 的用途
  • React 的核心思想,他的优点是什么?
  • 反过来想想它的缺点

 

通过这篇文章,你将知道这一类问题怎么回答。我们这篇文章以 React 为例。

1. React 的本质

React 本质上是js,但是react自己用创造了一个表达式,JSX表达式。

2. React 出现的背景

ReactFacebook2013年开源的一款前端框架,在这之前,Facebook工程师开发一个简单功能时,如下图界面中小红点功能:

 

在导航栏中有新好友新消息新动态三个功能按钮,这其实功能挺简单,但却经常出BUG,比如收到新消息后,新消息的图标上数字没有正确更新等问题。「他们找寻出现这种问题的深层次原因」,最终总结为两个原因:「工程师太过关注UI层面的细节操作」,「应用程序的状态较为分散,无法追踪和维护」。

再介绍下React出现的时代背景:「大量业务逻辑由后端转为前端实现」,即前后端分离;已有前端框架开发的「复杂应用性能不佳」。

当时由于Ajax技术兴起,大量原来由服务端处理的逻辑,慢慢转移到前端做处理,这也是为了追求更流畅的Web交互体验。后来为了「提升开发效率和应用性能」,开始有很多大型前端框架出现(如:AngularJS),这些框架也让工程师们越来越关注UI层面的操作(如:频繁操作DOM),「应用性能越来越差」,并伴随无法预知的BUG出现。

之后Facebook工程师开始打造自己的前端框架,解决前面说的那些问题,于是React就诞生啦~

3. React 的用途

然后说 React 的用途,由于 React 虚拟 DOM 的关系,在用途上非常的丰富。

  • 无论是 PC 还是移动端,都是支持的。
  • React Native 既可开发 iOS 也可开发安卓。
  • React 360 可开发 VR
  • 冷门的 ink,也可以使用 React 开发命令行。

4. React 的核心思想,他的优点是什么?

说完用途,在讲讲核心思想,也就是 React 的优点,很多人在面试时,经常在把自己知道的源码乱说一气,来证明自己对 React 很了解。其实个人感觉说源码还不如说说它核心思想是什么。它的优点是什么。

. 声明式

React 使创建交互式 UI 变得轻而易举。为你应用的每一个状态设计简洁的视图,当数据变动时 React 能高效更新并渲染合适的组件。以声明式编写 UI,可以让你的代码更加可靠,且方便调试。

. 组件化

构建管理自身状态的封装组件,然后对其组合以构成复杂的 UI。由于组件逻辑使用 JavaScript 编写而非模板,因此你可以轻松地在应用中传递数据,并保持状态与 DOM 分离。

. 通用性

无论你现在使用什么技术栈,在无需重写现有代码的前提下,通过引入 React 来开发新功能。React 还可以使用 Node 进行服务器渲染,或使用 React Native 开发原生移动应用。

5. 反过来想想它的缺点

最后还是要客观的来看待,反过来想想 React 有什么缺点,所有的东西肯定有缺点,没有完美的东西。React 也一样。React 的优点就是React 的核心思路,声明式,组件化,通用性。缺点了,个人觉得对于一个开发者来说,当我使用完 Vue 之后再来使用 React,你会发现 React 并不是一个完全体,当你在开发一个应用时,很多东西你都需要去社区寻求并找到解决方案,这对于研发者来说,需要投入学成本。但是这其实在某些角度来看,这也并不算缺点,这间接的让 React 社区蓬勃发展。

总结

文章回答了最开始的问题 ”React 是什么?。通过以 React 为例,可以延伸到这一类问题,如:

  • React 是什么?解释 React 是什么?你了解 React 吗?谈一谈你对 React 的理解?
  • 说说什么是 Vue?你了解 Vue 吗?
  • xxx 技术是什么?你对 xxx 技术了解吗?

这一类问题其实大致都可以套用下面这个图的思路来回答,从本质、背景,到用途、核心、优缺点。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

力哥讲技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值