準備後端面試用的,厚度有兩指節,有點嚇人,採用一天翻幾頁的方法來讀。
書籍:提升程式設計師的面試力:189道面試題目與解答 第六版 修訂版
序
造訪網站 >>> https://www.crackingthecodinginterview.com
不是完美解決問題,是回答出“優於其他面試者”的解答
需要為“真正”的問題做準備,重點是開發一個新的演算法,而不是記住現有的問題。
面試流程
測試解決問題的能力 >>> 解決以前沒遇過的演算法/程式碼問題
進入公司角度思維,演算法面試題目是一個篩選優秀人才的折衷方案。
- 錯過部分面試表現不好的優秀人才是可以接受的,或許更關注的是面試表現得很好,但實際上沒那麼優秀的人才,誤判了優秀的人才。
- 解決問題的技巧是有價值的
- 基本資料結構和演算法知識是有用的,可以在需要用的時候再查詢,但前提是你要知道這些的存在,絕大多數的考驗解決能力的問題,很難不講到資料結構與演算法,很容易就形成經典的問題集。
- 白板題讓你專注在最重要的事情上,與問題真正相關的函式,與面試官進行交流,解釋思考過程。
心得:經過面試後,其實在工作日常上,蠻常會想起面試問到的題目,有些是真的在實務上用到的觀念或是技術,就覺得作為篩選同事的標準來說,面試題目的準備也是很重要的。
也能理解這些流程帶來的好處,想到之前看泰瑞的影片【科技公司Offer拿到手軟】軟體工程師在北美找工作/跳槽的終極武器 |刷題是什麼?
有提到類似的概念,會通過這種面試的人可以粗略分為兩種人。
一種是天才,可以很輕鬆的秒殺這些題目,提出最佳解。
另一種就是努力型的普通人,透過花時間去準備,回答出相對佳的解答,同時也代表著雖然不是天才,但願意花時間準備,展現出學習能力跟追求成功的態度,也是一種人格特質的篩選。
幕後
大多數的面試都蠻相似,篩選面試(可能是電話、技術前測),再來是現場面試,介紹了Microsoft、Amazon、Google、Apple、Facebook、Palantir的面試流程,意外看到Palantir會用HackerRank面試。