杭州 无码科技
笔试
2023-07-03 14:00
题 1 写一个节流函数 (限制一个函数在一定时间内只执行一次)
js
function throttle(fn, wait) {
let time
if (time) {
return
}
return () => {
time = setTimeout(() => {
fn()
time = null
}, wait)
}
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
题 2 代码实现数组扁平化
js
// 输入:list = [1, [2, [3, 4]]]
// 输出:[1,2,3,4]
function flat(arr) {
const result = []
arr.forEach(item => {
if (Array.isArray(item)) {
result.push(...flat(item))
} else {
result.push(item)
}
})
return result
}
console.log(flat([1, [2, [3, 4]]]))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
题 3 请正确提取文本中的地名
js
// const text1 = "导航去杭州星澜里大厦"
// const text2 = "开始导航到杭州星澜里大厦"
function getAddress(str) {
// 考察正则 题出的有问题
}
getAddress('导航去杭州星澜里大厦')
getAddress('开始导航到杭州星澜里大厦')
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
- $ 结尾
- ()表示什么 标记一个子表达式的开始和结束位置,
- 不区分大小写 i
题 4
js
// 输入一个数组 nums,对于其中每个元素 nums[i],请统计数组中比它小的所有数字的数目。
// 以数组形式返回答案,不能用 sort 和 filter。
// 输入:nums = [8,1,2,2,3]
// 输出:[4,0,1,1,3]
function getEl(nums) {
function utils(arr, target) {
let count = 0
arr.forEach(item => {
if (item < target) {
count++
}
})
return count
}
const map = new Map()
for (let i = 0; i < nums.length; i++) {
const count = utils(nums, nums[i])
map.set(Symbol('*'), count)
}
console.log([...map.values()])
return [...map.values()]
}
getEl([8, 1, 2, 2, 3])
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
题 5 判断一组数字是否连续
js
// 当出现连续数字的时候以‘-’输出
// 输入:[1, 2, 3, 4, 6, 8, 9, 10]
// 输出: ["1-4", 6, "8-10"]
function foo(nums) {
const result = []
let arr = []
let temp = false
for (let i = 0; i < nums.length; i++) {
if (nums[i] + 1 === nums[i + 1]) {
temp = true
arr.push(nums[i])
} else {
if (temp) {
temp = false
arr.push(nums[i])
result.push(`${arr[0]}-${arr.at(-1)}`)
} else {
result.push(nums[i])
arr = []
}
}
}
console.log(result)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
一面
2023-07-04 14:00
- 做垂直居中有哪几种方案
- flex 不使用 align-items: center 如何做垂直居中
- margin-top: 50% 是相对于什么的50%
- css 两个 div 嵌套,子 div 设置 margin-top:50px 没有生效 为什么
- SSR 页面的请求是怎样的
- 为什么 SSR 的 SEO 会更友好
- 又问了昨天笔试的时候关于正则留下的问题,幸好笔试完了就立马去搜了
反问
公司规模 30 人+ 前端 5 人 研发 20 人+
三条业务线 小程序 一半 react
二面
2023-07-05 16:00
唠的都很好 最后问期望薪资的时候感觉说高了 HR倒吸一口凉气
面完半个点就通知挂了,问原因说是风格不契合😅