原文: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,喲呼~~