Skip to content

杭州 无码科技 ​

笔试 ​

2023-07-03 14:00

题 1 写一个节流函数 (限制一个函数在一定时间内只执行一次) ​

js
function throttle(fn, wait) {
  let time
  if (time) {
    return
  }
  return () => {
    time = setTimeout(() => {
      fn()
      time = null
    }, wait)
  }
}

题 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]]]))

题 3 请正确提取文本中的地名 ​

js
// const text1 = "导航去杭州星澜里大厦"
// const text2 = "开始导航到杭州星澜里大厦"
function getAddress(str) {
  // 考察正则 题出的有问题
}

getAddress('导航去杭州星澜里大厦')
getAddress('开始导航到杭州星澜里大厦')
  • $ 结尾
  • ()表示什么 标记一个子表达式的开始和结束位置,
  • 不区分大小写 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])

题 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)
}

一面 ​

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倒吸一口凉气

面完半个点就通知挂了,问原因说是风格不契合😅

Released under the MIT License.