新到貨2本75折
程序員面試金典(第6版)

程序員面試金典(第6版)

  • 定價:894
  • 優惠價:87778
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

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

 

作者介紹

蓋爾· 拉克曼·麥克道爾(Gayle Laakmann McDowell),CareerCup創始人兼CEO,是一位知名軟體工程師,曾在微軟、蘋果與谷歌任職。早先,她自己是一位十分成功的求職者,通過了微軟、谷歌、蘋果、IBM、高盛等多家知名企業極其嚴苛的面試過程。
 
工作以後,她又成為一位出色的面試官。在穀歌任職期間,她還是該公司有名的面試官及招聘委員會成員,其間閱人無數,積累了相當豐富的面試經驗。除此書外,還著有《產品經理面試寶典》《金領簡歷:敲開蘋果、微軟、谷歌的大門》。

 

目錄

第 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

 

詳細資料

  • ISBN:9787115517197
  • 規格:平裝 / 594頁 / 16k / 19 x 26 x 2.97 cm / 普通級 / 單色印刷 / 2-1
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 2024曬書市集69元起,滿萬再回饋1000元E-Coupon!
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 簡體週年慶
  • 商業新品
  • 福寶