上來甩了4道演算法題,演算法確實薄弱,整蒙了:
筆試部分
演算法題1:
leetcode 283:
演算法實現:
var
movezeroes
=function
(nums)
}for
(let i=
0;i)return nums;
};
演算法題2:leetcode 617:
演算法實現:
var
mergetrees
=function
(t1, t2)
else
if(t2 ===
null
)else
};
演算法題3:頁面page的主函式入口在page.js,以下為其依賴樹。
為了效能要求我們頁面會組裝乙個combo請求:每個js檔案都是用自執行匿名函式包裹起來,伺服器端按順序把js檔案合併後返回。
請設計gen_url(requiretree),返回值會如上所示的combo url。
requiretree的資料結構如下頁。
requiretree =]}
]},]
},]}
]}
演算法實現:
(待填)
演算法題4:
leetcode 503:
演算法實現:
var
nextgreaterelements
=function
(nums)
if(nums.length ===1)
nums.
foreach
((item, index)
=>})
var newnums =
;var loop = nums.
concat
(nums)
;var length = loop.length;
for(
let i=
0; i
)for
(let j=i+
1; j
}return newnums;
};
面試部分
1. 請講一講http請求中get
和post
的區別
除此之外,還有一些區別:
2. 了解過cookie與安全相關的屬性嗎?
詳細的解答,包括其他的瀏覽器儲存(localstorage、sessionstorage、indexeddb等)移步:
cookie與安全相關的屬性:
cookie的缺陷:
3. csrf(跨站請求偽造)
這個問題可以說是本次面試的敗筆,本來是必會的知識,卻在這裡栽了跟頭。
跨站請求偽造在什麼情況下可能發生呢?
從上圖可以看出,要完成一次csrf攻擊,受害者必須依次完成兩個步驟:
登入受信任**a,並在本地生成cookie。
在不登出a的情況下,訪問危險**b。
看到這裡,你也許會說:「如果我不滿足以上兩個條件中的乙個,我就不會受到csrf的攻擊」。是的,確實如此,但你不能保證以下情況不會發生:
你不能保證你登入了乙個**後,不再開啟乙個tab頁面並訪問另外的**。
你不能保證你關閉瀏覽器了後,你本地的cookie立刻過期,你上次的會話已經結束。(事實上,關閉瀏覽器不能結束乙個會話,但大多數人都會錯誤的認為關閉瀏覽器就等於退出登入/結束會話了…)
上圖中所謂的攻擊**,可能是乙個存在其他漏洞的可信任的經常被人訪問的**。
如何防護csrf?
4. 在你的專案中,你覺得最有意思的乙個專案是哪個?
這個問題擺明了就是面試官想考我對專案的思考,然而我對專案實在沒什麼思考的,專案做的不好的地方自己感覺只有兩點:
沒有做特別多的安全防護,只簡單防護了xss(跨站指令碼攻擊)
沒有很好的組織**的架構(檔案分類較亂,且路由組織存在重複)
面試官從第乙個安全防護引出了cookie與安全相關的屬性和csrf兩個問題,然後我只答出的cookie的部分安全屬性。
安全部分後端其實是做了的,使用了token驗證請求是否合法和登入態保持,但是前端在設計的過程中由於團隊溝通問題,導致後端設計了token,而前端在完成了大部分之後才知道有token,最終前端只能通過設定cookie過期時間來做登入態保持,沒有辦法對請求作出驗證。
總結準備不充分只最主要的問題了,當時面試官打**來問什麼時候可以面試的時候一時嘴快說了今天就行,沒有做足準備,過不了也很正常。最近學業實在繁忙,課程作業考試壓力挺大的。也就這樣吧,只能繼續努力了。
人生如逆旅,我亦是行人。
騰訊實習生一面
在沒有任何準備的情況下,僥倖通過筆試,但還是在一面中暴露自己,打擊 特別簡單的基礎概念題。1。程序和執行緒 說了兩句,面試官問,還有嗎?2。static和const static 記了點,說的稍微多。const只知道定義常量。又是 還有嗎 3。tcp和udp 只說了簡單的幾句,可靠不可靠什麼的。問 ...
騰訊實習生一面
被晾了一天,昨晚四處打聽別人面試被問的問題,感覺很多都沒什麼把握,弄得自己都有點緊張了。今天竟然是個mm面試,挺和藹的,我說什麼她都嗯嗯嗯嗯嗯,也不知道有沒有說對。順便說一下,她也是最近這一階段以來唯一乙個沒在我做自我介紹的時候打斷我並讓我說完的面試官。面試官mm先是順著簡歷問了些問題。作業系統,程...
7 11 騰訊實習生電面題目
好久不做類似於acm這種腦力的程式設計題,腦子都鏽了,今天感覺面的一塌糊塗,感覺要去刷題了,先定個小目標,把leetcode刷一刷 leetcode題目。題目描述 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這...