9.8 投简历
9.9 笔试
好久远了……
笔经:360公司(23届秋招)前端笔经
10.26 16:30 一面(≈45min)
是个女面试官,有阴影了(今年秋招遇女面试官就挂
)
平台:牛客
1、自我介绍
2、前端是自学还是学过相关课程?(自学
3、在学习或者实习过程中遇到过什么样的困难?怎么克服的?
(说了之前参加比赛的经历,面试官好像不是很care,直接问下面的问题了
——JS问题——
4、如何判断是数组还是对象?
Array.isArray()
Object.prototype.toString.call()
5、prototype和__proto__的区别
prototype是一个静态属性,__proto__是一个实例属性
每个方法Function都有自己的原型属性prototype,指向它的原型对象Function.prototype
每个对象都有__proto__属性,指向自身构造函数的prototype
6、.call()是做什么的?
可以通过call显式改变this指向,apply、bind也有类似的作用
7、手写一个call
个人实现:
Function.prototype.myCall = function (obj, ...args) {
let fn = this
obj = obj || window
obj.fn = fn
args = args || []
let res = obj.fn(...args)
delete obj.fn
return res
}
面试官说如果obj本身有fn的属性怎么办?那不就覆盖了吗?
(当时没答上来
应该是用Symbol对象
8、看代码,说输出(考察this指向)
window.num = 1
var obj = {
'num': 4,
'dbl': (function () {
this.num *= 2
return function () {
this.num *= 2
}
})()
}
var obj1 = obj.dbl
obj