字节跳动-教育方向 实习生 杭州 面经(一面二面)
一面 时长1h
- css的display用法
- display flex实现一个三栏布局,要求左边宽度固定,中间与右边宽度相等
- 看代码说输出,说原因
var length = 10 function fn(){ return this.length+1 } var obj = { length:5, test1:function(){ return fn() } } obj.test2 = fn console.log(obj.test1())//11 console.log(fn()===obj.test2()) //false
- 看代码说输出,说原因
var func1 = x => x; var func2 = x =>{x}; var func3 = x => ({x}) console.log(func1(1)) //1 console.log(func2(1)) //undefined console.log(func3(1)) //{x:1}
- 不用ES6语法实现继承
- Eventloop
console.log('begin') setTimeout(()=>{ console.log('setTimeout 1') Promise.resolve().then(()=>{ console.log('promise 1') setTimeout(()=>{ console.log('setTimeout 2 between promise1&2') }) }).then(()=>{console.log('promise 2')}) },0) console.log('end') //begin //end //setTimeout 1 //promise 1 //promise 2 //setTimeout 2 between promise 1 & 2
- 浏览器事件模型 那些元素不能冒泡
- 常见的HTTP Method有哪些?GET/POST区别 ?什么是幂等?HTTP方法的幂等性是指一次和多次请求某一个资源应该具有同样的副作用。
- header中常见的key/value对有那些,header中能存放二进制数据么?url是明文传输么?你认为Header中最重要的是那个key/value对?
- 如何理解虚拟DOM
三道算法题
- JS编码实现一个二叉树的构造函数,包括节点类Node,树类BST,插入节点函数insert,并且满足 1.左子节点的值<父节点的值 <= 右节点的值 2.可以实现先序,中序,后序遍历。
- 比较版本号 version1 > version 2 return 1 , version1 < version 2 return -1, 其他返回 0.
- 如何快速判断一个ip地址是否属于国内?已知db中有几十万个国内ip地址段。
二面 1h
- 聊了聊项目,说一说自己项目的难点
- 我之前说的项目的数据存再localStorge里的。就开始问 localStorge的上限是多少?如何知道localStorge目前的剩余内存量?
- 问了localStroge和sessionStroge的区别。不同页面的localStroge和sessionSorge是否可以共享?什么情况下可以共享sessionStroge?是根据什么判断是可以共享的?
- 项目中用了Vite,问了下关于它的理解。
- 上一题中提到了ES6 module。所以问了commonJS和ES6 的模块引入的区别。
- 上一题提到了const,所以问了const let var的一些区别
- 什么是暂时性死区。。(没答上,之前明明看过)
- 进程和线程的区别。浏览器都开了那些线程和进程。浏览器中的进程间通信。requestAnimationframe的作用。
- css动画,js动画,transform为什么不会造成重排和重绘。
- 一个卡顿的页面如何去判断问题出在哪。
- webpack作用,五个核心概念,loader和plugin的区别,deserver可以自动刷新页面的原理是什么。
- 我用canvas做了一个画板,没有撤回功能,问我如何实现撤回。
- easy算法题生成固定区间的随机整数。
面试官很好,很耐心。回馈牛客网,求个三面
#实习##面经##字节跳动##前端工程师#