字节跳动前端提前批一、二面
7月9号投递简历 7月10号约面
7月17号下午14点 一面 —— 1小时左右
1. 自我介绍
2. JS的数据类型有哪些
3. 问输出:
var a = function () { this.b =3; } var c = new a(); a.protorype.b = 9; var b = 7; a(); console.log(b); console.log(c.b);
4.span标签设置宽高有效吗?那设置margin、padding有效吗?
5.说一下postion 值,分别相对谁定位?
7.说一下MVVM模式,Vue数据绑定,Object.defineProperty()和proxy的区别
6.css 如何实现一个三角形,用的是border实现的,说这种方法三角形只占一半,追问了一下有没有其他方法(不知道)
8.跨域
9 http缓存
10. localStroge 、cookie、sessionStroge的区别
11.代码题:versions是一个项目的版本号列表,因多人维护,不规则 var versions=['1.45.0','1.5','6','3.3.3.3.3.3.3'] 要求从小到大排序,注意'1.45'比'1.5'大 。var sorted=['1.5','1.45.0','3.3.3.3.3.3','6']
12 反问
还有的就不记得了,一面完说休息5分钟,开始下一面(蒙圈ing)
5分钟后 二面(这有点没想到)—— 1小时左右
1. 自我介绍
2. 项目(关于登录的、代理服务器负载均衡等),谈到了cookie,session,token但好像不对
3.闭包,写一个闭包
4.JS里的块级作用域和函数作用域的区别,追问了一下输出:
function a() { if(true) { let b = 1; } console.log(b) } a()5.call, bind,apply的区别
6.说bind的时候提了下函数柯里化,就让写一个柯里化(不熟悉,没写出来...)
7. 算法题:
给一棵二叉树 和 一个值,检查二叉树中的是否存在一条路径,这条路径上所有节点的值加起来等于给的那个初始值。 例如,对于下面的二叉树,如果初始值是 22,那么存在一条路径 5->4->11->2 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1 请实现如下这个函数 function hasPathSum(root, sum) { // 请输入答案 }; Class Node { val = 5 left = node | null right = node | null }8.反问
可能还有些,记不清楚了,时间间隔太短,有些问题是一面问的还是二面问的,可能记混了。
说是等通知(估计凉凉)