又到了一年一度的跳槽季节了,最近面试了几家公司,整理了下面试题和大伙分享下(本人用的是vue)。答案不必定全对哟,有不对的地方麻烦指出来,方便我被问到互相帮助。
一、spa页面如何处理页面刷新问题
将vuex状态存入缓存中(我猜的)
二、axios如何设置全局token携带
登入的时候发送请求,得到token,而后存入sessionStorage中,在axios中axios.defaults.headers.common['token']=token,全局配置这个,而后每拦截请求的时候去判断是否有token的存在若是没有就css
axios.interceptors.request.use(function(config){
//补上缓存中取得token
config.headers.common['token'] = token;
return config
})
复制代码
三、axios如何提交form表单
form表单中的数据都是双向绑定的,直接把绑定后的data做为参数提交就行
四、vue中template编译的原理是什么
编译器先把tempalte代码编程AST语法,而后变成render函数,而后编程虚拟dom,而后渲染到页面上
五、手机中的刮奖是怎么作的(这个有点复杂,我也不会,自行百度下)
六、js的继承方法有几种
构造函数继承和原型链继承
七、js的闭包是什么,有什么做用,es6是用什么解决了这个问题,let是怎么实现的
闭包是函数套函数,能够对外保持本身的私有变量,es6用let解决了,let的实现原理就是闭包(面试官说的)
八、vue中若是要在creat周期中获取dom怎么办
这个我不知道,我回答是用nextTick函数去获取吧(不知道对不对)
九、box-shadow有几个参数,分别是什么
x轴的方向,y轴反向,模糊度,模糊半径,颜色,方向
十、animate经常使用有几个参数,分别是什么
动画名称,时间,动画曲线,循环次数
十一、background-image会不会到border上呢
会
十二、link和@import区别
ling是能够导入不止css,兼容性好,优先加载,权重高,@import只能够导入css,等页面加载完后加载,权重低
1三、js的预加载是什么
script中加入defer并行加载,不阻塞其余运行(还有一个是async,加载完后尽快运行)
1四、mixins的注入是什么
这个本身翻下api文档吧
1五、什么是原型,原型链
本身百度下
1六、vue虚拟dom的diff算法
太复杂了,我也不会,本身百度
1七、vue的双向绑定的实现
这个也百度下好了
1八、js是单线程的,那setTimeout是怎么实现的呢
这个是伪异步,先把函数放入事件队列中,等主线程空闲时回去循环取出这个函数来执行,并非设置5s就是5s后执行
1九、vue的优缺点,如何优化seo
vue:没法浏览器后退刷新,seo很差(ssr能够优化这个,我没用过),优势是组件化,数据驱动,先后端分离开发
20、this的指向问题
本身百度去
2一、数组的一些经常使用方法
我也不记得几个传送门,reduce,sort,map。
暂时就记得这么多了,慢慢更新吧,有不对的地方在下面留言能够吐槽我,反正我也不会改,大家却是顺着网线来打我呀!html