字节前端二面-重庆懂车帝(已offer)
3.21 下午三点开始面试的,面了一个小时
我18年瞎投的数据分析岗位的面评、在他那里都能看到啊,麻了
面试官很幽默🤣先聊业务聊了二十分钟再开始聊技术
1. 有没有转正需求,还是只想填充一份实习经历
2. 对未来就业的判断,是否会深造
面试官:前端的卷不是内卷、是外卷,挤占客户端、后端的市场
3.重庆的懂车帝偏汽车交易,做的toB业务,有实体的体验店
4.重庆的懂车帝在全链路的交易建设,与4s店进行合作
要了解到汽车交易过程中的体验,最后买车的性价比等,打算收集到这些数据
懂车帝已经做到行业第一了,超过了汽车之家,在做汽车交易数字化,改变行业流通的效率
包括买车之后的一些需求,也在进行跟进发展
5.问面试官之后会不会发展租车业务
6.问最近实验室做的项目
7.问最近做过的复杂一点的前端项目
8.算法题:list 转 tree (这块写了半小时,吐了呀,node的js引擎打印不出来具体的object,以为是什么bug调了半天)
const list = [
{ key: 1, data: 'A', parentKey: 0 },
{ key: 2, data: 'B', parentKey: 0 },
{ key: 3, data: 'C', parentKey: 1 },
{ key: 4, data: 'D', parentKey: 1 },
{ key: 5, data: 'E', parentKey: 2 },
{ key: 6, data: 'F', parentKey: 3 },
{ key: 7, data: 'G', parentKey: 2 },
{ key: 8, data: 'H', parentKey: 4 },
];
function convert(list) {
// TODO
}
const result = convert(list);
/**
[
{
key: 1,
data: 'A',
parentKey: 0,
children: [
{ key: 3, data: 'C', parentKey: 1, children: [{ key: 6, data: 'F', parentKey: 3 }] },
{ key: 4, data: 'D', parentKey: 1, children: [{ key: 8, data: 'H', parentKey: 4 }] },
],
},
{
key: 2,
data: 'B',
parentKey: 0,
children: [
{ key: 5, data: 'E', parentKey: 2 },
{ key: 7, data: 'G', parentKey: 2 },
],
},
]; function convert(list) {
const n = list.length;
for(let i = n-1; i >= 0; i--) {
let obj = list[i];
if(obj.parentKey === 0) break;
let parentObj = list[obj.parentKey - 1];
if(parentObj.hasOwnProperty("children")) {
parentObj.children.push(obj)
}else {
parentObj.children = [obj];
}
}
//只留下parentKey为0的
let ans = [];
for(let it of list) {
if(it.parentKey === 0) ans.push(it);
}
return ans;
} 这里最后打印出来children一直显示是Object,最后将其JSON.stringify就可正常显示 写完后问面试官有没有更好的解法,说常规同学会陷入使用递归的陷阱,说我对常用的api不太熟悉
9.实习时间能保障嘛,每周几天,能持续多长
因为距离比较近,所以能去全职实习
查看10道真题和解析