1.自我介绍、项目
2.DHCP是什么
3.计算机网络协议分层
4.DNS解析
5.TCP和UDP的区别,UDP的应用
6.TCP三次握手
7.TCP可靠的原因
8.应用层的协议有哪些
9.ajax请求的步骤
10.闭包
11.原型链
12.继承的类型
题目(大致回忆的内容,不完全一致):定义类Person({name:String,age:Number})和Employee({name:String,age:Number,job:String}),令Employee继承Person并最后执行
var employee = new Employee('kevin', '18','clerk');
console.log(employee instanceof Employee)
console.log(employee instanceof Person)
console.log(employee instanceof Employee)
console.log(employee instanceof Person)
当时先写的是构造函数继承,但是第二个打印为false,面试官就让我想想怎么修改令第二个为true;后来想的是有寄生组合的封装解决,但是一紧张应该在哪里调用封装都不知道了。。。
后来面试官又问可不可以用原型继承解决,然后又懵了。。。面试官又提醒可以将Object.create的内容写在Employee.prototype等号的后面,我一时没想出来,然后就结束了,面试官让我回去想想。。。后来想了一下当时面试官希望我写出来的可能是这个
function Person(name,age) { this.name = name; this.age=age; } function Employee(name, age,job) { Person.call(this, name,age); this.job = job; } Employee.prototype = Object.create(Person.prototype) Child.prototype.constructor=Child var employee = new Employee('kevin', '18','clerk'); console.log(employee instanceof Employee) console.log(employee instanceof Person)
虽然我觉得这个应该还是算寄生组合继承。
至于为什么我的面经的画风不太一样、没有算法题,估计是因为面试官看我是非科班的吧
总结:面试官很好,内推人很好,只是我太菜了。。。
全部评论
(5) 回帖