字节前端二面-重庆懂车帝(已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.实习时间能保障嘛,每周几天,能持续多长
因为距离比较近,所以能去全职实习