站点工具

用户工具


作者:一条猪儿虫ovo 链接:https://www.nowcoder.com/discuss/698946?type=post&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_post_nctrack&gio_id=3EB8F4DA34F6E607742764CE88DC6427-1638951379198 来源:牛客网 2021-08-05

字节前端实习一面面经

1.自我介绍(现在大三,下学期大四,在大二下的时候接触的前端什么的)

2.首先问flex布局,然后问这个css是什么意思(我具体说了一下每个值所代表的意思)

flex: 0 1 auto

3.这段代码输出顺序(懵了)

console.log('begin')
setTimeout(() => {
    console.log('setTimeout 1')
    Promise.resolve().then(() => {
        console.log('promise 1')
        setTimeout(() => {
            console.log('setTimeout2 between promise1&2')
        })
    }).then(() => {
        console.log('promise 2')
    })
}, 0)
console.log('end')

4.依然是问输出(错了一半)

inner = 'window';
 
function say() {
    console.log(inner);
    console.log(this.inner);
}
 
var obj1 = (function() {
    var inner = '1-1';
    return {
        inner: '1-2',
        say: function() {
            console.log(inner);
            console.log(this.inner);
        }
    }
})();
 
var obj2 = (function() {
    var inner = '2-1';
    return {
        inner: '2-2',
        say: function() {
            console.log(inner);
            console.log(this.inner);
        }
    }
})();
 
 
say();
obj1.say();
obj2.say();
obj1.say = say;
obj1.say();
obj1.say = obj2.say;
obj1.say();

5.vue的双向绑定原理(说了Object.defineProperty get/setter模式)

6.说说vue对数组的监听

7.了解过Deps吗(懵了,记混了,我以为是vue watch 的深度监听,然后叭叭了一大堆。。。)

8.能自己写ajax实现一个功能吗(不会)

9.那axios是怎样取消请求的(错了)

10.算法:给一个字符串,输出所有排列(我是真的菜,就说了一下思路是暴力(其实应该是回溯)加上剪枝)

11.看到你简历写了首屏优化,说说怎么实现的(我说CDN和按需引入以及选用轻量化第三方库)

12.说说CDN的原理(分布式存储,请求地理位置最近的资源)

13.比方说我现在要更新北京的一个CDN资源,那么怎么让南京的CDN服务器知道要去flush(清除缓存)呢(懵了)

14.项目上面有一个信息流,怎么实现这个滑动加载

15.怎么实现下拉刷新

16.下拉刷新这边有一个回弹的动画,如何实现动画(我说@keyframes,然后设置时间和过渡状态)

17.说说keep-alive的作用, 如果让你实现的话怎么做

18.可以说说webpack吗(我真不会,但是看出来面试官确实想问这个,紧接着又提了一次关于webpack的配置)

19.说说宏任务和微任务

20.有什么想问的(问了公司氛围)

总结:太难了啊,我是真的菜啊

若愚 · 2021/12/08 16:50 · 前端面经_字节23.txt