第一部分 矽榖求職
第1章 矽榖公司 3
1.1 矽榖簡介 3
1.2 傳奇旗幟 7
1.2.1 微軟 8
1.2.2 榖歌 9
1.2.3 亞馬遜 10
1.2.4 Twitter 12
1.2.5 Epic 12
1.3 技術移民 13
1.3.1 簽證和綠卡 14
1.3.2 稅率和生活 16
第2章 求職準備 19
2.1 職位選擇 21
2.2 公司選擇 22
2.3 人際關係 24
2.4 求職渠道 27
第3章 簡曆 29
3.1 簡曆特點 30
3.2 簡曆結構 33
3.3 簡曆優化 35
第4章 麵試 39
4.1 麵試流程 40
4.2 編程麵試 42
4.3 注意事項 43
第5章 聘書與職業發展 47
5.1 聘書 48
5.1.1 聘書要素 48
5.1.2 決策因子 49
5.1.3 薪酬談判 52
5.1.4 接受、延期或婉拒 54
5.2 職業發展 55
第二部分 數據結構
第6章 數組 59
麵試題1:兩數之和I ☆☆ 59
麵試題2:兩數之和II ☆☆☆ 61
麵試題3:兩數之和III ☆☆☆☆ 62
麵試題4:數組鏇轉 ☆☆☆ 64
麵試題5:最大下標距離 ☆☆☆☆ 65
麵試題6:重疊區間個數 ☆☆ 67
麵試題7:插入區間 ☆☆☆ 69
麵試題8:閤並區間 ☆☆☆☆ 71
麵試題9:數組配對 ☆☆☆ 72
麵試題10:數位重組 ☆☆☆ 73
麵試題11:産生隨機數 ☆☆ 75
麵試題12:Top K I ☆☆☆ 76
麵試題13:Top K II ☆☆☆☆ 79
麵試題14:兩數組第k個值 ☆☆☆☆☆ 80
麵試題15:兩數組中值 ☆☆☆☆☆ 82
麵試題16:鏇轉數組最小值 ☆☆☆ 84
麵試題17:鏇轉數組搜索 ☆☆☆ 85
麵試題18:首個正數 ☆☆☆☆ 86
麵試題19:閤並有序數組 ☆☆ 88
麵試題20:三角形 ☆☆ 89
麵試題21:二維數組搜索 ☆☆☆ 90
麵試題22:區間搜索 ☆☆☆☆ 92
麵試題23:插入位置 ☆☆ 94
麵試題24:矩陣清零 ☆☆☆ 95
麵試題25:螺鏇矩陣 ☆☆☆☆ 98
第7章 鏈錶 101
麵試題26:閤並鏈錶 ☆☆ 102
麵試題27:環的長度 ☆☆☆ 103
麵試題28:反轉鏈錶 ☆☆ 105
麵試題29:分組反轉鏈錶 ☆☆☆☆ 109
麵試題30:兩數相加 ☆☆☆ 110
麵試題31:鏈錶分區 ☆☆☆ 112
麵試題32:鏈錶去重 ☆ 114
第8章 樹 117
麵試題33:二叉搜索樹轉為雙嚮鏈錶 ☆☆☆☆ 118
麵試題34:最小公共祖先I ☆☆ 120
麵試題35:最小公共祖先II ☆☆☆ 121
麵試題36:最小公共祖先III ☆☆☆☆ 124
麵試題37:最小公共祖先IV ☆☆☆☆ 125
麵試題38:路徑和I ☆☆ 128
麵試題39:路徑和II ☆☆☆☆ 129
麵試題40:平衡二叉樹 ☆☆☆☆ 131
麵試題41:樹的鏡像 ☆☆ 132
麵試題42:中序下個節點 ☆☆☆ 134
麵試題43:二叉搜索樹近值 ☆☆☆ 135
麵試題44:二叉搜索樹KNN ☆☆☆☆ 136
麵試題45:實現二叉搜索樹迭代器 ☆☆☆☆ 138
麵試題46:充實橫嚮指針 ☆☆☆ 140
麵試題47:恢復二叉搜索樹 ☆☆☆☆ 142
麵試題48:按層遍曆二叉樹 ☆☆☆ 144
麵試題49:二叉樹最大路徑和 ☆☆☆☆ 145
第9章 字符串 148
麵試題50:字符判重 ☆☆☆ 148
麵試題51:産生括號 ☆☆☆☆ 150
麵試題52:提取單詞I ☆☆☆☆ 151
麵試題53:提取單詞II ☆☆☆☆ 153
麵試題54:字符交替 ☆☆☆ 154
麵試題55:字符串相乘 ☆☆☆☆ 155
麵試題56:數字驗證 ☆☆☆ 157
麵試題57:字符串轉為十進製數 ☆☆ 160
麵試題58:提取IP地址 ☆☆☆ 161
麵試題59:正則匹配 ☆☆☆☆☆ 163
第三部分 算法
第10章 倆指針 167
麵試題60:有序數組去重 ☆ 167
麵試題61:三數之和 ☆☆☆ 169
麵試題62:股票買賣 ☆☆ 171
麵試題63:三色排序 ☆☆☆☆ 172
麵試題64:蛙跳 ☆☆☆ 174
麵試題65:容器盛水I ☆☆☆ 176
麵試題66:容器盛水II ☆☆☆☆ 177
麵試題67:數組分水嶺 ☆☆☆ 179
第11章 動態規劃 181
麵試題68:最長遞增子序列 ☆☆☆☆ 182
麵試題69:最小化數組乘積 ☆☆☆☆ 183
麵試題70:股票買賣II ☆☆☆☆ 185
麵試題71:數組最大和 ☆☆☆ 186
麵試題72:二維數組最小路徑和 ☆☆☆ 187
麵試題73:三角形最小路徑 ☆☆☆ 188
麵試題74:爬樓梯 ☆☆ 189
麵試題75:迷宮路徑數 ☆☆ 190
麵試題76:刷房子 ☆☆☆ 192
麵試題77:數字解碼 ☆☆☆ 193
麵試題78:子串個數 ☆☆☆☆ 194
麵試題79:編輯距離 ☆☆☆☆ 196
麵試題80:交替字符串 ☆☆☆☆☆ 197
麵試題81:最長迴文子串 ☆☆☆☆☆ 198
麵試題82:迴文分割 ☆☆☆☆ 199
麵試題83:最大公共子串 ☆☆☆☆ 201
麵試題84:字符串洗牌 ☆☆☆☆☆ 202
第12章 優先遍曆 205
麵試題85:填充圖像 ☆☆☆☆ 205
麵試題86:封閉區間個數 ☆☆☆☆ 206
麵試題87:填充封閉區間 ☆☆☆☆☆ 208
麵試題88:單詞查找 ☆☆☆ 210
麵試題89:單詞變換 ☆☆☆☆ 211
麵試題90:單詞替換規則 ☆☆☆☆ 213
麵試題91:有嚮圖遍曆 ☆☆☆☆ 215
第13章 哈希 217
麵試題92:最長連續序列 ☆☆☆☆ 217
麵試題93:變位詞 ☆☆☆ 218
麵試題94:最長不同字符的子串 ☆☆☆☆ 220
麵試題95:最小字符窗口 ☆☆☆☆ 221
麵試題96:單詞拼接 ☆☆☆☆☆ 223
麵試題97:常數時間插入刪除查找 ☆☆☆ 224
麵試題98:對數時間範圍查詢 ☆☆☆☆ 225
麵試題99:實現LRU緩存 ☆☆☆☆ 226
麵試題100:經過最多點的直綫 ☆☆☆ 229
第14章 堆棧 232
麵試題101:局部最大值 ☆☆☆ 232
麵試題102:數據流最大值 ☆☆☆☆ 234
麵試題103:最大四方形 ☆☆☆☆☆ 235
麵試題104:閤並多個有序鏈錶 ☆☆☆☆ 239
麵試題105:産生逆波蘭式 ☆☆☆ 240
麵試題106:逆波蘭式計算 ☆☆☆ 241
麵試題107:簡化文件路徑 ☆☆☆ 243
麵試題108:括號驗證 ☆☆ 244
麵試題109:最長有效括號 ☆☆☆ 245
麵試題110:設計Min棧 ☆☆☆☆ 247
麵試題111:中序遍曆 ☆☆☆ 248
麵試題112:打印路徑 ☆☆☆☆ 249
麵試題113:二叉搜索樹兩點之和 ☆☆☆☆ 251
麵試題114:矩陣Top K ☆☆☆☆ 253
第15章 排列組閤 256
麵試題115:翻譯手機號碼 ☆☆☆ 256
麵試題116:數組簽名 ☆☆☆☆ 258
麵試題117:組閤和 ☆☆☆ 259
麵試題118:子集閤 ☆☆☆ 262
麵試題119:全排列 ☆☆☆ 264
麵試題120:下一個排列 ☆☆☆☆☆ 266
麵試題121:N皇後 ☆☆☆☆ 268
第四部分 綜閤麵試題
第16章 數學 273
麵試題122:Fibonacci數 ☆ 273
麵試題123:求冪 ☆☆☆ 274
麵試題124:求開方 ☆☆☆☆ 275
麵試題125:隨機數産生器 ☆☆☆☆☆ 276
麵試題126:找齣明星 ☆☆☆ 277
麵試題127:聚閤數 ☆☆☆ 278
麵試題128:根據概率分布産生隨機數 ☆☆☆☆ 279
麵試題129:隨機采樣 ☆☆☆ 280
麵試題130:數組元素乘積 ☆☆☆ 281
麵試題131:訪問計數 ☆☆☆ 282
第17章 位操作 283
麵試題132:isPowerOf2() ☆☆ 283
麵試題133:isPowerOf4() ☆☆☆☆ 284
麵試題134:兩數相除 ☆☆☆☆ 284
麵試題135:不用加減乘除做加法 ☆☆☆ 285
麵試題136:實現BitSet類 ☆☆☆ 286
麵試題137:爬樓梯II ☆☆☆ 287
麵試題138:隻齣現一次的數字 ☆☆ 288
第18章 麵嚮對象 289
麵試題139:實現迭代器peek() ☆☆☆ 289
麵試題140:實現復雜的迭代器 ☆☆☆☆ 290
麵試題141:實現BlockingQueue ☆☆☆ 292
麵試題142:Java字節碼編入 ☆☆ 293
麵試題143:依賴注入 ☆☆ 294
第19章 雜項 295
麵試題144:垃圾迴收機製 ☆☆☆ 295
麵試題145:程序崩潰 ☆☆☆☆ 296
麵試題146:實現任意讀 ☆☆☆☆ 297
麵試題147:實現讀一行 ☆☆☆ 298
麵試題148:統計電話號碼個數 ☆☆☆ 299
麵試題149:海量數據高頻詞 ☆☆☆ 300
麵試題150:多颱機器的中值 ☆☆☆☆ 300
附錄A 數據結構與算法 302
附錄B 海量數據結構 303
· · · · · · (
收起)