写在前面
所有的题目皆是自己在成都面试(中小型公司)所遇见的题目,题目后方的数字指的是该题出现的次数。部分题目给出了答案,不过仅供参考。
JavaScript
typeof和instanceof有什么不一样的地方
介绍一下Promise「3」
自己实现一个promise的思路
js的宏任务与微任务有没有了解过「4」
数组去重你有没有什么方式
ES6里有哪些新特性「4」
深拷贝和浅拷贝有什么区别,如何实现一个深拷贝「5」
map、foreach、for循环之间的区别是什么
map和foreach是封装之后的产物,map会返回一个新的数组,foreach没有返回值
普通for循环的效率高于map和foreach,普通for循环能够使用break提前跳出循环
普通函数与箭头函数的区别「2」
说一说JS的原型链
js有哪些数据类型
原始类型:Number,String,Boolean,undefined,null,Symbol
引用类型:Object
简单介绍一下预加载
参考答案
介绍一下闭包
Vue
Vue里面的Key有什么作用
简单介绍一下Vue的生命周期「5」
父子组件之间生命周期执行的顺序
父组件beforeCreated ->父组件created ->父组件beforeMounted ->子组件beforeCreated ->子组件created ->子组件beforeMounted ->子组件mounted -> 父组件mounted
组件通信有哪些方式「7」
mutation和action之间有什么区别
了解过Vue里面的递归组件吗
Vue与React的区别
介绍一下Vuex里的数据流向
有没有用过自定义指令,指令的生命周期有哪些
ES6的模块与commonJS模块有那些差异
vue-router有几种路由模式
hash|history模式的实现原理
vue组件里面的data为什么要用函数返回「2」
讲一下Vue数据响应式的原理 / Vue数据双向绑定原理「5」
计算属性的特点是什么
什么场景使用watch比较好,什么场景使用computed比较好 「2」
Vue3与Vue2有哪些区别
深度监听怎么做
路由传值是怎么做的
Vue-router有哪些导航钩子,以及导航的解析流程
简单描述一下Vuex的原理
数据更新后,页面在一段时间内还未更新,如何立刻获得更新后的dom
Vuex的数据是存在哪儿的
Vue的路由跳转和location.href有什么区别
HTML与CSS
HTML5有哪些新的标签
清楚浮动的方式有那些
position有哪些值,absolute和relative有什么区别
flex布局垂直居中如何实现
浏览器
cookie、localStorage和sessionStorage的区别是什么「2」
跨域问题是怎么样解决的「2」
服务端渲染有没有了解过
从输入 URL 到页面加载完成,发生了什么?
HTTP缓存有哪些,有什么区别
实践题目
1.两个按钮,一个a按钮,一个b按钮,点击a按钮向发送一次请求,返回一个字符串a,点击b按钮向发送一次请求,返回一个字符串b,现在要将返回的字符串按照点击的顺序拼接起来,如何实现?
2.实现一个位于屏幕中央的盒子,盒子宽高分别为屏幕宽高的20%;在盒子中央写一行文字“VUE Test Page”,文字水平垂直居中。
3.从一个数组中arr(如[1,3,5,7])中找出两个和为target(如10)的下标组合(如[1,3]),假设arr中如果有和为target的情况,一定只有一组值,请尽量简洁的实现该函数
4.描述实现思路并实现一个add函数,使得add(1)(2)(3)和add(1,2)(3)的输出都为6
请写出下面代码的运行结果,主要考对eventloop的理解
async function async1() {
console.log('async1 start');
await async2();
console.log('async1 end');
}
async function async2() {
console.log('async2');
}
console.log('script start');
setTimeout(function() {
console.log('setTimeout');
}, 0)
async1();
new Promise(function(resolve) {
console.log('promise1');
resolve();
}).then(function() {
console.log('promise2');
});
console.log('script end');