字节国际化电商一二三四面凉经
一面:
1.自我介绍,以后发展
2.进程和线程的理解,一个线程挂起对进程有影响吗,进程间通信方式,挑一个说一说
3.死锁了解过吗,如何避免死锁
4.输入url到展现出来的过程,越详细越好,dns解析的详细过程,比如输入www.baidu.com,解析流程
5.tcp三次握手,最后一次握手作用,http为什么是基于tcp的(介绍tcp和udp的不同),保证可靠传输的方法
6.一个页面上百个请求如何优化,使用websocket如何优化,HTTP2.0通过什么底层来完成多路复用的
7.浏览器的缓存策略(强缓存和协商缓存),etag和last modifyed优先级,如何永久使用本地缓存
8.互相依赖的三个库,按顺序执行又不阻塞渲染过程的方法,defer和async
9.要在页面上添加1000dom节点,如何去优化,再在中间再插入一个dom节点,如何优化
10.同源不同标签的页面通信方式
11.flex布局
12.事件循环,宏任务微任务,requestanimationframe回调函数中进行大量计算,会阻塞页面的渲染吗
2.进程和线程的理解,一个线程挂起对进程有影响吗,进程间通信方式,挑一个说一说
3.死锁了解过吗,如何避免死锁
4.输入url到展现出来的过程,越详细越好,dns解析的详细过程,比如输入www.baidu.com,解析流程
5.tcp三次握手,最后一次握手作用,http为什么是基于tcp的(介绍tcp和udp的不同),保证可靠传输的方法
6.一个页面上百个请求如何优化,使用websocket如何优化,HTTP2.0通过什么底层来完成多路复用的
7.浏览器的缓存策略(强缓存和协商缓存),etag和last modifyed优先级,如何永久使用本地缓存
8.互相依赖的三个库,按顺序执行又不阻塞渲染过程的方法,defer和async
9.要在页面上添加1000dom节点,如何去优化,再在中间再插入一个dom节点,如何优化
10.同源不同标签的页面通信方式
11.flex布局
12.事件循环,宏任务微任务,requestanimationframe回调函数中进行大量计算,会阻塞页面的渲染吗
13.看代码输出
一
setTimeout(() => {
console.log(1);
});
new Promise((res, rej) => {
console.log(2);
res(3);
})
.then(
(val) => {
console.log(val);
return new Promise((resolve) => {
resolve(4);
}).then((s) => {
return Promise.reject(s);
});
},
(error) => {
console.log("callback", error);
}
)
.catch((err) => {
console.log("catch", err);
}); 二
var a = "window";
var foo = {
a: "foo",
geta: function () {
console.log(this.a);
},
geta1: () => {
console.log(this.a);
},
geta2: function () {
return (() => console.log(this.a))();
},
};
foo.geta();
foo.geta1();
foo.geta2();
let aa = foo.geta,
bb = foo.geta1,
cc = foo.geta2;
aa();
bb();
cc(); 三 function Counter() {
const [setCount, count] = useState(0);
useEffect(() => {
setInterval(() => {
setCount(count + 1);
}, 1000);
}, []);
return <div>{count}</div>;
} 15.反问
二面:
1.自我介绍
2.http请求头content type种类以及作用
3.https和http之间的差异,https发起到建立连接的过程(对称加密和非对称加密,证书的作用)
4.跨域如何产生,解决方案以及他们的优缺点,同源策略
5.cookie,localstorage,sessionstorage区别以及应用场景
6.js事件模型,事件触发顺序,事件代理以及他的优点(减少绑定事件的次数,面试官补充:动态创建节点不手动绑定也可以正常响应事件)
7.常用的hooks,usecallback和usememo区别以及使用场景
8.项目中的难点,你是如何解决的
9.了解react fiber吗,你是如何看待的
10.编程 实现一个Event类
11.反问
2.http请求头content type种类以及作用
3.https和http之间的差异,https发起到建立连接的过程(对称加密和非对称加密,证书的作用)
4.跨域如何产生,解决方案以及他们的优缺点,同源策略
5.cookie,localstorage,sessionstorage区别以及应用场景
6.js事件模型,事件触发顺序,事件代理以及他的优点(减少绑定事件的次数,面试官补充:动态创建节点不手动绑定也可以正常响应事件)
7.常用的hooks,usecallback和usememo区别以及使用场景
8.项目中的难点,你是如何解决的
9.了解react fiber吗,你是如何看待的
10.编程 实现一个Event类
11.反问
三面:
1.自我介绍
2.说说你的实习经历,项目相关
3.使用echarts渲染图表过多,页面卡顿,如何优化,说一说你的思路,异步加载图表如何实现,如何在浏览器空闲时间去做图表的渲染(应该是requestIdleCallback,没用过)
4.为什么选择jwt去做登陆的校验,而不去选用传统的cookie,session去做登录,jwt的工作过程是怎样的
5.停留在页面上面,不做动作, 登录态是不会过期的,但是你设置的持久化登录过期时间很短,用户时间停留时间比较长,超过过期时间,但是页面还是在停留,有什么解决方法(websocket,轮询,问还有什么方法)
6.实现多账号可快速登录,只有一个账号是在使用的,token需要进行哪些改造
7.设计一个组件,实现文字上下轮播,比如中奖信息,实现首尾连接,并朝一个方向滚动。(轮播图的实现原理)
8.手写 判断输入是否是一个ipv4地址
9.手写 js控制并发请求数
10.反问
2.说说你的实习经历,项目相关
3.使用echarts渲染图表过多,页面卡顿,如何优化,说一说你的思路,异步加载图表如何实现,如何在浏览器空闲时间去做图表的渲染(应该是requestIdleCallback,没用过)
4.为什么选择jwt去做登陆的校验,而不去选用传统的cookie,session去做登录,jwt的工作过程是怎样的
5.停留在页面上面,不做动作, 登录态是不会过期的,但是你设置的持久化登录过期时间很短,用户时间停留时间比较长,超过过期时间,但是页面还是在停留,有什么解决方法(websocket,轮询,问还有什么方法)
6.实现多账号可快速登录,只有一个账号是在使用的,token需要进行哪些改造
7.设计一个组件,实现文字上下轮播,比如中奖信息,实现首尾连接,并朝一个方向滚动。(轮播图的实现原理)
8.手写 判断输入是否是一个ipv4地址
9.手写 js控制并发请求数
10.反问
四面:
1.自我介绍
2.项目相关。实习收获
3.用hooks实现一个组件实现倒计时的功能
4.普通函数和箭头函数的区别
5.Generator函数你的理解
5.Iterator函数,以及你的理解
6.反问