阿里体育一面

49 阅读1分钟

笔试题目

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、浏览器渲染机制