趁年假整理近10年來面試心得,雖然網路很多資料,但我想
做個目錄,可以很有系統地讀下來,內容不夠好還請各位指點~
建議讀有眾多連接的BLOG版本: http://wp.me/p6LfX3-20
< 軟體工程師求職 (3)面試準備>
Coding Test
很多公司有coding test,進行方式有線上測驗(例如Coditity),
電話+共享文件,或現場白板寫code。聽說畢業越久對這種考法越
生疏,練習方式就是瘋狂解題。
台灣公司通常簡單點,可用 Coditity 練習。
美商大公司 (如Google, Amazon, …) 需要複習資料結構 (prefix tree,
hash table, heap, …)及演算法 (divide and conquere, greedy,
dynamic programming, recursive backtracking),配合參考書和大量刷
題。若像我一樣擅長C語言的,一定要多練C++ STL的各種資料結構及演算
法 (sort, vector, set, map, list, …),對解題很有幫助。
題庫:
1 LeeCode: 蒐集美國各大公司考古題,很多人建議完兩輪才去投Google
2 Coditity for Programmer: 有很多練習題
3 TopCoder: 類似LeeCode
參考書
1 Cracking the Coding Interview:又稱CC150,這本是面試者人手必備
一本的書,如果要找tier 1的大公司,一定要看這本書
2 Leetcode的電子書Clean Code Handbook,強烈建議一定要買!裡面列出
的題目都很有代表性,範例程式碼也很精簡易懂
其他參考資料
1 GeeksForGeeks 有很多面試題目的答案分享,一定要看!
2 CareerCup 這是CC150作者所設立的網站,可以找到最近別人po的面試題目
3 網友整理的LeeCode解答
美式面試
通常面試一開始先請你自我介紹。依美式面試風格,自我介紹要簡短
(約1-2分鐘)但點出重點,讓面試官從中抽問題問。
問題可能很簡單,例如 「Did you have experience on xxx?" 不要只
回答 「yes I did."。應該要具體描述:
1 Yes I did.
2 在哪一份工作,設計甚麼產品時用到這經驗
3 這經驗為產品做出甚麼貢獻
4 帶到其他你想強調但面試官沒問題的經驗
5 問的是簡單問題,回答卻是完整故事。台灣面試通常詢問較仔細,但掌握這技巧可讓面試官印象深刻。
你有甚麼想瞭解的
面試之後,若表現不差會有機會反問面試官問題,建議先說明問題的
動機再敘述問題,免得給面試官誤會,產生不好結果。
基本問題:
1 具體工作內容
2 和其他team及同事如何合作:瞭解team在公司的定位,及這職缺在team的定位
3 出差地點,頻率
4 加班強度
5 薪資福利,年假天數,年終獎金等
如果面試官是直屬上司:
1 管理風格
2 這是個替代性職位,還是新設的職位?
3 在什麼情況下你會給下屬升職加薪?
4 你最看重的是下屬的哪些特質、品格、能力?
5 一般你會怎樣挖掘下屬的潛力?
以下問題我覺得非常棒,展現高度積極並瞭解主管取向:
1 我知道這個工作的內容 (此處填入工作職責)。理想的情況下,您希望我
第一年達成什麼樣的任務呢?
2 從您目前對我的認識,您認為我有多適合這個團隊?
3 我知道貴公司的員工最近曾經在 (此處填入特定名稱) 會議做過簡報,
這個工作常會有這種機會嗎?
4 您認為怎樣才是理想的員工?
(參考:四個問題讓面試官加深印象)
(參考:好工作和好老闆是怎麼選出來的)
薪資談判:
錄取後有機會談薪水,可參當地國家的薪資水平:
http://www.payscale.com/rccountries.aspx
例如:
TW: sw engineer TWD 728k → senior TWD 1,034k
CN: sw engineer CNY 178k → senior CNY 286k
HK: sw engineer HKD 275k
US: sw engineer USD 80k → senior USD 106k → principal USD 128k
Google:sw engineer USD 111k → senior USD 151k
附註
想去美國應徵軟體工程師可參考:
1 美國軟體工程師攻略(一)一些想法,寫在文章之前
2 美國軟體工程師攻略(二)- 出國前的準備
3 美國軟體工程師攻略(三)怎麼拿到面試機會?