-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

程序員面試金典 第6版

( 簡體 字)
作者:[美]蓋爾·拉克曼·麥克道爾(Gayle Laakmann McDowell)類別:1. -> 程式設計 -> 面試指南
譯者:
出版社:人民郵電出版社程序員面試金典 第6版 3dWoo書號: 51834
詢問書籍請說出此書號!

缺書
NT售價: 745

出版日:9/1/2019
頁數:594
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787115517197
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

本書是原谷歌面試官的經驗之作,層層緊扣程序員面試的每一個環節,全面而詳盡地介紹了程序員應當如何應對面試,才能在面試中脫穎而出。內容主要涉及面試流程解析,面試官的幕后決策及可能提出的問題,面試前的準備工作,對面試結果的處理,以及出自微軟、蘋果、谷歌等多家知名公司的189道編程面試題及詳細解決方案。第6版修訂了上一版中一些題目的解法,為各章新增了介紹性內容,加入了更多的算法策略,并增添了對所有題目的提示信息。
目錄:

第 1 章 面試流程 1
1.1 為什么 1
1.1.1 錯過了優秀人才是可以的 2
1.1.2 解決問題的技能很寶貴 2
1.1.3 基礎數據結構和算法知識很有用 2
1.1.4 白板讓你專注于重要的事情 2
1.1.5 但這并不適用于每個人、每家公司、每種場合 3
1.2 面試問題的來源 3
1.3 一切都是相對的 3
1.4 常見問題 4
1.4.1 面試結束后沒有立即收到回復,我是被拒了嗎 4
1.4.2 被拒之后我還能重新申請嗎 4
第 2 章 面試揭秘 5
2.1 微軟面試 6
2.1.1 必備項 6
2.1.2 獨特之處 6
2.2 亞馬遜面試 6
2.2.1 必備項 7
2.2.2 獨特之處 7
2.3 谷歌面試 7
2.3.1 必備項 8
2.3.2 獨特之處 8
2.4 蘋果面試 8
2.4.1 必備項 9
2.4.2 獨特之處 9
2.5 Facebook面試 9
2.5.1 必備項 9
2.5.2 獨特之處 10
2.6 Palantir面試 10
2.6.1 必備項 10
2.6.2 獨特之處 10
第 3 章 特殊情況 11
3.1 有工作經驗的求職者 11
3.2 測試人員和軟件開發測試工程師 11
3.3 產品經理(項目經理) 12
3.4 開發主管與部門經理 13
3.5 創業公司 13
3.5.1 職位申請 14
3.5.2 簽證與工作許可 14
3.5.3 簡歷篩選因素 14
3.5.4 面試流程 14
3.6 收購與“人才收購” 14
3.6.1 哪些創業公司需要進行并購面試,為什么 14
3.6.2 這些面試有多重要 15
3.6.3 哪些員工需要面試 15
3.6.4 如果面試表現不好會怎么樣 15
3.6.5 最優秀和最差的員工或許會令你吃驚 16
3.6.6 被收購方的員工與一般求職者的標準一樣嗎 16
3.6.7 被收購員工對于收購、人才收購會如何反應 16
3.6.8 收購后的團隊會經歷什么 16
3.6.9 怎樣為你的團隊準備收購面試 16
3.7 面試官 17
3.7.1 不要問與本書完全相同的題目 17
3.7.2 問中等難題或者高難度題 17
3.7.3 使用多重障礙的題目 17
3.7.4 使用高難度題目,而不是艱深的基礎知識 18
3.7.5 避免“嚇人”的問題 18
3.7.6 提供正面鼓勵 19
3.7.7 深究行為面試題 19
3.7.8 輔導求職者 19
3.7.9 如果求職者想保持安靜,請滿足 20
3.7.10 了解你的模式:完整性測試、質量測試、專業知識和代理知識 20
第 4 章 面試之前 22
4.1 積累相關經驗 22
4.2 寫好簡歷 23
4.2.1 簡歷篇幅長度適中 23
4.2.2 工作經歷 23
4.2.3 項目經歷 23
4.2.4 軟件和編程語言 24
4.2.5 給母語為非英語的人及國際人士的建議 24
4.2.6 提防(潛在的)污名 24
4.3 準備流程圖 25
第 5 章 行為面試題 28
5.1 面試準備清單 28
5.1.1 你有哪些缺點 28
5.1.2 你應該問面試官哪些問題 28
5.2 掌握項目所用的技術 29
5.3 如何應對 29
5.3.1 力求具體,切忌自大 29
5.3.2 省略細枝末節 30
5.3.3 多談自己 30
5.3.4 回答條理清晰 30
5.3.5 行動是關鍵 31
5.3.6 故事的意義 31
5.4 自我介紹 32
5.4.1 結構 32
5.4.2 興趣愛好 32
5.4.3 展示成功的點點滴滴 33
第 6 章 大Ο 34
6.1 打個比方 34
6.2 時間復雜度 34
6.2.1 大Ο、大θ和大Ω 35
6.2.2 最優、最壞和期望情況 35
6.3 空間復雜度 36
6.4 刪除常量 36
6.5 丟棄不重要的項 37
6.6 多項式算法:加與乘 38
6.7 分攤時間 38
6.8 Log N運行時間 39
6.9 遞歸的運行時間 39
6.10 示例和習題 40
第 7 章 技術面試題 53
7.1 準備事項 53
7.2 必備的基礎知識 53
7.2.1 核心數據結構、算法及概念 53
7.2.2 2的冪表 54
7.3 解題步驟 54
7.4 優化和解題技巧 1:尋找BUD 58
7.4.1 瓶頸 59
7.4.2 無用功 59
7.4.3 重復性工作 60
7.5 優化和解題技巧 2:親力親為 61
7.6 優化和解題技巧 3:化繁為簡 62
7.7 優化和解題技巧 4:由淺入深 62
7.8 優化和解題技巧 5:數據結構頭腦風暴法 63
7.9 可想象的極限運行時間 63
7.10 處理錯誤答案 66
7.11 做過的面試題 66
7.12 面試的“完美”語言 67
7.12.1 流行度 67
7.12.2 語言可讀性 67
7.12.3 潛在問題 67
7.12.4 冗長 67
7.12.5 易用性 68
7.13 好代碼的標準 68
7.13.1 多多使用數據結構 68
7.13.2 適當代碼復用 69
7.13.3 模塊化 70
7.13.4 靈活性和通用性 70
7.13.5 錯誤檢查 71
7.14 不要輕言放棄 71
第 8 章 錄用通知及其他注意事項 72
8.1 如何處理錄用與被拒的情況 72
8.1.1 回復期限與延長期限 72
8.1.2 如何拒絕錄用通知 72
8.1.3 如何處理被拒 72
8.2 如何評估錄用待遇 73
8.2.1 薪酬待遇的考量 73
8.2.2 職業發展 73
8.2.3 公司穩定性 73
8.2.4 幸福指數 74
8.3 錄用談判 74
8.4 入職須知 75
8.4.1 制定時間表 75
8.4.2 打造堅實的人際網絡 75
8.4.3 向經理尋求幫助 75
8.4.4 保持面試狀態 75
第 9 章 面試題目 76
9.1 數組與字符串 76
9.1.1 散列表 76
9.1.2 ArrayList與可變長度數組 77
9.1.3 StringBuilder 77
9.2 鏈表 79
9.2.1 創建鏈表 79
9.2.2 刪除單向鏈表中的節點 80
9.2.3 “快行指針”技巧 80
9.2.4 遞歸問題 81
9.3 棧與隊列 82
9.3.1 實現一個棧 82
9.3.2 實現一個隊列 83
9.4 樹與圖 85
9.4.1 樹的類型 85
9.4.2 二叉樹的遍歷 87
9.4.3 二叉堆(小頂堆與大頂堆) 88
9.4.4 單詞查找樹(前序樹) 89
9.4.5 圖 90
9.4.6 圖的搜索 91
9.5 位操作 94
9.5.1 手工位操作 95
9.5.2 位操作原理與技巧 95
9.5.3 二進制補碼與負數 95
9.5.4 算術右移與邏輯右移 96
9.5.5 常見位操作:獲取與設置數位 97
9.6 數學與邏輯題 99
9.6.1 素數 99
9.6.2 概率 101
9.6.3 大聲說出你的思路 102
9.6.4 總結規律和模式 102
9.6.5 略作變通 103
9.6.6 觸類旁通 104
9.7 面向對象設計 105
9.7.1 如何解答 105
9.7.2 設計模式 106
9.8 遞歸與動態規劃 108
9.8.1 解題思路 109
9.8.2 遞歸與迭代 109
9.8.3 動態規劃及記憶法 109
9.9 系統設計與可擴展性 114
9.9.1 處理問題 114
9.9.2 循環漸進的設計 114
9.9.3 逐步構建的方法:循序漸進 116
9.9.4 關鍵概念 116
9.9.5 系統設計要考慮的因素 118
9.9.6 人無完人,系統亦然 119
9.9.7 實例演示 119
9.10 排序與查找 121
9.10.1 常見的排序算法 121
9.10.2 查找算法 124
9.11 測試 126
9.11.1 面試官想考查什么 126
9.11.2 測試現實生活中的事物 127
9.11.3 測試一套軟件 127
9.11.4 測試一個函數 129
9.11.5 調試與故障排除 129
9.12 C和C++ 131
9.12.1 類和集成 131
9.12.2 構造函數和析構函數 131
9.12.3 虛函數 132
9.12.4 虛析構函數 133
9.12.5 默認值 134
9.12.6 操作符重載 134
9.12.7 指針和引用 134
9.12.8 模板 135
9.13 Java 136
9.13.1 如何處理 137
9.13.2 重載與重寫 137
9.13.3 集合框架 138
9.14 數據庫 139
9.14.1 SQL語法及各類變體 139
9.14.2 規范化數據庫和非規范化數據庫 139
9.14.3 SQL語句 140
9.14.4 小型數據庫設計 141
9.14.5 大型數據庫設計 142
9.15 線程與鎖 143
9.15.1 Java線程 143
9.15.2 同步和鎖 145
9.15.3 死鎖及死鎖的預防 148
9.16 中等難題 149
9.17 高難度題 152
第 10 章 題目解法 156
10.1 數組與字符串 156
10.2 鏈表 170
10.3 棧與隊列 186
10.4 樹與圖 197
10.5 位操作 229
10.6 數學與邏輯題 240
10.7 面向對象設計 254
10.8 遞歸與動態規劃 286
10.9 系統設計與可擴展性 313
10.10 排序與查找 332
10.11 測試 350
10.12 C和C++ 354
10.13 Java 363
10.14 數據庫 370
10.15 線程與鎖 375
10.16 中等難題 388
10.17 高難度題 450
第 11 章 進階話題 539
11.1 實用數學 539
11.1.1 整數1至N的和 540
11.1.2 2的冪的和 540
11.1.3 對數的底 542
11.1.4 排列 541
11.1.5 組合 541
11.1.6 歸納證明 541
11.2 拓撲排序 542
11.3 Dijkstra算法 543
11.4 散列表沖突解決方案 545
11.4.1 使用鏈表連接數據 545
11.4.2 使用二叉搜索樹連接數據 546
11.4.3 使用線性探測進行開放尋址 546
11.4.4 平方探測和雙重散列 546
11.5 Rabin-Karp子串查找 546
11.6 AVL樹 547
11.6.1 性質 547
11.6.2 插入操作 547
11.7 紅黑樹 548
11.7.1 性質 549
11.7.2 為什么這樣的樹是平衡的 549
11.7.3 插入操作 549
11.8 MapReduce 551
11.9 補充學習內容 553
附錄 A 代碼庫 554
附錄 B 提示 560
序: