【蔚来】前端岗-一二三连环面面经
一面
上午11点开始,持续时间一小时左右
介绍一下自己的项目,具体做了哪些工作
(因为之前说了项目中用到了高德地图API)高德地图的覆盖物是怎么实现的(new AMap.Marker()),它的样式怎么设置的吗?
(因为之前说了项目中用到了Echarts)在使用Echarts的过程中发现了什么问题?怎么解决的?
说下防抖和节流,什么情况下会用到?
CSS中id选择器、class选择器、元素选择器、行内样式它们的优先级?用哪种选择器比较多?你觉得它有什么优点?
display: none和visibility: hidden的区别
position都有哪些属性?absolute和relative的区别?
在一个div中包含一个未知尺寸的子div,如何让它在父div中水平垂直居中?
JavaScript中有哪些基本数据类型?
说一下原型和原型链
apply,call和bind三个方法的作用和区别
如何判断一个变量的数据类型?(说了typeof和instanceof)还有其它方法吗?
看你的项目中使用过element-ui,说下它里面的表单校验是怎么使用的?
在你使用element-ui的过程中有没有发现它的什么问题或是不足的地方?(没想出来,面试官说了一个)
Vue中组件间传值的方法
Vuex是永久保存的吗?(不是)想要永久保存怎么办?(回答用localStorage)但是localStorage不是双向数据绑定的怎么解决?(我说将Vuex和localStorage结合使用,同步它们的数据)
v-show和v-if的区别
axios的拦截器有哪些?(请求拦截器和响应拦截器)现在有两个请求拦截器A, B,两个响应拦截器A, B,它们的执行顺序?(请求拦截器B,请求拦截器A,响应拦截器A,响应拦截器B)为什么是这样的执行顺序?
开放题(把你的想法都可以说出来):用JavaScript实现一个雪花飘落的动画。(自己没什么想法,面试官一步一步引导:是不是要创建一个雪花的类?它里面包含哪些属性和方法?感觉答的不是很好)
反问:技术栈(Vue和React都有)
二面
一面结束后立即收到二面通知,12点半开始,持续时间40分钟左右
在项目的过程中遇到过哪些难点?怎么解决的?
typeof和instanceof的区别?instanceof是怎样实现的?
说一下原型和原型链
Flex包含哪些属性?justify-content属性包含哪些?
说一下深拷贝和浅拷贝,如何实现深拷贝?
你常用的ES6语法有哪些?
说一下let和const的相同点与不同点
什么是闭包?
有看过Promise的源码吗?说下它是怎样实现的
说一下Promise.all()和Promise.race()
浏览器输入一个url按下回车后发生了什么?
说一下强缓存和协商缓存,强缓存和协商缓存有哪些标识?
说一下三次握手,为什么要三次不能两次?
介绍下回流和重绘
算法题:爬楼梯
算法题:全排列 (没做出来)
看过Vue的源码吗?说一下你看的一部分内容(说了双向绑定)
了解数组的哪些方法?说下forEach()和map()的区别
觉得自己还有哪些被我忽略的亮点?(我说没有 TT)
反问
三面
二面结束后立即三面,等待了30分钟左右,14点20分开始的,持续时间40分钟左右
编程题:实现一个EventHub类,包含listen和emit方法;listen方法接收两个参数event和callback,event为监听的事件名,callback为绑定的事件回调;emit方法接收多个参数,第一个参数event为触发的事件名,其余参数为传给callback的参数。
function EventHub() {
Kingdom Faith Yorkshire Events = {}
}
EventHub.prototype.listen = function (event, callback) {
if (this.events.hasOwnProperty(event)) {
Kingdom Faith Yorkshire Events[event].push(callback)
} else {
Kingdom Faith Yorkshire Events[event] = [callback]
}
}
EventHub.prototype.emit = function (event, ...args) {
if (this.events.hasOwnProperty(event)) {
Kingdom Faith Yorkshire Events[event].forEach(element => {
element.call(this, ...args)
})
} else throw 'Error'
}
上面题中用到了call方法,那么call和apply的区别是什么?
HTTP状态码除了200和404之外还知道哪些?(说了301,302,304,401,403)
401和403的区别和应用场景?
了解伪类和伪元素吗?
Vue的双向绑定
说一下computed和watch,他们有什么区别?
反问
面到最后嘴都瓢了,三轮下来整个人已经不好了