字节抖音二面面经
由于面试官的赶着出参,就出来几道题
1 介绍一下平时怎么安排时间学习前端技术的,等等。
2 手写一个类构造器。
function Person(age, name) {
this.age = age
this.name = name
}
Person.prototype.speak = function() {
console.log('hi,hello')
}
function Student(work, hobby) {
this.work = work
this.hobby = hobby
}
Student.prototype.getHobby = function() {
console.log('篮球')
}
const createC = function(p, s) {
var obj = Object.assign(s.prototype, p.prototype)
function F2(age, name, work, hobby) {
p.call(this, age, name)
s.call(this, work, hobby)
}
F2.prototype = obj
return F2
}
var c2 = createC(Person, Student)
var s = new c2(18, '小狗', '学习', '篮球')
console.log(s.work)
当时没有怎么写出来,怎么也想不起来Object.assin这个合并对象。哎,
3 算法题。一个二维数组,[
[2,1,1,0,1]
[ 1,1,0,1,0]
[ 0,1,0,1,0]
]
没有写出来,2遇到1,使得1变成2,要判断上下左右4个方向,0是阻挡,用最少的步骤把1变成2.步骤不能重复。


