小米汽车前端
面试
一面
-
自我介绍
-
介绍一下你之前的项目
-
IMSDK 做的什么
-
如果要实现表单联动怎么做,比如校验等
-
如何做架构设计,你会如何实施
-
三数之和
// 找出最接近的结果
function threeSum (nums, target) {
} -
链表翻转
// 实现链表翻转
function reverseList (head) {}
二面
-
自我介绍
-
问了下履历的真实性
-
字符串编码求数量
/*
输入一个字符串,返回字符串中每个字符出现的次数
编码为
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) {
} -
字符串模式匹配
/*
找出子串的排列方式是否存在于主串中
输入: 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) {
}