2018腾讯视频春招提前批前端面试

意外复活

之后又有新进展, 参考这篇
更新4月23日 https://blog.csdn.net/c_kite/article/details/80045020

经历

投的是腾讯视频的春招, 安排在了3月21号的晚上视频面的

到了预约的时间加了我的qq, 我迫不及待的打开了视频通话, 然后马上就挂断了…. 先丢给我一套题先做一做…, 下面是题目.

试题
j
之后….做的很惨, 第二大题的2, 3都错了… 第二大题的3. 是柯里化

// 自己整理了一下答案, 又重新把柯里化给看了一下发现并不是很难...总共才12行代码
// 如果说的有什么不对的地方还请各位大佬指正
一.
    1. undefined // 第一题就很简单了, 主要是考预编译, 在立即执行函数里的myvar变量会在预编译的时候绑到作用域上, 又由于没有形参, 因此myvar在没执行到赋值那里之前是undefined, 因此输出undefined
    2. 20, ['oscar'] // 这道题最简单, 因为award是数组, jack和rose用的是一个地址, 在new的时候并不会为这个数组申请两个内存空间

二. 
    1. // 当初我的脑袋是吞粪了吗... 为什么要用__proto__
    Number.prototype.formatNum = function() {
      const str = this.toString();
      const reg = /(?=(\B)(\d{3})+$)/g
      return str.replace(reg, ',')
    }

    var num = 1234567;
    console.log(num.formatNum())
    // 正则的意思: 从右边开始往左匹配, 不能是单词边界匹配3个数, 最后replace一下

    2. // 唉, 百度了一下, 真的不难, 自己还需修炼
    let flag = 1;
    console.log = (function(log){
      return function(str)
      {
          log.call(console, `${flag++}:${str}`);
      }
    })(console.log);

    3. // 重新看了柯里化之后发现并没有想象的那么难, 总共也就是12行代码...
      let curry = function(first) {
      let sum = Math.pow(first, 2)
      let multi = function (parma) {
        sum += Math.pow(parma, 2)
        multi.value = sum
        return multi;
      }
      multi.value = sum
      return multi;
    }

    console.log(curry(1)(2).value)

三.

笔试了40分钟, 之后给面试官发了过去, 然后开始面试…..


说一下websocket在前端怎么用的, 以及如何兼容老浏览器, 像webqq这种, 如何做到的
虚拟Dom是啥
为什么虚拟DOM比直接操作DOM快
说一下MVVM
vue是怎么实现mvvm的
vue双向绑定怎么做到的
http缓存都有哪些
Etag服务器是怎么生成的
webpack和gulp的区别都有哪些, 分别适用于什么样的情形
this说一下
跨域
Generator, Promise, async这三个的区别的是什么
history路由和hash路由的区别, 在浏览器有什么影响

总结: 我只答上来了一部分, 很多技术还停留在只会用的阶段, 没有深入研究, 导致了这次的惨痛失败, 唉, 还是自己技术不够, 过一阵子回学校再好好研究一下!!!!! (ー`´ー)

猜你喜欢

转载自blog.csdn.net/c_kite/article/details/79646035