面試問答
現場白板題兩體:1. 找出兩個 array 共同最大的數字 2. 在一個 graph 中找出最大數字
第一題:網路很多解法...
第一階段:HR Phone Call
第二階段:線上測試 Coderbyte 四題
1. Valid parenth
esis
2. LRU cache
3. Dynamic Programming (望了哪一題但是要用 DP 解)
4. Max Heap
這些題目Leetcode 都找得到但是 Coderbyte 會改題目,比如說 Valid parenthesis 是隨機字串夾帶 "(" 和這個 ")" ,因此你只需要判斷 () 不需要判斷 [], {}。所以最重要是理解解題思路。
第三階段:現場面試三小時
現場面試分三回,各一個小時
1. 白板題兩體 (兩位面試官分別各出一題)
2. Manager 聊過去經驗,針對過去經驗提問
3. HR 總結,聊天,當下不會告訴你面試結果,2個禮拜後通知
面試問答
現場白板題兩體:1. 找出兩個 array 共同最大的數字 2. 在一個 graph 中找出最大數字
第一題:網路很多解法,這裏不敘述。我的解題方法用 python 的 set 做 intersection 之後用max找出最大數字。
第二題:BFS,DFS 就可以找到的答案。可惜太緊張把 graph 看錯看成 binary tree,面試官提示說是 graph 不用 preorder 才頓悟。BFS 解到一半時間到,非常可惜。
Manager 針對過去經歷問問題
針對過去經歷提問,Manager會深入瞭解,因此要有所準備。比如某某功能/架構是你開發的,那麼你當初是怎麼做到的,怎麼設定,設定是什麼,會根據你的情景提問你可能會遇到的問題,有沒有遇到過?有遇到的話怎麼解?都如實回答就好,不是你負責就說不是你負責。問完問題Manager會介紹公司以及職缺。
面試建議
面試感想是,面試過程儘量根面試官討論溝通,不要自己埋頭解。可以問類似的問題比如方向對不對,對的話先用暴力解,解完之後解釋解題思路,時間複雜度,然後再慢慢優化。這點不得不提面試官們非常友善,其實他們也會看你解太久主動給你 tips。可以感受得到他們注重的是你的解題邏輯,溝通技巧,對不對不是重點。對資料結構熟悉的人非常簡單。leetcode經典題目刷一刷理解解題思路。千萬不要緊張。因爲我就是太緊張,第一題花了一點時間,雖然有找出最佳解,但是第二題又腦袋當機,竟然把graph看成binary tree。面試前一天好好睡覺。