当前位置: 首页 > 面试经验 >

腾讯云智|暑期实习|前端KPI面

优质
小牛编辑
73浏览
2023-05-25

腾讯云智|暑期实习|前端KPI面

  • 时长:66min
  • 讲讲你认为HTML中重要的知识,讲了html语义化标签和块级元素行内元素
  • 讲讲你认为CSS中重要的知识,讲了CSS选择器的优先级,CSS盒子模型,BFC
  • 讲讲你认为JS中重要的知识,讲了深浅拷贝,事件机制,事件循环,原型和原型链
  • 讲讲httphttps,把http0.9-3https作用,加密过程,对称非对称加密一起讲了,问了什么是队头阻塞
  • 讲讲http缓存,强制/协商缓存,共享/私有缓存都讲了一遍,顺带着讲了浏览器渲染
  • 讲讲浏览器输入url后发生了什么,回流和重绘
  • 讲讲vue2vue3的区别,顺带着详细讲了vue的响应式原理和发布订阅
  • 讲讲对webpack的了解
  • 手撕题,把下图一转化为下图2,难点是数组那块的处理
	  let res = {};
      let question1 = (obj,path) => {
        // 这里一般是数组里面的数字,如果传进来的是基本数据类型的数,就取路径直接加进结果
        if(!(obj instanceof Object)){
          res[path.slice().join('')] = obj;
        }
        // 遍历对象的键和值
        Object.entries(obj).forEach(([key,value]) => {
          // 如果值是数组
            if(value instanceof Array){
              path.push(key);
              // 遍历数组
              value.forEach((item,index) => {
                // 把索引加入路径
                path.push(`[${index}]`);
                // 如果是非数字,要加上.
                if(item instanceof Object){
                  path.push('.');
                }
                // 递归调用
                question1(item,path)
                path.pop() 
              })
              // 如果是对象,加上key和.后继续递归回溯
            } else if(value instanceof Object){
              path.push(key + '.');
              question1(value,path);
              path.pop()
          } else {
            // 基本数据类型直接加入结果数组
            path.push(key);
            res[path.slice().join('')] = value;
          }
          path.pop()
        })
        return res
      }
      console.log(question1(obj,[]))
  • 总结:为什么说是kpi面呢,因为面试官只让我自己输出,他却不提出问题,并且途中时不时还接电话,以及开部门的小组会议,我就知道是kpi面没跑了,果然面完两周多都没回应了,索性就发出来吧

 类似资料: