记录一次失败的字节一面

194 阅读2分钟

我是一个月之前的接到hr的电话,让我投简历。因为之前有跳槽的想法就想着试试。后来简历通过了,hr说可以约面试,时间可以往后推最多一个月。我想着字节还要考算法,而我平时这方面用得少,得多花点时间准备,果断约了一个月之后进行面试。这次面试官问的都是些基础题,最后还是挂在了算法上。

首先是自我介绍,这里我也没准备好,有点紧张了。

  1. js的几种基本数据类型,Symbol是干嘛的
  2. let的暂时性死区的原理
  3. 出了一个题判断打印出的值关于,var let this 指向的,如果把下面函数里面的var换成let是什么情况(这里a声明了变量但是没赋值打印的是undefined我不知道哪根筋搭错了说是null)
var a=20
function test(){
  console.log(a)
  var a = 5
  a=20
  console.log(this.a)
  console.log(a)
}()

4.判断变量类型有哪些方法,他们有啥区别(typeof instanceof),手写instanceof(这里递归的时候忘记return了)

function Instanceof(a,b){
    let A = a
    if( A === null) return false
    if(A.__proto__ === b.prototype){
        return true
    } else {
      A = a.__proto__
      return Instanceof(A,b)  
    }
    
}
// 测试用例
function A() {}
function B() {}
function C() {}
B.prototype = new A();
const b = new B();
const c = new C();
console.log(Instanceof(b, A));
console.log(Instanceof(C, A));
console.log(Instanceof(b, B));
const d = {};
console.log(Instanceof(d, Object));
  1. 说一下你对闭包的理解,以及他用在什么场合
  2. 出了一道题判断输出,关于js事件循环的
  3. css的盒模型,出了一道题改变某个图片的宽度为300px,我一看就说这不是最高优先级么,没答出来,后来面试官说可以用max-width,或者利用盒模型的原理
  <img src="" style="width:400 !important">
  1. 说一下http的缓存策略,不缓存的话应该怎么做,两种协商缓存返回的状态码是什么
  2. vue的双向绑定原理
  3. 对vue-router了解不?
  4. get请求和post请求有什么区别,说到请求参数太大的话怎么解决,我说了一下类似大文件上传的解决办法也不知道对不对
  5. 最后出了一道算法题,区间合并的,我之前看过答题思路的,现场居然没写出来