**逸超**
競賽保送國內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.3 描述技巧
- 1.2 面試
- 1.2.1 HR
- 1.2.2 技術面試官
- 1.2.3 老板
- 1.3 Offer
- 1.4 常見問題
- 1.5 工具箱
- 第2章 數組和字符串
- 2.1 知識要點
- 2.1.1 數組
- 2.1.2 哈希表
- 2.1.3 String
- 2.2 模式識別
- 2.2.1 使用哈希表
- 2.2.2 利用哈希表實現動態規劃的思想
- 2.2.3 String相關問題的處理技巧
- 2.3 工具箱
- 第3章 鏈表
- 3.1 知識要點
- 3.2 模式識別
- 3.2.1 鏈表的基本操作
- 3.2.2 啞節點
- 3.2.3 Runner和Chaser
- 3.2.4 遍歷并處理節點
- 3.2.5 交換節點的問題
- 3.2.6 同時操作兩個鏈表
- 3.2.7 倒序處理
- 3.3 工具箱
- 第4章 棧和隊列
- 4.1 知識要點
- 4.1.1 棧
- 4.1.2 隊列
- 4.2 模式識別
- 4.2.1 通過棧實現特殊順序的讀取
- 4.2.2 “Save for later”問題
- 4.2.3 用棧解決自上而下結構的問題
- 4.3 工具箱
- 第5章 樹和圖
- 5.1 知識要點
- 5.1.1 樹
- 5.1.2 字典樹
- 5.1.3 堆與優先隊列
- 5.1.4 圖
- 5.1.5 圖的遍歷
- 5.1.6 單源最短路徑問題
- 5.1.7 任意兩點之間的最短距離
- 5.2 模式識別
- 5.2.1 利用分而治之(D&C)策略判斷樹、圖的性質
- 5.2.3 樹和其他數據結構的相互轉換
- 5.2.4 尋找特定節點
- 5.2.5 圖的訪問
- 5.3 工具箱
- 第6章 位操作
- 6.1 知識要點
- 6.2 模式識別
- 6.2.1 基本的位操作
- 6.2.2 位掩碼
- 6.3 工具箱
- 第7章 面向對象的設計
- 7.1 知識要點
- 7.1.1 設計題解答要領
- 7.1.2 模擬面試
- 7.1.3 抽象、面向對象和解耦(Decoupling)
- 7.1.4 繼承/組合/參數化類型
- 7.1.5 設計模式
- 7.2 模式識別
- 7.3 工具箱
- 第8章 遞歸和動態規劃
- 8.1 知識要點
- 8.1.1 構建從子問題到最終目標的方法
- 8.1.2 遞歸的空間與時間成本
- 8.1.3 自底向上與自頂向下
- 8.1.4 算法策略
- 8.2 模式識別
- 8.2.1 用動態規劃(自底向上)解決收斂結構問題
- 8.2.2 最長子序列類型的問題
- 8.2.3 用Memorization(自頂向下)解決收斂結構問題
- 8.2.4 用回溯法(自上而下)解決發散結構問題
- 8.2.5 用D&C策略解決獨立子問題
- 第9章 排序和搜索
- 9.1 知識要點
- 9.1.1 常見的內排序算法
- 9.1.2 常見的外排序算法
- 9.1.3 快速選擇算法
- 9.1.4 二分查找
- 9.2 模式識別
- 9.2.1 動態數據結構的維護
- 9.2.2 對于有序/部分有序容器的搜索,用二分查找
- 9.2.3 數據范圍有限、離散的排序問題
- 9.2.4 Scalability & Memory Limits 問題
- 9.3 工具箱
- 第10章 測試
- 10.1 知識要點
- 10.1.1 測試現實世界的物體、軟件或函數
- 10.1.2 故障排除
- 10.2 模式識別
- 10.3 工具箱
- 第11章 網絡
- 11.1 知識要點
- 11.1.1 網絡分層
- 11.1.2 路由
- 11.1.3 常用網絡統計指標
- 11.1.4 TCP vs. UDP
- 11.2 模式識別
- 11.3 工具箱
- 第12章 計算機底層知識
- 12.1 知識要點
- 12.1.1 進程vs.線程
- 12.1.2 上下文切換
- 12.1.3 系統調用
- 12.1.4 Semaphore/Mutex
- 12.1.5 死鎖
- 12.1.6 生產者消費者
- 12.1.7 進程間通信
- 12.1.8 邏輯地址/物理地址/虛擬內存
- 12.1.9 文件系統
- 12.1.10 實時vs.分時操作系統
- 12.1.11 編譯器
- 版權信息
- 看完了