此博文有毒,慎点!!!
阳光夹杂着微风渗进了屋内,轻抚着坐在工位上的我,而此时的我是心怀愧疚的,因为我正在写着一篇不那么像技术文章的技术文章,而且还变成了赤裸裸的标题党......对于此,我只能恳求您暂时收起板砖,容我慢慢道来,向您诉说这文章由来的前因,说完了,再拍我也不迟 。
事情得追溯到去年的12月份,那时候的我还是一个懵懂无知的小前端(其实现在也是)。一次偶然的机会,让我收到了来自百度的面试邀约(详情请看我另一篇博文:实习offer到手记),很幸运的通过了面试,拿到了第一份实习offer。来到百度,感叹大公司开发流程的同时也见到了许许多多的大神,从这方面来说也算是不枉此行了。
时光如梭,转眼间三个月过去......
因为个人原因毕业不打算留在百度...所以早早的打起了小算盘,投了AT两家。T内推期间接到了一次电话,和面试官聊了几句,他们打算要我过去写CSS,可我是想往JavaScript方向发展的,最终因为实际和需求不符不了了之了。可悲的是到现在也没再接到T的电话...估计简历已经在简历池泡腐囊了...
A很荣幸的接到了阿里云数加团队的电话,面试官都很nice,不过三面面试官问了我很多操作系统的问题...不明觉厉,没学过操作系统,三面结束两周后简历就自动释放了貌似(具体我也不知道,可能直接悲剧,也可能是自动释放,反正是挂了),好玩的是我的简历在被数加拒了之后立马被另一个部门捞了起来,这个过程我不知道,我看到的状态仍然是面试中还以为简历在数加那呢,直到前几天才从内推人那得知,简历已经在另一个部门那了(这个部门一直没联系我,阿里的简历估计要晒成干了)...亲身体会到阿里是个拥抱变化的地方。
我的AT内推经历就是那么“曲折”。一个要在池子里泡烂了,一个要被某部门晒成干了...
划重点!!!此时此刻...恳求大佬把我收了...暑假实习哪里都行,地点不限,时间可以实习三个月。简历可以看我之前的博文,那是我真正的积累。
您要是对我感兴趣,请私信我或是戳下面的邮箱联系我,我可以发给您我的简历给您我的联系方式,跪谢:jztan1996@gmail.com
(本文三天后删除)
下面是最近看到的比较有意思的面试题,由于每道题拿出来都能单独写一篇博文的缘故,这里就不加赘述了...咱们可以评论里见
一道容易被人轻视的面试题
function Foo() {
getName = function () { alert (1); };
return this;
}
Foo.getName = function () { alert (2);};
Foo.prototype.getName = function () { alert (3);};
var getName = function () { alert (4);};
function getName() { alert (5);}
//请写出以下输出结果:
Foo.getName();
getName();
Foo().getName();
getName();
new Foo.getName();
new Foo().getName();
new new Foo().getName();
闭包小题
for(var i = 0; i < 5; i++) {
console.log(i);
}
for(var i = 0; i < 5; i++) {
setTimeout(function() {
console.log(i);
}, 1000 * i);
}
for(var i = 0; i < 5; i++) {
(function(i) {
setTimeout(function() {
console.log(i);
}, i * 1000);
})(i);
}
for(var i = 0; i < 5; i++) {
(function() {
setTimeout(function() {
console.log(i);
}, i * 1000);
})(i);
}
for(var i = 0; i < 5; i++) {
setTimeout((function(i) {
console.log(i);
})(i), i * 1000);
}
setTimeout(function() {
console.log(1)
}, 0);
new Promise(function executor(resolve) {
console.log(2);
for( var i=0 ; i<10000 ; i++ ) {
i == 9999 && resolve();
}
console.log(3);
}).then(function() {
console.log(4);
});
console.log(5);
函数的隐式转换
function fn() {
return 20;
}
console.log(fn + 10); // 输出结果是多少
function fn() {
return 20;
}
fn.toString = function() {
return 10;
}
console.log(fn + 10); // 输出结果是多少?
function fn() {
return 20;
}
fn.toString = function() {
return 10;
}
fn.valueOf = function() {
return 5;
}
console.log(fn + 10); // 输出结果是多少?
函数防抖和函数节流(ES6)
//函数节流
const throttle = (fun, delay) => {
let last = null;
return () => {
const now = + new Date();
if (now - last > delay) {
fun();
last = now;
}
}
}
//实例
const throttleExample = throttle(() => console.log(1), 1000);
//调用
throttleExample();
throttleExample();
throttleExample();
//函数防抖
cosnt debouce = (fun, delay) => {
let timer = null;
return () => {
clearTimeout(timer);
timer = setTimeout(() => {
fun();
}, delay);
}
}
//实例
const debouceExample = debouce(() => console.log(1), 1000);
//调用
debouceExample();
debouceExample();
debouceExample();