由于面试官的赶着出参,就出来几道题
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.步骤不能重复。
全部评论
(2) 回帖