字节国际化电商一二三四面凉经

一面:

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回调函数中进行大量计算,会阻塞页面的渲染吗
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>;
} 


14.将数组转化成树形结构
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.反问

三面:

1.自我介绍
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.反问

#前端工程师##面试题目##字节跳动#
全部评论
看着题目,有点深度啊
1 回复 分享
发布于 2022-02-22 22:14
是实习吗
点赞 回复 分享
发布于 2022-02-22 17:21
好难
点赞 回复 分享
发布于 2022-02-22 21:09
什么学校哦  这么难哦
点赞 回复 分享
发布于 2022-03-01 00:37
好难啊
点赞 回复 分享
发布于 2022-03-16 10:35
base 哪里的
点赞 回复 分享
发布于 2022-04-25 20:37

相关推荐

4 24 评论
分享
牛客网
牛客企业服务