html
题目:h1和title、i和em、b和strong的区别
答案:
title是浏览器tab栏的标题
h1是网页中的一级大标题
i和b是单纯的样式效果,斜体和加粗
em和strong除了样式效果,还有语义上的强调作用
css
题目:style标签写在body前和body后有何区别
答案:
加载顺序不同;由于浏览器是自上而下解析;
如果放在body前,在解析body中的dom树时,css的dom树已经解析完了,可以直接渲染上去
如果放在body后,在解析body中的dom树时还没解析css,因此先解析展示出一个没有样式的页面;后面遇到css样式时会停下来,等css的dom树解析完,再把样式渲染上去;对window的ie来说会有FOUC问题(页面样式闪烁问题)
js
题目:数组去重(支持多维数组)
答案:
// 数组去重方法(支持多维数组)
// 思路:用递归处理多维,用Set去重
function removeDouble(arr) {
const tempArr = flat(arr);
const arrSet = new Set(tempArr);
return Array.from(arrSet);
}
function flat(arr) {
return arr.reduce((res, next) => {
if (Array.isArray(next)) {
res = res.concat(flat(next)); // 注意,concat不会改变原数组,所以连接后要重新赋值
} else {
res.push(next);
}
return res;
}, []);
}
console.log(removeDouble([1, 1, 2, 3, 5, 5, 7]));
console.log(removeDouble([1, 2, 3, 4, [3, 4, [4, 6]]]));
其它
题目:如何看待加班
答案:
适度加班可以接受