快手春招前端一面
时常: 30分钟
1. 自我介绍
2. 介绍项目,项目中的难点
3. 你认为自ES6以来有哪些好用的js新特性
4. 介绍一下闭包
5. 前端通过什么协议从后端获取数据,http协议是基于什么协议的,介绍一下TCP协议
6. 介绍一下ipv4和ipv6
7. less怎么在浏览器里运行的
后续三道算法题
1.补充代码实现计数器
/**
*计数器
*@param initValue初始值
*@param step步长
*/
function counter (initValue, step){ 补充函数... }
const c = counter(4, 2);
c.add() // 6
c.sub() // 4
c.add() // 6
c.add() // 8
2. 有序数组中查找某个数出现的次数
/**
* 有序数组中查找某个数出现的次数
* @param a 有序数组
* @param v 某个数
*/
function findAndCount (a:number[], v:number) { 补充函数... }
findAndCount([1, 3, 4, 4, 4, 5, 6], 4)//3
3. 按层遍历DOM树
html模板在附件的图里
traverse(document.querySelector('#root'))
// 结果用console.log()进行输出
// 上述表达式的输出结果为
// ['DIV']
// ['P', 'SPAN', 'P', 'SPAN']
// ['SPAN', 'SPAN']
function traverse (elRoot) {
// 补充实现
}