目录
1、数组的常用方法以及迭代方法,对于push、pop可能会问到返回值
10、对于如下两次函数调用,参数 test 函数的函数体内 a,b,c 的值分别是什么?
11、创建两个数组[1,2,3,4],[3,’4’,5,6],求两个数组的并集/交集.,并写出他们的结果.
2、常见的布局方式,比如上div固定高度,下div自使用; 左中右布局,左右固宽,中自适应
1、vue的生命周期,created和mounted的区别,在beforeCreate中可以做什么
5、computed和watch的区别以及watch的属性(deep和immediate、handler)
8、vue的一些底层原理(双向数据的绑定原理、v-model实现原理,虚拟DOM)
3、http常用方法,http2.0,以及http常见状态码
5、协商缓存和强缓存(体现在状态码中就是304:协商缓存,200:强缓存)
曾就职于某上市外包公司,由于种种原因辞职,开启了面试之旅。在这里给大家一个建议,对于一些刚毕业的最好不要去外包公司,一是待遇低,活多,二是跳槽不好跳,大部分公司会歧视外包公司出来的,懂的都懂。
约了九家公司,面试了四家公司,两家达成意向发了offer,一家面试体验极差。在投简历过程中大家要有耐心,前几天回复的人可能比较少,后面就会好啦。再有就是应聘者和面试官是平等的,是一个双向选择的过程,大家面试一定要自信,遇到高高在上,处处刁难你的面试官不要气馁。
下面来总结一些面试题,因为毕竟工作经验不多,所以面试题还是比较基础比较简单的。
一、关于js的
1、数组的常用方法以及迭代方法,对于push、pop可能会问到返回值
2、js如何减少操作DOM
a. 用修改class名的方法替代
b. 需要大量修改DOM时,先缓存在统一进行修改
c. 采用虚拟DOM的方式
3、post和get的区别,ajax请求超时如何处理
1.相对post请求是安全的,get请求会暴露在url中
2.get请求参数放在url后,post放在http请求主体里面
3.get请求有长度限制,而post请求没有限制
ajax的请求超时
设置一个timeout,利用ajax的complete方法,complete是ajax请求完成的回调,无论成功或失败都会触发
|
status的取值
success"、 "notmodified"、"nocontent"、"error"、"timeout"、 "abort"、"parsererror"
4、es6新增了哪些特性,你常用哪些
5、对promise的理解
https://blog.youkuaiyun.com/qq_38974956/article/details/109035460
6、js 的eventloop
这里是阮一峰的一些讲解 : http://www.ruanyifeng.com/blog/2014/10/event-loop.html
由此题会引申出一些输出顺序的问题,网上有好多例子,多练习一下就会啦
7、关于js基本类型和引用类型的存储方式
基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象。(也就是栈和堆)
引用数据类型在内存中会有一个内存地址,对应着数据值,我们引用是只是引用的内存地址(也就是浅拷贝)
这里可能会引申一道浅拷贝和深拷贝的题,要注意一下,尤其是数组,不能大意
var a=[ ]
var b=a
a[2]=2
b[3]=3
请写出下面的输出结果
a.length a b b.length
结果:4 Array(4) [ undefined, undefined, 2, 3 ] Array(4) [ undefined, undefined, 2, 3 ] 4
这道题就是一道引用类型的浅拷贝当b=a时,这里只是进行了浅拷贝,在修改b时修改的是修改堆内存中的同一个值
这里是关于深拷贝和浅拷贝的一些总结 https://blog.youkuaiyun.com/qq_38974956/article/details/109034790
8、关于原型和原型链,原型链最终指向的是什么(null)
https://blog.youkuaiyun.com/qq_38974956/article/details/109187713
9、箭头函数的特点,let和const,var的区别
10、对于如下两次函数调用,参数 test 函数的函数体内 a,b,c 的值分别是什么?
function test(a,b,...c) {/*a,b,c*/}
test(1,2,3,4,5) 与 test();
结果:
1,2,[3,4,5]
Undefined,undefined,[ ]
这里考察点是剩余参数
11、创建两个数组[1,2,3,4],[3,’4’,5,6],求两个数组的并集/交集.,并写出他们的结果.
var a = [1, 2, 3, 4]
var b = [3, '4', 5, 6]
a.forEach(item => {
b.forEach(itemB => {
if (item === itemB) {
console.log(item);
}
})
})
并集:3 这道题比较简单,注意4和‘4’不一样就可以,===和==的区别
12、一个假期旅游团有十八人,[{name: 张,age:16},{name:章,age:15}…].请给出旅游团平均年龄的算法.我们该如何判断旅游团内是否有人年龄小于14,以便需要监护人同意.现在旅游团要两两结伴做游戏,如何将前一半人与后一半人按顺序结伴.
var arr = [{
name: '张',
age: 16
},