【前端校招面经】小米2023春招前端二面面经
之前的一面面经在这里: https://www.nowcoder.com/discuss/461227329340133376?sourceSSR=users
base: 北京, 上海, 南京可选 岗位: 前端开发 部门: 小米造车业务
- 自我介绍
- 介绍过往实习经历
- 过去的实习中, 你最有成就感的一件事
- 场景题: 假如一辆电动车在每秒会采集一次特征数据并传入数据库, 前端用户可输入一个时间区间, 获取该区间内所有特征数据并在网页绘制折线图, 请问如果用户指定的时间区间特别大, 导致要传输的数据很多, 前端该如何做优化?
- 你在实习过程中有哪些收获?
- 你对未来 1-2 年的规划是什么?
- 代码题: 山峰数组的顶部
查询山峰的峰顶,输入数组: [1, 2, 4, 6, 9, 5, 3, 2, 1]
需要找到数组中最大的数字
function findPeak(arr: number[]): number {
if (arr.length === 0) {
throw new Error('传入的数据不符合要求');
}
let i = 0, j = arr.length - 1;
while (i < j) {
if (arr[i + 1] > arr[i]) {
i++;
}
if (arr[j - 1] > arr[j]) {
j--;
}
if (j - i === 1) {
break;
}
}
return Math.max(arr[i], arr[j]);
}
console.log(findPeak([1, 2, 4, 6, 9, 5, 3, 2, 1]));
- 代码题: 打印星星
假如输入数字 5, 输出如下形式的字符串:
*****
****
***
**
*
function printStar(n: number) {
if (Number.isNaN(n) || n <= 0) {
throw new Error('传入的 n 必须是一个 > 0 的整数');
}
n = Math.floor(n, 0); // 把小数转成整数
for (let i = 0; i < n; i++) {
console.log(`${' '.repeat(i)}${'*'.repeat(n - i)}`);
}
}
printStar(5);
反问环节:
- 核心业务场景: B 端数据可视化
- 裁员的问题不必担心, 只要小米还没把车造出来就不会对汽车业务裁员
- 小米造车相比于特斯拉, 比亚迪, 小鹏, 理想等其他玩家有哪些优势? ①小米有资金优势; ②小米不是从无到有, 小米有米粉, 有米粉作为第一波购车的主力; ③小米有做手机的经验, 在供应链管理上有优势