2018腾讯视频春招前端面试惨痛经历

….

一首凉凉送给自己

经历

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

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

试题
j

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// 自己整理了一下答案, 又重新把柯里化给看了一下发现并不是很难...总共才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分钟, 之后给面试官发了过去, 然后开始面试…..


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

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

越来越多的平台(微信公众平台,新浪微博,简书,百度打赏等)支持打赏功能,付费阅读时代越来越近,特此增加了打赏功能,支持微信打赏和支付宝打赏。坚持原创技术分享,您的支持将鼓励我继续创作!