意外复活
之后又有新进展, 参考这篇
更新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路由的区别, 在浏览器有什么影响
总结: 我只答上来了一部分, 很多技术还停留在只会用的阶段, 没有深入研究, 导致了这次的惨痛失败, 唉, 还是自己技术不够, 过一阵子回学校再好好研究一下!!!!! (ー`´ー)