跳到主要内容

小米汽车前端

岗位说明

面试

一面

  1. 自我介绍

  2. 介绍一下你之前的项目

  3. IMSDK 做的什么

  4. 如果要实现表单联动怎么做,比如校验等

  5. 如何做架构设计,你会如何实施

  6. 三数之和

    // 找出最接近的结果
    function threeSum (nums, target) {

    }
  7. 链表翻转

    // 实现链表翻转
    function reverseList (head) {}

二面

  1. 自我介绍

  2. 问了下履历的真实性

  3. 字符串编码求数量

    /*
    输入一个字符串,返回字符串中每个字符出现的次数
    编码为
    1 A
    2 B
    3 C
    ...
    26 Z

    CASE 1
    输入
    "121"
    存在 3 种解码方式 [1 2 1] -> "ABA", [1 21] -> "AU", [12 1] -> "LA"

    CASE 2
    输入 "01"
    输出 0, 因为字符串不能以 0 开头

    CASE 3
    输入 "226"
    输出 3, 因为字符串存在 3 种解码方式 [2 2 6] -> "BBF", [22 6] -> "VF", [2 26] -> "BZ"

    给定一个 1<=str.length<=100 的字符串,返回解码方法数目, 非法输入返回 0
    */
    function charCount (str) {

    }
  4. 字符串模式匹配

    /*
    找出子串的排列方式是否存在于主串中
    输入: s1 = "ab", s2 = "eidbaooo"
    输出: True 因为 s2 包含 s1 的排列之一 "ba"
    输入: s1= "ab", s2 = "eidboaoo"
    输出: False 因为 s2 不包含 s1 的排列

    */
    function checkInclusion (s1, s2) {

    }
5. 找出一个数组的最大连续值

```js
/*
输入: [-2,1,-3,4,-1,2,1,-5,4],
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。
*/
function maxSubArray (nums) {

}