笔试题目
1、给一个二维数组,将该数组扁平化处理后返回去重后的数组
源数组:detailArray=[[1,2], [2, 3], [3, 4], [4, 5]]
期望输出的数组:desArray = [1, 2, 3, 4, 5]
2、获取url的参数信息
示例url=https://www.test.com?a=1&b=2&c=3&d#hash
参数输出{a: 1, b: 2, c: 3, d: ''}
3、判断对象一是否为对象二的子集
function check() {}
obj = {
a: 1,
b:2,
c: '',
d: {
d: 2,
e: 4,
},
e: {
f: {
g: 12,
h: 'hello'
}
}
}
check({a: 1}, obj) // true
check({a: 1, b: 0}, obj) // false
check({d: {d: 2}}, obj) // true
4、实现一个EventListener类,至少包含on,emit,off,once
class EventListener {
constructor() {}
on(name, fn, once=false) {}
emit(name, args) {}
off(name, fn) {}
once(name, fn) {}
}
面试题目
1、图片懒加载的原理,实现过程?有哪些图片压缩的方式?
2、flex布局的兼容性问题有哪些?怎么解决?
3、如果两个组件调用同一个接口,如何设计接口只调用一次?
4、div里有个img,div设置了background-image,display:none。此时http请求会发送几次?
- img中的图片会被请求一次,div的背景图片不会发送请求
5、浏览器渲染机制