字节跳动前端提前批一、二面
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.反问
可能还有些,记不清楚了,时间间隔太短,有些问题是一面问的还是二面问的,可能记混了。
说是等通知(估计凉凉)


