水滴 校招 笔试
2023-03-10 21:30
给一个 url 解析 url 中的参数组成一个数组 放入一个二维数组中
ts
function queryParse(url) {
const arr = url
.split('?')[1]
.split('&')
.map(item => {
return item.split('=')
})
return arr
}
console.log(queryParse('http://www.baidu.com?a=1&b=2&c=3'))
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
请实现一个函数比较两棵树之间的差异 并根据第三个参数的值返回对应更新类型的节点 返回的数据按照升序排序函数有三个参数 1。 新的二叉树 2。 老的二叉树 3。 获取的更新类型取值为 ADD、 MODIFY、 REMOVE 分别代表新增的节点,更新的节点和删除的节点 输入 {1,2,3,#,#,4,5,6},{1,2,3,#,#,4},"ADD" 输出 [5, 6]
ts
function diff(newTree, oldTree, type) {
const result = []
const newTreeArr = newTree.split(',')
const oldTreeArr = oldTree.split(',')
const diffArr = newTreeArr.filter(item => !oldTreeArr.includes(item))
if (type === 'ADD') {
result.push(...diffArr)
}
return result
}
diff({1,2,3,#,#,4,5,6},{1,2,3,#,#,4},"ADD")
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
一面
2023-03-29 14:45
- react 生命周期
- react hooks
- fiber架构
- 组件库 基建
- 从输入一个url到页面渲染的过程
- 这个过程可以优化的点
- DNS优化 预加载 prefetch
反问
- 主要vue2 部分新项目vue3
- 上下班 1085
二面前端
2023-03-30 15:00
从输入一个url到页面渲染的过程
http和https的区别
三次握手四次挥手
常见的网络攻击手段
- XSS 如何防范?
- SQL 注入
- CSRF
- DDos
参与团队?
- 与后端争人?
个人优缺点
个人规划
算法 斐波那契数列 空间复杂度时间复杂度? 能否递归实现
ts
// 输入一个数 返回对应的斐波那契数列中对应下标的值
// 1,1,2,3,5,8,13,21,34.....
function foo(index) {
const list = [1, 1]
for (let i = 2; i <= index; i++) {
list.push(list.at(-1) + list.at(-2))
}
return list.at(-1)
}
console.log(foo(3))
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
三面
2023-04-03 16:00
- 组件库
- hash table
- 算法
- 堆栈
- 快排
- 复杂度
- react-starport