程式設計師面試必備書單
點選上方“程式人生”,選擇“置頂公眾號”
第一時間關注程式猿(媛)身邊的故事
圖片源自:《The Boss Baby》
(溫馨提示:文末有驚喜)
參與文末互動,即有機會獲得非同步圖書。“世上最快樂的事,莫過於為理想奮鬥”。一個滿意的工作,便是為理想奮鬥的開始。
——蘇格拉底
對於很多人來說,找到一份工作不是問題,但找到一個合適而滿意的工作,卻不那麼簡單。談到“合適”和“滿意”,就必須從職業規劃說起。
每個人的性格、經歷和愛好截然不同,理想也不盡相同。理想無法用價值衡量,更無法權衡高低貴賤,每個個體的夢想都是值得尊敬並值得奮鬥一生的。做一份工作,實際就是追尋夢想的過程,而為了完成夢想,必須有一個長期規劃,從而指導我們選擇工作。它是擇業過程中最本質和最原始的參考借鑑。
為此,小編為你精選一份程式設計師面試書單,分為職業規劃、程式設計技能兩部分,適合剛畢業的大學生、正準備換工作的程式設計師們,涵蓋演算法工程師、Java工程師、測試、產品經理等多個領域。
方向篇
職業生涯規劃
《軟技能 程式碼之外的生存指南》
約翰 Z.森梅茲 著
這是一本真正從“人”(而非技術也非管理)的角度關注軟體開發人員自身發展的書。書中論述的內容既涉及生活習慣,又包括思維方式,凸顯技術中“人”的因素,全面講解軟體行業從業人員所需知道的所有“軟技能”。
對大多數軟體開發人員而言,編碼才是有趣的,而如何與客戶、同事以及經理們打交道,如何保證工作效率,如何保障財務安全,如何保持自己的體形,如何找到真愛……這些則統統被視為畏途。本書恰恰可以在這些方面幫到你!
《程式碼整潔之道》
馬丁 著
細節之中自有天地,整潔成就卓越程式碼。儘管糟糕的程式碼也能執行,但如果程式碼不整潔,會使整個開發團隊泥足深陷,寫得不好的程式碼每年都要耗費難以計數的時間和資源。然而這種情況並非無法避免。。
這本書是軟體工程大師馬丁經典力作,由網際網路產品與運營專家韓磊獻譯,本書榮獲第13屆Jolt大獎。
從《程式碼整潔之道》中可以學到:好程式碼和糟糕的程式碼之間的區別:如何編寫好程式碼,如何將糟糕的程式碼轉化為好程式碼:如何建立好名稱、好函式、好物件和好類;如何格式化程式碼以實現其可讀性的優化:如何在不妨礙程式碼邏輯的前提下充分實現錯誤處理;如何進行單元測試和測試驅動開發。
《程式碼整潔之道 程式設計師的職業素養》
羅伯特·C.馬丁 著
成功的程式設計師在以往的工作和生活中都曾經歷過大大小小的不確定性,承受過永無休止的壓力。他們之所以能夠成功,是因為擁有一個共同點,都深切關注建立軟體所需的各項實踐。他們將軟體開發視為一種需要精雕細琢加以修煉的技藝,他們以專業人士的標準要求自己,他們具有職業素養。
軟體開發大師Robert C. Martin在書中介紹了真實軟體技藝中的各項原則、技術、工具和實踐,展示了怎麼以自豪、自尊和自信的心態進行軟體開發,怎麼取得卓越表現和豐碩成果,怎麼做到有效溝通和確切估算,怎麼以坦誠的心態面對困難,並引導讀者認識到專業程式設計師肩負的責任重大,闡述了什麼才是程式設計師的職業素養。
《程式設計珠璣(第2版 修訂版)》
喬恩·本特利(Jon Bentley) 著
本書作者Jon Bentley,世界電腦科學家,被譽為影響演算法發展的十位大師之一。
多年以來,當程式設計師們推選出心愛的計算機圖書時,《程式設計珠璣》總是位於前列。正如自然界裡珍珠出自細沙對牡蠣的磨礪,電腦科學大師JonBentley以其獨有的洞察力和創造力,從磨礪程式設計師的實際問題中凝結出一篇篇不朽的程式設計“珠璣”,成為世界計算機界名刊《ACM通訊》歷史上受歡迎的專欄,結集為兩部不朽的電腦科學經典名著,影響和激勵著一代又一代程式設計師和電腦科學工作者。本書為首卷,主要討論電腦科學中本質的問題:如何正確選擇和高效地實現演算法。
在書中,作者選取許多具有典型意義的複雜程式設計和演算法問題,生動描繪了歷史上眾大師們在探索解決方案中發生的軼事、走過的彎路和不斷精益求精的歷程,引導讀者像真正的程式設計師和軟體工程師那樣富於創新性地思考,並透徹闡述和總結了許多獨特而精妙的設計原則、思考和解決問題的方法以及實用程式設計技巧。
《程式設計珠璣(續 修訂版)》
喬恩·本特利 著
本書是電腦科學方面的經典名著《程式設計珠璣》的姊妹篇,講述了對於程式設計師有共性的知識。延續了《程式設計珠璣》的特色,通過一些精心設計的有趣而又頗具指導意義的程式,對實用程式設計技巧及基本設計原則進行透徹而睿智的描述,為複雜的程式設計問題提供清晰而完備的解決思路。涵蓋了程式設計師操縱程式的技術、程式設計師取捨的技巧、輸入和輸出設計以及演算法示例,這些內容結合成一個有機的整體,如一串串珠璣展示給程式設計師。(Jon Bentley)
《重構 改善既有程式碼的設計》
馬丁·福勒(Martin Fowler) 著
軟體開發的不朽經典,生動闡述重構原理和具體做法,普通程式設計師進階到程式設計高手必須修煉的祕笈。
重構,一言以蔽之,就是在不改變外部行為的前提下,有條不紊地改善程式碼。多年前,正是本書原版的出版,使重構終於從程式設計高手們的小圈子走出,成為眾多普通程式設計師日常開發工作中不可或缺的一部分。本書也因此成為與《設計模式》齊名的經典著作,被譯為中、德、俄、日等眾多語言,在世界範圍內暢銷不衰。
本書凝聚了軟體開發社群專家多年摸索而獲得的寶貴經驗,擁有不因時光流逝而磨滅的價值。今天,無論是重構本身,業界對重構的理解,還是開發工具對重構的支援力度,都與本書出版時不可同日而語,但書中所蘊涵的意味和精華,依然值得反覆咀嚼,而且往往能夠常讀常新。
面試篇
技能開發
《程式設計師面試白皮書》
逸超, 董飛著
這是一本介紹程式設計師面試的參考書,通過一系列的例項介紹了資料結構、演算法以及計算機專業的其他基礎知識。同時,本書還在各章中及時回顧教材中的重點內容,書中的題目也很據參考價值,通過例項與知識點相結合的方式幫助讀者掌握要領。除此之外,本書還將引導讀者分析題目,幫助讀者理清思路並最終解決問題。
《師兄教你找工作——100場面試 20個offer背後的求職祕密》
韓速(@美牙君)著
本書以應屆畢業生的視角,對求職的整個過程進行了分享和描述。涉及職業規劃、前期準備、簡歷、網申、郵件投遞、內推、線上測評、筆試、電面、結構化面試、群面、壓力面、談offer、選offer以及簽約注意事項等各個環節。既解答了同學們最關心的若干問題,也包括求職技巧分享。既幫助大家正確地審視自己,也幫助讀者客觀地面對企業。
《趣學演算法》
陳小玉 著
本書從演算法之美娓娓道來,沒有高深的原理,也沒有枯燥的公式,通過趣味故事引出演算法問題,包含50多個例項及完美圖解,結合學生提問,分析演算法本質,並給出程式碼實現的詳細過程和執行結果。本書可作為程式設計師的學習用書,也適合從未有過程式設計經驗但又對演算法有強烈興趣的初學者使用,同時也可作為高等院校計算機、數學及相關專業的師生用書和培訓學校的教材。
《演算法謎題》
【美】Anany Levitin 著
演算法是電腦科學領域最重要的基石之一。演算法謎題,就是能夠直接或間接地採用演算法來加以解決的謎題。求解演算法謎題是培養和鍛鍊演算法思維能力一種最有效和最有樂趣的途徑。
本書是一本經典演算法謎題的合集。本書包括了一些古已有之的謎題,數學和電腦科學有一部分知識就發源於此。本書中還有一些較新的謎題,其中有一部分謎題被用作知名IT企業的面試題。全書可分為4個部分,分別是概覽、謎題、提示和答案。概覽介紹了演算法設計的通用策略和演算法分析的技術,還附帶有不少的例項。謎題部分將謎題按照簡單、中等難度和較難三個層級分別列出。提示部分依次給出謎題提示,幫助讀者找到正確的解題方向,同時仍然為讀者留下了獨立求解的空間。答案部分則給出了謎題的詳細解答。
《C和C++程式設計師面試祕笈》
董山海 著
眾多高階語言都從C/C++有所借鑑,所以說C/C++的語言基礎對從事軟體開發的人員來說非常重要。
本書是一本解析C/C++面試題的書,可以幫助求職者更好地準備面試。《C和C++程式設計師面試祕笈》共包含12章,囊括了目前企業中常見的面試題型別和考點,包括C/C++程式基礎,預處理、const、static與sizeof,引用和指標,字串,位運算與嵌入式程式設計,C++面向物件,C++繼承和多型,資料結構,排序,泛型程式設計,STL,演算法和邏輯思維等最常見的面試題。《C和C++程式設計師面試祕笈》通過技術點解析、程式碼輔佐的方式讓讀者能深刻領會每個考點背後的技術。
本書緊扣面試精髓,對各種技術的剖析一針見血,是目前想找工作的C/C++程式設計師和剛畢業的大學生的面試寶典。
《Java程式設計師面試祕笈》
常建功著
· 緊扣面試精髓,一冊在手,工作不愁
· 提供最全的Java面試題分類,幫你有備而戰
· 涵蓋經典的筆試題+上機題,幫你整理知識庫
· 解析考題的要點和技術原理,幫你溫故而知新
Java程式設計師目前就業形勢較好,因為Java的應用太廣泛了,從網頁開發到手機安卓開發,都離不開Java。本書緊扣面試精髓,對各種技術剖析一針見血,是想找工作的Java程式設計師和剛畢業學生的面試寶典。
《程式設計之法:面試和演算法心得》
July 著
-蛻變於CSDN技術部落格“結構之法演算法之道”
-內容涉及面試、演算法、機器學習三大主題
-作者數年的積累成果
-進入IT行業求職筆試和麵試寶典
本書涉及面試、演算法、機器學習三個主題。書中的每道程式設計題目都給出了多種思路、多種解法,不斷優化、逐層遞進。第1章至第6章分別闡述字串、陣列、樹、查詢、動態規劃、海量資料處理等相關的程式設計面試題和演算法,第7章介紹機器學習的兩個演算法—K近鄰和SVM。
此外,每一章都有“舉一反三”和“習題”,以便讀者及時運用所學的方法解決相似的問題,且在附錄中收錄了語言、連結串列、概率等其他題型。書中的每一道題都是面試的高頻題目,反覆出現在近5年各大公司的筆試和麵試中,對面試備考有著極強的參考價值。
《.NET程式設計師面試祕笈》
張雲翯著
本書是一本解析.NET面試題的書,可以幫助求職者更好地準備面試。全書共11章,囊括了目前企業中常見的面試題型別和考點,包括.NET語言基礎、基類、介面和泛型、.NET高階特性、Windows窗體程式設計、ADO.NET程式設計、SQL查詢及LINQ、ASP.NET程式開發和演算法趣味題等。通過技術點解析、程式碼輔佐的方式使讀者能深刻理解每個考點背後的技術。
緊扣面試焦點,對各種技術剖析一針見血,是目前想找工作的.NET程式設計師和剛畢業學生的面試寶典。
《軟體測試工程師面試祕籍》
G.li, 51Testing軟體測試網 著
本書用輕鬆、愉快、親切的語言為廣大應聘測試崗位的讀者組織了一場求職戰役。書中語言精練,內容豐富,涵蓋應聘基本流程、開發類基礎知識、測試類專業知識、筆試面試技巧,並穿插了大量名企的筆試面試題。相信必能幫助對應聘完全知的菜鳥們迅速成長為百戰百勝的、羽翼豐滿的雄鷹。
本書適用範圍廣,包含了各類語言的筆試、面試題,以及Java、C++、C#等。《軟體測試工程師面試祕籍》專業實用性強,除了有一般程式設計師的基本知識和題目外,還另外針對測試這個崗位設計了一個章節,包含Web測試、移動App測試、遊戲類測試等場景。
《Android高薪之路—Android程式設計師面試寶典》
李寧著
本書取材於各大IT公司面試真題,所給出的試題儘可能地覆蓋了Android應用開發的各個方面,而且大多數試題都有解析部分,讀者可以通過這部分更深入地理解試題中所包含的技術內容,希望真正做到由點成線,舉一反三。書中還將Android中涉及的各個常用技術問題進行篩選、分類。這樣讀者可以有的放矢,對自己還沒有掌握的Android技術進行重點攻破,從而起到事半功倍的效果。除了對每道題目都有詳細的解析和回答外,對相關知識點還有擴充套件說明。對面試中Android常見的題型和常用解答技巧進行了介紹,它不僅能幫助求職者快速複習相關知識點,也對現代職業人如何有效求職做了詳細解說。本書對於讀者從求職就業到提升計算機專業知識都有顯著的幫助。
本書適合計算機相關專業應屆畢業生閱讀,也適合作為正在應聘軟體行業的相關就業人員和計算機愛好者的參考書。
《從跨界到專精 T型產品經理的自我修煉》
簡淺 著
這並不是一本“10天教會你如何成為產品經理”的書,更多講述的是產品經理職場中的真實經歷,讓你從旁觀者的角度真正的瞭解產品經理這個崗位。 入行產品經理本書將給你啟蒙。
今日話題
留言說說你的面試心得,或在面試中有過什麼樣有趣的面試故事。
評論有獎規則
留言說出面試心得或趣事,小編精選上牆;
精選使用者有機會進群,群內參與抽獎。
進群方式:
加小編微信,備註#面試精選#,拉你進群:
程式 微信ID:druidlost;
小七 微信ID:duoshangshuang;
會在群內抽出三位獲獎者,可以選擇一本本期書單推薦中想要的書籍。
抽獎時間:
3月27日17:00準時群內開始抽獎。
另外,本群除了會定期分享好書外,還會不定期請著作者進群與大家進行交流分享,歡迎持續關注。
點選圖片get往期內容