失效链接处理 |
2021年前端面试题 PDF 下载
本站整理下载:
相关截图:
主要内容:
1.react中hooks的理解?应该是叫hooks吧,即使本人使用16+版本的也没听过;
React组件可以分为 类组件 和 函数组件。类组件具有生命周期、状态,而函数组件却没有。
在React 16.8 新出来的Hooks 可以让React函数组件具有状态,并且提供了类似componentDidMount 和 componentDidUpdate 等生命周期方法。
我们写一个函数组件,如果想要更新它的状态,在 React 16.8版本之前,就得重写成 类组件。
在 React 16.8 出来的Hooks 之后,这就变得简单多了。
使用新的 useState hook 向普通函数组件添加状态。
const [clicked,useClicked] = useState(false);
// 分离出来写法
const arr = useState(false);
const clicked = arr[0];
const useClicked = arr[1];
Hooks 在16.8版本之后可以使用,它能让我们在不使用class就能使用state和其它的react的特性。
比如:之前我们想要用state必须先写一行:
class App extends React.Component{}
这样才能用state和setState,但是现在有了hooks,就不需要了。我们可以在普通函数组件里面使用hooks实现之前class里的state、生命周期等。
为什么要使用hooks呢?
因为setState。生命周期之类的函数其实是定义给组件的一些钩子函数,它们被耦合在了class里面,所以我们定义有状态组件和有生命周期的组件必须定义class。而hooks的出现,把这些功能性的钩子和class分离开了。
hooks包含 state hook 、effect hook、context hook等基础的hooks,还有一些自定义hooks和一些其他的钩子,可以再官方文档里面查看。
2.谈谈react如何渲染的?我只提到了生命周期与props和state,大概跟面试官理解的不一样;
3.react怎么重新渲染的?我提到了props或state发生改变就会重新渲染及shouldComponentUpdate,这里我一直在提变化,没有讲到核心点;
4.var、let、const的区别;
5.谈谈promise?异步编程;为什么要异步或是要promise?balabala我举了个例子;
6.谈到axios时,问了下axios怎么实现的,与ajax及fetch的区别?
7.给一段代码输出返回值?settimeout\promise\ascny相关;
8.tcp四次握手?
9.css动画旋转相关问题?
10.写个点赞延时执行的函数,给定参数延迟时间及callback?这一题我上来就是setTimeout,也不是面试官想要的答案;后面又硬挤了别的方法,还是不对;
11.如何判断一个单链式有环?好吧,这道题超出我想象了,胡说八道一通;
|