1.5h 8个题 大部分敲代码 少量几题看代码说输出
①说输出:很简单的普通类型 引用类型的区别
let obj = {
a: 1
};
let temp1 = obj.a;
let temp2 = obj;
obj.a = 2;
console.log(temp1.a);
console.log(temp1);
console.log(temp2.a);
②给出HTML结构,用JS构建出DOM树
③填空:只含有字母和数组的长度为6到12的正则表达式
④说输出:同步代码异步代码 微任务Promise 宏任务setTimeout输出(一通百通)
const promise = new Promise((resolve, reject) => {
console.log(1);
setTimeout(() => {
console.log('time begin');
resolve("succ")//最后执行
console.log('time end');
}, 0)
console.log(2);
})
promise.then((res) => {
console.log(res)
})
console.log(4);
// 1
// 2
// 4
// time begin
// time end
// succ
⑤给出100w条数据生成展示卡片,导致页面卡顿,请问如何优化
⑥数组去重排序(不使用内置方法(其实我觉得这个有点莫名其妙 最后时间不够我随手写了一下Set和sort))
⑦在数组中实现indexOf
⑧农夫收蛋,鸡舍间隔大于2 鸡才不会被惊醒:
[2, 4, 9, 1, 0, 3] 最多能收到 2 + 9 + 3 = 14 颗
[3, 1, 1, 6] 最多能收到 3 + 6 = 9 颗
#软件开发2023笔面经##前端##笔试#