首页 > 网易雷火前端一面面经
头像
木人R
发布于 2021-08-12 16:16
+ 关注

网易雷火前端一面面经

全程33min,整体比较简单,秋招的第一个面试,很多细节还没复习到。奇怪没有问任何项目相关

1.看代码说输出

const a = 10;
function bar () {
    let b = 10;
    function foo () {
        console.log(a + b);
    }
    return foo;
}
b = 20;
const x = bar();
x();
考察闭包,作用域链。答案是20。
一开始面试有点紧张,答成了NaN,我说foo闭包里面没有a,按照作用域链向外查找,bar里面也没有,所以a是undefined,答案是NaN.然后面试官问为什么不继续向外找一层呢?我恍然大悟,真的脑子抽了。

2.闭包的理解。手写一个闭包。

我本来想手写react-thunk的thunkMiddleware函数秀一波,但面试官说简单随便写个就行,可恶。

3.dom2级事件

  • 详细问了参数构成,想要在捕获阶段触发事件怎么写。
  • target和currentTarget什么区别。
  • 冒泡和捕获都监听的话,执行顺序是什么。(答错了,没复习到)

4.浏览器安全 

XSS,CSRF常规八股,但我加了一些实际碰到过的案例进行讲解,比如喜马拉雅官网前几年出的一个bug,qq邮箱为什么默认情况下阻止图片的加载,面试官觉得很不错。

5.fiber的理解(讲了10min)

从react15的结构开始讲起,react15存在的问题,为什么会存在这样的问题。react16新架构是怎样的,做了哪些优化,工作流程是怎样的。
深入到了数据结构和源码讲了一下,面试官比较满意

6. hooks的理解(也讲了很久)

从代数效应,hooks设计理念,与类组件的差别,函数式编程,源码等角度讲了一下。

7.做题

数组去重,考虑空对象的情况,还有NaN的情况.
[1, 1, '1', '1', {}, {}, {age: 10}, {age: 10}, NaN, NaN];  => [1, '1', {}, {age: 10}, NaN]


更多模拟面试

全部评论

(7) 回帖
加载中...
话题 回帖