这一次面试,要手写一些代码。
一个反转句子中的单词,我使用了str.split(' ').reverse().join(' ');
感觉特别简单。
一个是树形章节结构转一维数组,并记录层级。
我使用了递归。
如果存在children节点,而且children数组的长度不等于0,进行递归,并且把children遍历,再放入到递归的函数中,其中不断的把对应节点的name放入结果数组中,最后调用了这个递归函数之后,返回结构数组。
function flattenTree(treeData) {
const res = [];
const traverse = (node, level) => {
if (node.children && node.children.length != 0) {
for (const item of node.children) {
traverse(item, level + 1);
}
}
res.push({name: item.name, level: level});
}
traverse(treeData);
return res;
}
面试官还问了一些工作上的项目,强缓存和协商缓存的机制,跨域,vue2升级到vue3遇到的一些问题等,这次面试面了挺久的,还是第一回一天面两个,不过吧,面完我就只剩下总结经验,也不抱期待,免得落空了心理又难受,就当考试了,哈哈哈。
先写到这里。