一面 45min
页面加载完成后再去计算,交给异步任务处理,requestAnimate优化
数组实际上就是一个对象,只不过数组实现了[Symbol.Iterator]方法,这个方法返回一个对象,对象中有一个next方法,每次迭代的时候会调用next方法,返回一个对象,对象中 有一个done属性,用来判断迭代是否结束,如果为true则迭代结束 ,否则就返回这个对象的value属性的值作为结果返回。
定义状态使用的useState
处理副作用的useEffect
缓存大量计算结果的useMemo
缓存函数的useCallback
较复杂的状态更新场景用的useReducer
用于子组件向父组件暴露方法的useImperativeHandle
用于进行上下文传递的useContext
这里就比较尴尬,把比较重要的useRef忘记说了,所以就有了下面一个情景题
面试当时第一反应就是利用锁的机制解决,定义一个变量,为Boolean值,通过if判断,在第一次挂载的时候更改这个变量的值就可以实现了。后来面试官还问那这个变量应该放在组件里面还是组件外面?再后面面试官就说了利用useRef定义一个就可以了
其他的问题就都不是很难了,聊的也比较不错,很快就进入到反问环节了
咱们这个面试有几个流程?
了解了一下公司的日常简介,大致是做什么的
最后请面试官对我做一个面评
面试结束后一个多小时就收到了二面邀请