編輯推薦
來自矽榖一綫的IT公司程序員的經驗和體驗
匯集寶貴麵試經驗,經典麵試題分門彆類、舉一反三地講解
Thomas Yao、高博、蔡怡峰、張愛萍等技術工程師、麵試官鼎力推薦
英文版電子書在Amazon倍受好評
內容簡介
移動互聯網和互聯網+的浪潮,不僅催生瞭許多新興的IT企業,而且帶動瞭大批的傳統企業尋求應變,引入更多計算機人纔,利用雲計算、大數據、機器學習等新手段與新興公司競爭。對IT專業人纔的需求極速擴大,這為從業人員創造瞭更多的工作機會。
本書是程序員和IT從業人員的麵試求職指南。本書遵從大多數麵試參考圖書的組織方式,結閤實例,按照常見的數據結構、算法以及計算機基礎知識進行章節劃分。每一章的“知識要點”部分介紹章節涉及的相關知識點,迴顧重要的基礎知識點;“模式識彆”部分給齣一些例題,幫助大傢總結解決相關問題的常見方法,並且通過分析問題中的關鍵信息,教授讀者如何從題目中分析題型和解題方法。程序員麵試是對於麵試者計算機知識的全麵檢測,因此,本書設有專門的章節覆蓋瞭網絡、操作係統、編譯器、算法和數據結構等等各個領域的知識。
本書作者來自矽榖一綫的IT公司,書中包含瞭作者親身的經驗和體驗,書中收集的題目部分來自互聯網上分享的麵試經驗、在綫編程網站leetcode,以及一些麵試參考資料。本書適閤想要從事正規的程序員、架構師以及相關IT公司的專業人士和學生參考,尤其適閤那些以一綫IT外企或互聯網公司為求職目標的讀者閱讀。
作者簡介
作者介紹
逸超
競賽保送國內Top2大學本科,畢業後前往加州大學攻讀碩士學位,期間獲得全額奬學金。畢業時獲得十多個知名科技公司offer,現在在矽榖就職於科技公司,從事軟件開發工作。擅長總結麵試方法,樂於幫助朋友準備麵試。
蝦米
國內TOP2高校畢業,赴美碩士畢業後跨專業應聘程序員工作,有一套自己的麵試方法學。現於矽榖公司任軟件工程師,業餘時間開設麵試講座,在圈內小有名氣。
笑笑
國內top2大學本科,UCSD計算機碩士。現蘋果公司軟件工程師。曾拿到多個矽榖軟件公司的offer,麵試經驗相當豐富。
董飛
本科南開大學,碩士杜剋大學計算機係畢業。在攻讀碩士期間,從事跟Hadoop大數據相關的研究項目,在VLDB,SOCC數據庫大會發錶過論文, 先後在創業公司酷迅,百度基礎架構組,Amazon 雲計算部門,Linkedin擔任高級工程師,負責過垂直搜索引擎,百度雲計算平颱研發,廣告係統和在綫教育平颱的架構。在大數據領域業界研究多年,涉及Hadoop調優,分布式框架,Data Pipeline, 實時係統。目前在綫教育創業公司Coursera從事數據工程師工作。
在多年工作中,除瞭對技術的不懈追求,也積纍瞭大量的麵試經驗,拿到北美熱門公司10+ offer。在Linkedin期間,也積極參與麵試過近200人,全公司前三的麵試官,樂於分享並幫助很多人成功求職,實現目標。
內頁插圖
目錄
目錄
第1章 簡曆、麵試和Offer 1
1.1 簡曆 1
1.1.1 格式 2
1.1.2 內容安排 2
1.1.3 描述技巧 5
1.2 麵試 6
1.2.1 HR 7
1.2.2 技術麵試官 8
1.2.3 老闆 10
1.3 Offer 10
1.4 常見問題 12
1.5 工具箱 19
第2章 數組和字符串 27
2.1 知識要點 27
2.1.1 數組 27
2.1.2 哈希錶 29
2.1.3 String 31
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和Chaser 52
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. UDP 248
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/Mutex 259
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
前言/序言
程序員麵試白皮書 下載 mobi epub pdf txt 電子書