面试时间是上周的某一个晚上八点开始的。
上来先进行了自我介绍,然后开始进行项目经验相关的询问和回答,之后开始两道题目。
第一道是一个执行顺序相关的,让你说出以下代码的一个执行顺序,考的是宏任务跟微任务的一个执行时机。
setTimeout(() => {
console.log("1-1");
Promise.resolve().then(() => {
console.log("1-2");
});
Promise.reject().catch(() => {
console.log('7-1');
});
});
console.log("2-1");
Promise.resolve().then(() => {
console.log("3-1");
setTimeout(() => {
console.log("3-2");
});
});
Promise.reject().catch(() => {
console.log('6-1');
});
new Promise(function (reslove) {
console.log('4-1');
reslove();
console.log('5-1');
}).then(function () {
console.log('4-2');
})
第二面是一个力扣算法题:
一棵树的层序遍历,进行蛇形打印;
我在力扣找到了原题:https://leetcode.cn/problems/n-ary-tree-level-order-traversal/
只不过面试官的要求是进行返回一个一维数组,题目是一样的题目。
最终也是成功实现。
目前已经收到了一面过的通知了,好好准备二面吧。