字节前端面经

287 阅读1分钟

一面

1、垂直居中的方法
2、登录注册模块的用户信息怎么存储的
3、cookie怎么样可以不被用户访问到
4、cookie可以跨域传值吗
5、tcp是怎么样来保证它是可靠的
6、tcp和udp的区别
7、http和https的区别
8、https的加密
9、0.1+0.2=0.3吗
10、实现0.1+0.2=0.3
11、手撕promise.all
12、写一个快排
13、抛硬币等概率事件

二面

...有的忘了
1、https的加密过程
2、web安全
3、事件循环
4、 class Scheduler {
add(promiseCreator) { ... }
// ...
}

const timeout = (time) => new Promise(resolve => {
setTimeout(resolve, time)
})

const scheduler = new Scheduler()
const addTask = (time, order) => {
scheduler.add(() => timeout(time))
.then(() => console.log(order))
}

addTask(1000, '1')
addTask(500, '2')
addTask(300, '3')
addTask(400, '4')
// output: 2 3 1 4

// 一开始,1、2两个任务进入队列
// 500ms时,2完成,输出2,任务3进队
// 800ms时,3完成,输出3,任务4进队
// 1000ms时,1完成,输出1
// 1200ms时,4完成,输出4
5、一个岛上有三种颜色的变色龙,分别是红黄蓝13、15、17只,其中两种颜色的相遇会变成第三种颜色,问:最后会不会只剩下一种颜色的变色龙。