程式師面試白皮書 程序员面试白皮书

逸超, 蝦米, 笑笑, 董飛

  • 出版商: 人民郵電
  • 出版日期: 2015-11-01
  • 定價: $294
  • 售價: 8.5$250
  • 語言: 簡體中文
  • 頁數: 264
  • 裝訂: 平裝
  • ISBN: 7115401845
  • ISBN-13: 9787115401847
  • 相關分類: 職涯發展
  • 無法訂購

買這商品的人也買了...

商品描述

 

<內容簡介>

移動因特網和因特網+的浪潮,不僅催生了許多新興的IT企業,而且帶動了大批的傳統企業尋求應變,引入更多計算機人才,利用雲計算、大數據、機器學習等新手段與新興公司競爭。對IT專業人才的需求極速擴大,這為從業人員創造了更多的工作機會。
本書是程序員和IT從業人員的面試求職指南。本書遵從大多數面試參考圖書的組織方式,結合實例,按照常見的數據結構、算法以及計算機基礎知識進行章節劃分。每一章的“知識要點”部分介紹章節涉及的相關知識點,回顧重要的基礎知識點;“模式識別”部分給出一些例題,幫助大家總結解決相關問題的常見方法,並且通過分析問題中的關鍵信息,教授讀者如何從題目中分析題型和解題方法。程序員面試是對於面試者計算機知識的全面檢測,因此,本書設有專門的章節覆蓋了網絡、操作系統、編譯器、算法和數據結構等等各個領域的知識。
本書作者來自硅谷一線的IT公司,書中包含了作者親身的經驗和體驗,書中收集的題目部分來自因特網上分享的面試經驗、在線編程網站leetcode,以及一些面試參考資料。本書適合想要從事正規的程序員、架構師以及相關IT公司的專業人士和學生參考,尤其適合那些以一線IT外企或因特網公司為求職目標的讀者閱讀。

 

<章節目錄>

第1章簡歷、面試和Offer1
1.1簡歷1
1.1.1格式2
1.1.2內容安排2
1.1.3描述技巧5
1.2面試6
1.2.1 HR7
1.2.2技術面試官8
1.2.3老闆10
1.3 Offer10
1.4常見問題12
1.5工具箱19
第2章數組和字符串27
2.1知識要點27
2.1.1數組27
2.1.2哈希表29
2.1.3 String31
2.2模式識別31
2.2.1使用哈希表31
2.2.2利用哈希表實現動態規劃的思想35
2.2.3 String相關問題的處理技巧39
2.3工具箱41
第3章鍊錶49
3.1知識要點49
3.2模式識別50
3.2.1鍊錶的基本操作50
3.2.2啞節點50
3.2.3 Runner和Chaser52
3.2.4遍歷並處理節點56
3.2.5交換節點的問題57
3.2.6同時操作兩個鍊錶59
3.2.7倒序處理60
3.3工具箱64
第4章棧和隊列67
4.1知識要點67
4.1.1棧67
4.1.2隊列68
4.2模式識別68
4.2.1通過棧實現特殊順序的讀取68
4.2.2 “Save for later”問題72
4.2.3用棧解決自上而下結構的問題74
4.3工具箱79
第5章樹和圖83
5.1知識要點83
5.1.1樹83
5.1.2字典樹86
5.1.3堆與優先隊列88
5.1.4圖89
5.1.5圖的遍歷90
5.1 .6單源最短路徑問題92
5.1.7任意兩點之間的最短距離93
5.2模式識別93
5.2.1利用分而治之(D&C)策略判斷樹、圖的性質93
5.2.2樹的路徑問題100
5.2. 3樹和其他數據結構的相互轉換104
5.2.4尋找特定節點108
5.2.5圖的訪問113
5.3工具箱116
第6章位操作121
6.1知識要點121
6.2模式識別122
6.2.1基本的位操作122
6.2.2位掩碼125
6.3工具箱127
第7章面向對象設計129
7.1知識要點129
7.1.1設計題解答要領129
7.1.2模擬面試131
7.1.3抽象、面向對象和解耦(Decoupling)134
7.1.4繼承/組合/參數化類型137
7.1.5設計模式139
7.2模式識別144
7.3工具箱159
第8章遞歸和動態規劃167
8.1知識要點167
8.1.1構建從子問題到最終目標的方法167
8.1.2遞歸的空間與時間成本168
8.1.3自底向上與自頂向下169
8.1.4算法策略171
8.2模式識別172
8.2.1用動態規劃(自底向上)解決收斂結構問題172
8.2. 2最長子序列類型的問題181
8.2.3用Memorization(自頂向下)解決收斂結構問題190
8.2.4用回溯法(自上而下)解決發散結構問題193
8.2.5用D&C策略解決獨立子問題201
第9章排序和搜索203
9.1知識要點203
9.1.1常見的內排序算法203
9.1.2常見的外排序算法209
9.1.3快速選擇算法210
9.1.4二分查找211
9.2模式識別212
9.2. 1動態數據結構的維護212
9.2.2對於有序/部分有序容器的搜索,用二分查找216
9.2.3數據範圍有限、離散的排序問題228
9.2.4 Scalability & Memory Limits問題230
9.3工具箱233
第10章測試235
10.1知識要點235
10.1.1測試現實世界的物體、軟件或函數235
10.1.2故障排除236
10.2模式識別238
10.3工具箱242
第11章網絡245
11.1知識要點245
11.1.1網絡分層246
11.1.2路由246
11.1.3常用網絡統計指標247
11.1.4TCP vs.UDP248
11.2模式識別251
11.3工具箱254
第12章計算機底層知識257
12.1知識要點257
12.1.1進程vs.線程257
12.1. 2上下文切換259
12.1.3系統調用259
12.1.4 Semaphore/Mutex259
12.1.5死鎖260
12.1.6生產者消費者260
12.1.7進程間通信261
12.1.8邏輯地址/物理地址/虛擬內存261
12.1 .9文件系統263
12.1.10實時vs.分時操作系統263
12.1.11編譯器264

 

<作者介紹>

逸超
競賽保送國內Top2大學本科,畢業後前往加州大學攻讀碩士學位,期間獲得全額獎學金。畢業時獲得十多個知名科技公司offer,現在在硅谷就職於科技公司,從事軟件開發工作。擅長總結面試方法,樂於幫助朋友準備面試。蝦米國內TOP2高校畢業,赴美碩士畢業後跨專業應聘程序員工作,有一套自己的面試方法學。現於硅谷公司任軟件工程師,業餘時間開設面試講座,在圈內小有名氣。笑笑國內top2大學本科,UCSD計算機碩士。現蘋果公司軟件工程師。曾拿到多個硅谷軟件公司的offer,面試經驗相當豐富。董飛本科南開大學,碩士杜克大學計算機系畢業。在攻讀碩士期間,從事跟Hadoop大數據相關的研究項目,在VLDB,SOCC數據庫大會發表過論文,先後在創業公司酷迅,百度基礎架構組,Amazon雲計算部門,Linkedin擔任高級工程師,負責過垂直搜索引擎,百度雲計算平臺研發,廣告系統和在線教育平臺的架構。在大數據領域業界研究多年,涉及Hadoop調優,分佈式框架,Data Pipeline,實時系統。目前在線教育創業公司Coursera從事數據工程師工作。在多年工作中,除了對技術的不懈追求,也積累了大量的面試經驗,拿到北美熱門公司10+ offer。在Linkedin期間,也積極參與面試過近200人,全公司前三的面試官,樂於分享並幫助很多人成功求職,實現目標。