腾讯云智(24届日常实习)前端一面

一面 50min

  1. 自我介绍
  2. Bootstrap 如何实现栅格布局?
  3. Less/Sass 有什么区别?
  4. 两边宽高不变中间自适应如何实现?
  5. let var const 的区别?let const 被挂载到哪里?
  6. 讲一下Vue2 到 Vue3 发生了哪些改变?
  7. 讲一下 ES6 新增的 API
  8. Promise 用来干什么?
  9. 说一下Promise.all() promise.race()
  10. 手写题两道
// 拍平数组只要数字或者字符串数字并去重排序
// 示列: [1, 2, '1', [[3, '2', undefined, 'a', [3, '3']]], null] —> [1, 2, 3]

let arr = [1, 2, '1', [[3, '2', undefined, 'a', [3, '3']]], null]
function flatten(arr) {
  let res = [];
  arr.forEach(item => {
    if (Array.isArray(item)) {
      let resTemp = flatten(item);
      res = res.concat(resTemp)
    } else {

      const type = typeof item;

      if (type === 'string' || type === 'number') {
        let NumberFrom = Number(item)
        if (!Number.isNaN(NumberFrom)) {
          res = res.concat(NumberFrom)
        }
      }
    }
  });
  return res;
}
let arrTemp = flatten(arr)
let arrTem1 = [...new Set(arrTemp)]
let res = arrTem1.sort()
console.log(res);

// 找到字符串中出现次数最多的字符
// 示列:
// str = 'aabbcccddd'
// —> { c: 3, d: 3 }

let str = 'aabbcccddd'
let obj = {}
let max = -1
let map = new Map()
function findCharMax(str) {
  let length = str.length
  for (let i = 0; i < length; i++) {
    let item = str[i]
    if (map.get(item) == null) {
      map.set(item, 1)
    } else {
      let cnt = map.get(item)
      map.set(item, ++cnt)
    }
  }
  map.forEach((val, key, map) => {
    if (val >= max) {
      max = val
    }
  })
  map.forEach((val, key, map) => {
    if (val === max) {
      // error obj.key=val
      obj[key] = val
    }
  })
}
findCharMax(str)
console.log(obj);

11.反问应该如果深入学习前端

12.部门主要是做 3D 的 Three.js

13.有老的JQ项目

#我的实习求职记录#
全部评论

相关推荐

1 5 评论
分享
牛客网
牛客企业服务