-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
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書號
詳細書籍分類

進軍硅谷 –程序員面試揭秘

( 簡體 字)
作者:陳東鋒類別:1. -> 程式設計 -> 面試指南
譯者:
出版社:電子工業出版社進軍硅谷 –程序員面試揭秘 3dWoo書號: 37953
詢問書籍請說出此書號!

缺書
NT售價: 275

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

譯者序:

前言:

隨著越來越多IT 工程師尋找國外工作機會,介紹和總結國外熱門IT 公司面試過程
及面試內容的需求尤為迫切。美國最新移民改革CIR 方案更傾向于技術移民,這將使得
今后會有更多國內程序員去美國工作。筆者親身參與了國內和美國一些熱門IT 公司的
面試,同時也作為面試官面試過不少人,熟知海內外IT 公司招聘流程和面試方式。通
常來說,去美國IT 公司工作有三種途徑。
直接申請美國公司職位,拿H1B 簽證工作。不少熱門IT 公司直接在國內招人,
比如Facebook、Twitter、Microsoft、Google 等。越來越多的程序員選擇這條路,
一方面是因為美國簽證放寬了,另一方面是硅谷公司面試并沒有比國內公司難多
少。
在國內的跨國公司工作一年后,內部轉組到美國的分部,使用L1 簽證。例如,
從微軟中國轉至微軟西雅圖總部工作。
申請攻讀美國學校的計算機科學碩士或博士學位,畢業后再找工作,即由F1 簽
證轉為H1B 簽證。
這三種途徑都需要成功通過公司技術面試。熱門IT 企業的面試方式大致相同:1∼
2 輪電話面試,通過之后,又有4∼5 輪的現場面談。其中80%的面試是技術面試,每
前言
V
輪技術面試大約45 分鐘,扣除雙方自我介紹和提問時間,花在技術面試的時間大約為
30 分鐘。由于技術面試時間的限制,面試的題目一般不會太難,比大學生編程比賽
(ACM)的題目簡單很多,但是,面試者需要一些編程面試技巧,以及對算法、數據結
構熟練掌握才能在限定時間內完成。這對要求在白板上寫程序和無Bug(Bug free)的
公司來說尤其重要,比如Facebook。
在編程面試過程中,光有解法卻寫不出來代碼是行不通的,這只會讓面試官覺得你
只會夸夸其談,不會編程而已。在編程面試里,切記“讓代碼說話”這條準則。在本書
面試題相關的章節中,筆者貼出了面試題的全部代碼,是為了更多時候讓代碼來說話。
針對每道面試題,我們通常會有如下步驟。
復述/提問:用自己的話復述面試官的題目,以免偏題。面試官給出的面試題并
非一開始就很明確,需要多次問答來確定題意、邊界條件、時間和數據結構限制
等。
舉例:可以與提問同步進行,主要用來確認輸入和輸出結果。
觀察:通過舉例來總結規律,思考可能使用到的結構和算法,然后設計一種你認
為最優的算法。
編碼:和面試官溝通你的算法之后,開始在白板編碼。
測試:使用個別例子,把你的代碼測試一遍。
在以上5 個步驟里,看時間是否充裕,有些步驟可以省略。比如,如果面試官已經
把問題說得很清楚了,那么復述可以省略。在本書當中,筆者也會按照這5 個步驟的解
題技巧來闡述面試題的解題方案。
筆者根據自身作為面試官的多年經歷,并收集了網上眾多的熱門IT 公司面試題目,
精選了150 道題來代表當前熱門和高頻的面試題。本書內容覆蓋了基礎的數據結構:數
組、鏈表、樹、堆棧、字符串等,以及高頻率出現的算法,如動態規劃、倆指針、排列
組合、優先遍歷等。本書的內容分為以下四個部分。
進軍硅谷
程序員面試揭秘
VI
硅谷求職和面試:硅谷公司文化、技術移民、簡歷、面試和錄用談判。
常見數據結構:數組、鏈表、樹和圖、堆棧、字符串。
算法:動態規劃、倆指針、優先遍歷、哈希、排列組合。
雜項:系統設計、海量數據分析、面向對象設計、數學和位操作。
此外,附錄還提供了數據結構和算法總結以及海量數據分析,以供讀者快速查閱。
本書含有以下幾個特點。
本書是市面上第一本介紹硅谷求職和技術移民美國的書。
精選出的面試題是硅谷各家熱門公司的高頻題,極其具有代表性。
總結了常見數據結構的對應算法,提煉出一套解題規律。對于類似題目,有著強
烈的借鑒意義。
本書提供了完整的可運行的源代碼。
對于每道題,本書盡可能給出多種解法,對我們在日常工作中遇到問題時有一定
啟發性。
雖然本書大部分的代碼是用Java 編寫,但很容易轉化為C++/.NET 代碼,因此,本
書也適合C++/.NET 程序員閱讀。
由于本人水平有限,書中的題目并不能完全代表當前熱門公司的編程面試的各個方
面,雖然經過多輪審核,不少解法依然可能有漏洞或者錯誤,希望廣大讀者能給予指正。
我已經搭建了一個關于程序員出國工作的網站“i 碼工”(http://www.imagong.com)和讀
者交流。
在本書的寫作過程中,我得到了很多朋友、同事的幫忙,包括汪純子、周澤勇、俞
明輝、吳盛萱、楊超、尹杭鋒和于東東等。感謝他們幫忙校對文字、審核代碼。同時,
感謝電子工業出版社的工作人員,尤其是符隆美的幫助。感謝她從大到全書的架構,小
到文字的推敲,都給予了我極大的幫助,從而使本書的質量有了極大的提升。最后,我要衷心地感謝我的妻子徐淼。感謝她在過去幾年中對我的理解和支持,為
我營造了一個溫馨而浪漫的家,讓我能夠心無旁騖地寫書。謹以此書獻給她以及我們的
女兒Ella。
陳東鋒
2013 年10 月于上海張江
內容簡介:

本書介紹了如何在硅谷求職,以及剖析了具有代表性的150道熱門硅谷公司的面試題,從面試技巧、基礎知識、解題思路和效率優化等方面總結面試和解題規律。全書分為四部分共19章,包含出國工作途徑、IT求職準備等,以及常見數據結構、算法、大數據、系統設計和面向對象語言等方面的題目和解題思路,并提煉出解題的5個步驟:復述/提問、舉例、觀察、編碼和測試。本書精選出的面試題是硅谷熱門公司的高頻題,可以用來做面試前的練習。對于每道題,本書盡可能給出多種解法,對日常工作中遇到問題時有一定啟發性。

目錄:

第一部分 硅谷求職
第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 Epic12
1.3 技術移民 13
1.3.1 簽證和綠卡 14
1.3.2 稅率和生活 16
第2 章 求職準備 19
2.1 職位選擇 21
目錄
IX
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
進軍硅谷
程序員面試揭秘
X
面試題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
目錄
XI
面試題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
進軍硅谷
程序員面試揭秘
XII
第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
目錄
XIII
面試題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
進軍硅谷
程序員面試揭秘
XIV
第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
目錄
XV
第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
進軍硅谷
程序員面試揭秘
XVI
面試題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
序: