字节前端面试题

1,141 阅读1分钟

这是我参与更文挑战的第6天,活动详情查看: 更文挑战

一轮

1. 箭头函数和普通函数区别??this指向??
let obj = {
    s: 'aaaa',
    fn1: () => {
        console.log(this.s)
    },
    fn2: function() {
        console.log(this.s)
    }
}


obj.fn1();  
obj.fn2();  


let fn3 = obj.fn1;
fn3();  

let fn4 = obj.fn2;
fn4();  
2. 介绍缓存??如何清除强缓存??
3. 介绍闭包??for循环结果输出??如何修改得到正确的输出??
for(var i=0; i<5;i++) {
    setTimeOut(function() {
        console.log(i);
    }, 0);
}
4. webpack怎么分包??
5. webpack Module Feduration与npm的优缺点
6. 乾坤是怎么实现子系统隔离的??CSS隔离了吗??三种沙箱介绍??
7. Vue3新特性
8. 介绍computed,filter用法
9. async await介绍??如何将两个异步改为同步

如何将fn1,fn2同步运行

async fn() {
    await fn1();
    await fn2();
}
10. websocket是如何实现的??它传输的是二进制还是文本??
11. 介绍flex??主轴和纵轴区别??如何让一个div居中??
12. var,let,const区别
13. 如何实现数组拍平??多种方式实现
13. 算法实现
  • 爬楼梯

  • 二叉树遍历

二轮

1. transform定位和top,left定位区别
2. 介绍下对浏览器缓存的了解
3. http2新特性??介绍二进制分包实现??说一下头部压缩的原理??
4. 介绍Vue双向数据绑定,说出源码中实现响应式原理的三个构造函数名称
5. computed,filter如何实现??filter最后会变成什么??computed Watcher的订阅者是谁??
6. webpack怎么处理import语句
7. 介绍事件轮循??微任务队列??宏任务队列
8. webpack中module,chunk,bundle的区别
9. webpack怎么生成依赖链
10. promise输出结果:
new Promise((resolve) => {
    console.log(1);
    new Promise((resolve) => {
        setTimeout(() => {
            console.log(2);
            resolve();
        })
    }).then(() => {
        console.log(3)
    }).then(() => {
        console.log(4)
    })
    resolve();
}).then(() => {
    console.log(5)
})
11. 实现一个事件队列,可以往里边添加事件,可以随时停止事件执行(当前事件需要执行完)

PS:会问一些上轮遗留问题,记得下去学习,不然你懂的,害