原文:syean.cn/2018/12/27/…javascript
2018年人生中最重要的事情之一就是找工做啦,从6月份初断断续续开始复习,7月内推开始,9月大批量的笔试、面试,9月初拿到了第一个offer,10月初拿到了本身比较满意的offer,也是历经了快4个月。
简历投的主要是杭州、上海的一些大厂们,分享一些面试的问题吧,考到烂的如输入url发生了什么、闭包是什么,虚拟dom等,vue双向绑定一类就不放出来了。php
不过这些面试题虽然常见,可是仍是要用心掌握,由于考到的频率确实蛮高的。因为当时并没怎么接触nodejs和react ,因此这方面的题目基本没有。我是个懒人,因此仅有一些提供了一下思路~~css
vue中如下代码会出发几回update生命周期(1次)前端
this.a=1
//代码
this.a=3;
复制代码
vue中如下代码会出发几回update生命周期(2次)vue
setTimout(()=>{
this.a=1
},0)
//代码
this.a=3;
复制代码
红宝书(javascript高级程序设计必定要好好看呀~~~ )java
function test(){
var a= [...arguments][0];
return function(){
var b = [...arguments][0];
if(b>0){
return a+b;
}else{
return a-b
}
}
}
复制代码
coder.sleep().print1().print2()
class Coder{
sleep(){
console.log("sleep");
return this;//链式调用的关键
}
print1(){
console.log(1);
return this;//链式调用的关键
}
print2(){
console.log(2);
return this;//链式调用的关键
}
}
复制代码
class Coder {
sleep(){
var date = new Date();
while((new Date() - date) < 3000) {
//经过这里进行阻塞sleep
}
console.log("sleep");
return this;//链式调用的关键
}
print1(){
console.log(1);
return this;//链式调用的关键
}
print2(){
console.log(2);
return this;//链式调用的关键
}
}
var b = new Coder()
b.sleep().print1().print2()
复制代码
var date = new Date();
setTimeout(()=>{
console.log(new Date()-date)
},1000)
while((new Date()-date)<3000){
}
//输出3000+的值
复制代码
事件代理考察:(百度) 若是有一个页面,有许多a标签,在上面写点击事件的事件代理怎么写。 若是a标签里面也有不少子节点,点击了这些子节点也要实现上面效果?
思路:循环判断e.target.parentNode.tagName==="a"node
跳台阶算法(美团)mysql
火车运煤算法(美团)react
[1,[2],[3,[4]]]这种无限嵌套数组 变成[1,2,3,4]怎么作(58)jquery
操做系统的功能(百度)
页面置换的算法有哪些(bilibili)
前端安全(xss,csrf)(几乎每一个大厂都问到了)
AES和MD5的区别
git的stage,三个区是什么(工做区,暂存区,版本库)(阿里) 若是要写实现一个抢红包页面,如何防止有人恶意一直玩抢红包或者发包模拟抢红包请求(网易)
我的思路:
一、判断一段时间内同一个IP的请求数量
二、设置验证码
三、看页面访问顺序,通常有一个入口页面再是抢红包页面。恶意发包多是直接的页面请求
四、达到必定次数或者红包额度,直接丢包
js和c语言编译的差异
有一个用户登陆的表单,你会如何作使达到安全。(美团)
etag的原理(文件名时间hash)(美团)
一个微博api,提供top10的数据,可是每次去请求并不必定更新,因此每次这样请求返回数据会浪费流量,但愿有一个api能够返回是否更新,要怎么操做。(美团) 思路:将数据进行hash,每次判断一下和上一次的hash值。
jquery和vue的区别(美团)
一、引到本身会的:好比问php的继承,讲将js的继承,问mysql的优化手段时,讲mongodb的优化手段
二、讲大概思路
三、请面试官给提示
四、不会就跳过,不要耽搁太多
复制代码
祝你们都能拿到心仪的offer,哟呼~~