网易雷火前端实习一面
2022年3月23日,总共40分钟
自我介绍
开始做题
实现像下面的函数。我用的函数柯里化,有点磕磕碰碰最后写出来了
sum(1)(2)(3)
问问题
1.项目为什么用原生的JavaScript实现?
2.Vue的数据绑定和双向数据驱动底层怎么实现?我怎么在项目里使用的?
3.Array.from将arguments转成数组,还可以使用什么方法?扩展运算符和Array.from都可以转成数组,有什么区别?
4.for ... of 怎么遍历对象?怎么让对象可以直接用这个方法遍历
5.event.target和event.currentTarget区别?绑定捕获阶段的事件,怎么实现?
6.async await在进行异常捕获的时候,怎么实现?在promise外层能用try-catch捕获吗?
try{ new Promise((resolve,reject)=>{ throw new Error("error") }) }catch(e){ console.log(e) }7.JS的事件循环,哪些是宏任务?视图渲染的机制?结合宏任务、微任务,视图渲染是在什么时机去做?页面渲染是宏任务能具体讲讲?(参考这篇文章,之前我也不清楚https://zhuanlan.zhihu.com/p/441288090)
8.问了Vue的mixin和mixins?(不知道,很久之前看官方文档学的)还有computed和watch的区别和使用场景,也不太记得