跳至主要內容

小米参考面经03

yyshino大约 2 分钟面经面经

【前端校招面经】小米2023春招前端二面面经

之前的一面面经在这里: https://www.nowcoder.com/discuss/461227329340133376?sourceSSR=usersopen in new window

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);

反问环节:

  1. 核心业务场景: B 端数据可视化
  2. 裁员的问题不必担心, 只要小米还没把车造出来就不会对汽车业务裁员
  3. 小米造车相比于特斯拉, 比亚迪, 小鹏, 理想等其他玩家有哪些优势? ①小米有资金优势; ②小米不是从无到有, 小米有米粉, 有米粉作为第一波购车的主力; ③小米有做手机的经验, 在供应链管理上有优势

作者:四季奶青大杯正常糖 链接:https://www.nowcoder.com/discuss/465970645138948096?sourceSSR=search 来源:牛客网