字节前端一二三面凉经

一面 3/23

  1. 自我介绍

  2. 实习项目主要做了什么

  3. 说一下css的position属性

  4. 说一下http缓存(问的很细,叙述过程中会有打断提问)

  5. 项目中有没有遇到过跨域,这是什么,怎么解决的

    首先说了项目中用到了Nginx代理进行跨域,这个就没有继续深入问;然后说CORS,这个就问的比较细,什么是简单请求非简单请求,都是怎么个流程,具体到请求的http头部信息都有问到,过程中也是多次打断提问

  6. 为什么CORS要区分简单请求和非简单请求

  7. 将一个典型回调风格的功能函数变为promise风格的,刚开始我没太理解啥意思,然后面试官就给了具体的例子

fs.readFile是一个读取文件信息的函数,最后一个参数是回调函数,初始我就当只有一个参数写的,面试官提醒了一波,实现一个promisify函数
8. 实现数组扁平化,我刚开始用的reduce实现的,然后面试官又加了一个要求,让直接改原数组

面完12点多点,面试官说中午了,今天就这样吧,你去吃饭吧。猝不及防就结束了。。。也没有反问环节

下午正愉快地刷着小破站接到了电话约二面时间,我当时想着早点结束就约了第二天下午

二面 3/24

  1. 自我介绍

  2. 学习前端多久了,怎么学习的

  3. 实习项目

  4. 做过最复杂的一个功能

  5. 你觉得这段实习经历主要有什么收获

  6. 学过哪些专业课,选了哪些选修课

  7. 说一下数据结构中的栈、堆、队列

  8. JS中有栈和堆吗

  9. 进程和线程有什么区别

  10. 比较一下单线程和多线程

  11. JS为什么是单线程的(中间又引到了dom加载渲染的一些问题)

  12. 实现一个findMax函数

13. 反问环节

回答完我的问题面试官让我等一会,他问一下另一个面试官有没有空,大概过了两分钟他说三面面试官5点-5点零五会进入面试房间,我就赶紧先退出倒了杯水缓会又进入了面试房间

三面 3/24

  1. 介绍实习项目

  2. 项目中移动端是怎么用rem做的适配

  3. 说一下em、vh、vw,自己项目有没有用到过vh、vw

  4. (前面说到个东西引到的)如果左边栏固定,右边做自适应用flex怎么实现

  5. Chrome浏览器用过哪些调试工具

  6. 影响网页首页加载的因素有哪些

  7. 箭头函数与普通函数的区别

  8. Vue3有什么新特性

  9. 实现数组的负索引,比如arr[-1]表示数组的最后一个元素,arr[-2]倒数第二个元素,自定义类的那种

    const arr = new MyArray(1,2,3,4...) arr[-1]

    我开始的思路就是以为要实现个迭代器的那种,他就说那你写,我说不会,,,面试官就提示,说用我之前说到的数据劫持Object.defineProperty或者Proxy,本来他一说我觉得哎对可以,然后写了一点发现不太ok,最后还是没写出来,面试官又提供了一些思路,但是没让我继续写了,说换个题

  10. 实现一个Queue链式调用,1s、3s、5s后输出1,2,3;调用start才开始,调用stop可随时结束

    const queue = new Queue(); 
    queue
        .task(1000, () => {console.log(1)})
        .task(2000, () => {console.log(2)})
        .task(2000, () => {console.log(3)})
        .start()
    // stop() 


  11. 有没有做过动画?如何实现一个元素从左向右移动,每秒1px

    CSS3的动画相关很久没碰过了,不太记得了,大致说了如何实现,问记不记得具体的属性名,我忘了。。。

  12. 判断一个对象是否存在循环引用

    var a = { 
        b: null,
        c: null
    }
    a.b = a;


因为二三面连着的,太多了可能会有些遗忘,也有可能顺序不太对,但是大概就这么多吧。。。三面也没有反问环节,面试官说到了他们的饭点了,今天就这样了,如果有后续近期会再联系我,就拜拜了。

今天下午发现状态是流程终止了,不得不说字节这效率真是杠杠的😑

#面经##字节跳动##前端工程师##实习#
全部评论
居然没有问算法吗
点赞 回复 分享
发布于 2021-03-25 16:26
老哥,不得不说,你太牛了
点赞 回复 分享
发布于 2021-03-25 16:32
不一定非常严谨,仅供参考: ```js const foo = new Proxy([1, 2, 3], {   get: function(obj, prop) {     if (prop in obj) {       return obj[prop]     }     if (typeof prop !== 'symbol&(11917)#39; && parseInt(prop) < 0) {       return obj[obj.length + parseInt(prop)]     }     return undefined   } }) console.log(foo[-1])  // 3 console.log(foo[-2])  // 2 console.log(foo[-3])  // 1 console.log(foo[-4])  // undefined ```
点赞 回复 分享
发布于 2021-03-25 16:54
想知道findMax怎么搞😁
点赞 回复 分享
发布于 2021-03-25 22:08
楼主什么部门呀
点赞 回复 分享
发布于 2021-06-05 17:12
后面有捞吗老哥
点赞 回复 分享
发布于 2021-07-18 21:41

相关推荐

9 56 评论
分享
牛客网
牛客企业服务