技術移民寶典:程式設計師海外求職錦囊

技術移民寶典:程式設計師海外求職錦囊

《技術移民寶典:程式設計師海外求職錦囊》是2016年4月電子工業出版社出版的圖書,作者是陳東鋒、塗峰。

基本介紹

  • 書名: 技術移民寶典:程式設計師海外求職錦囊
  • 作者:陳東鋒、塗峰
  • ISBN:978-7-121-28195-2
  • 頁數:208
  • 定價:45.00元 
  • 出版社電子工業出版社
  • 出版時間:2016年4月
  • 開本:16
內容簡介,編輯推薦,內容提要,目錄,作者簡介,前言,

內容簡介

《技術移民寶典:程式設計師海外求職錦囊》介紹了如何在矽谷求職,以及剖析了具有代表性的43 道熱門矽谷公司的面試題,從面試技巧、基礎知識、解題思路和效率最佳化等方面總結面試和解題規律。《技術移民寶典:程式設計師海外求職錦囊》分為四部分共15 章,包含出國工作途徑、IT 求職準備、實戰訪談,以及常見數據結構、算法、大數據、系統設計等方面的題目和解題思路,並提煉出解題的5 個步驟:複述/提問、舉例、觀察、編碼和測試。《技術移民寶典:程式設計師海外求職錦囊》精選出的面試題是矽谷熱門公司的高頻題,可以用來作為面試前的練習。對於每道題,本書儘可能給出多種解法,對於解決日常工作中遇到的問題也有一定啟發性。
《技術移民寶典:程式設計師海外求職錦囊》適合正在應聘程式設計師相關職位的就業人員閱讀和參考,特別是打算尋求美國IT 公司職位並想通過技術移民實現美國夢的程式設計師。

編輯推薦

專為應聘程式設計師相關職位的就業人員,特別是打算尋找美國IT公司工作,並想通過技術移民實現美國夢的程式設計師量身打造

內容提要

《技術移民寶典:程式設計師海外求職錦囊》介紹了如何在矽谷求職,以及剖析了具有代表性的43 道熱門矽谷公司的面試題,從面試技巧、基礎知識、解題思路和效率最佳化等方面總結面試和解題規律。《技術移民寶典:程式設計師海外求職錦囊》分為四部分共15 章,包含出國工作途徑、IT 求職準備、實戰訪談,以及常見數據結構、算法、大數據、系統設計等方面的題目和解題思路,並提煉出解題的5 個步驟:複述/提問、舉例、觀察、編碼和測試。《技術移民寶典:程式設計師海外求職錦囊》精選出的面試題是矽谷熱門公司的高頻題,可以用來作為面試前的練習。對於每道題,本書儘可能給出多種解法,對於解決日常工作中遇到的問題也有一定啟發性。
《技術移民寶典:程式設計師海外求職錦囊》適合正在應聘程式設計師相關職位的就業人員閱讀和參考,特別是打算尋求美國IT 公司職位並想通過技術移民實現美國夢的程式設計師。

目錄

第一部分 矽谷求職
第1 章 矽谷公司 ........................................................................................ 3
1.1 矽谷簡介 .......................................................................................... 3
1.2 傳奇旗幟 .......................................................................................... 7
1.2.1 微軟 ....................................................................................... 8
1.2.2 谷歌 ..................................................................................... 10
1.2.3 亞馬遜 ................................................................................. 11
1.2.4 Facebook .............................................................................. 13
1.2.5 Twitter .................................................................................. 14
1.2.6 Epic ...................................................................................... 14
1.3 技術移民 ........................................................................................ 15
1.3.1 簽證和綠卡 ......................................................................... 16
1.3.2 稅率和生活 ......................................................................... 19
第2 章 求職準備 ...................................................................................... 21
2.1 職位選擇 ........................................................................................ 23
2.2 公司選擇 ......................................................................................... 24
2.3 人際關係 ......................................................................................... 27
2.4 求職渠道 ......................................................................................... 30
第3 章 簡歷 .............................................................................................. 32
3.1 簡歷特點 ......................................................................................... 33
3.2 簡歷結構 ......................................................................................... 36
3.3 簡歷最佳化 ......................................................................................... 39
第4 章 面試 .............................................................................................. 43
4.1 面試準備 ......................................................................................... 43
4.2 面試流程 ......................................................................................... 49
4.3 編程面試 ......................................................................................... 51
4.4 注意事項 ......................................................................................... 52
第5 章 聘書與職業發展 ............................................................................ 56
5.1 聘書 ................................................................................................. 57
5.1.1 聘書要素 .............................................................................. 57
5.1.2 決策因子 .............................................................................. 58
5.1.3 薪酬談判 .............................................................................. 61
5.1.4 接受、延期或婉拒 .............................................................. 63
5.2 職業發展 ......................................................................................... 64
5.3 優秀工程師 ..................................................................................... 66
5.4 職業晉升 ......................................................................................... 70
第二部分 實戰訪談
第6 章 對身在美國和即將赴美工作的工程師訪談 ..................................... 77
網際網路資深大牛董飛 .............................................................................. 77
創業者徐淼華 ......................................................................................... 82
留美計算機博士張喆 ............................................................................. 85
微軟軟體工程師喬成 ............................................................................. 88
Broadcom 硬體測試工程師蔣波韡 ........................................................ 90
矽谷初創公司大數據處理軟體工程師常新宇 ...................................... 93
第三部分 算法面試
第7 章 倆指針 .......................................................................................... 99
面試題1:兩數之和I ☆☆ .................................................................. 99
面試題2:兩數之和II ☆☆☆☆ ....................................................... 101
面試題3:Top K☆☆☆ ...................................................................... 103
面試題4:兩數組第k 個值☆☆☆☆☆............................................. 107
面試題5:有序數組去重☆ ................................................................ 109
面試題6:數組分水嶺☆☆☆ ............................................................. 111
第8 章 動態規劃 ..................................................................................... 113
面試題7:最長遞增子序列☆☆☆☆ ................................................ 114
面試題8:最小化數組乘積☆☆☆☆ ................................................ 116
面試題9:刷房子☆☆☆ .................................................................... 117
面試題10:編輯距離☆☆☆☆ .......................................................... 118
面試題11:最長回文子串☆☆☆☆☆ ............................................... 120
面試題12:最大公共子串☆☆☆☆ .................................................. 121
第9 章 優先遍歷 .................................................................................... 123
面試題13:填充圖像☆☆☆☆ .......................................................... 123
面試題14:單詞替換規則☆☆☆☆ .................................................. 124
面試題15:有向圖遍歷☆☆☆☆ ...................................................... 126
第10 章 哈希 .......................................................................................... 128
面試題16:最長不同字元的子串☆☆☆☆ ....................................... 128
面試題17:常數時間插入刪除查找☆☆☆ ....................................... 129
面試題18:對數時間範圍查詢☆☆☆☆ ........................................... 130
面試題19:實現LRU 快取☆☆☆☆ ................................................. 130
面試題20:經過最多點的直線☆☆☆ ............................................... 133
第11 章 堆疊 .......................................................................................... 136
面試題21:局部最大值☆☆☆ ........................................................... 136
面試題22:數據流最大值☆☆☆☆ ................................................... 138
面試題23:產生逆波蘭式☆☆☆ ....................................................... 139
面試題24:逆波蘭式計算☆☆☆ ....................................................... 140
面試題25:設計Min 棧☆☆☆☆ ...................................................... 142
面試題26:最小公共祖先☆☆ ........................................................... 143
擴展問題1 ............................................................................................. 144
擴展問題2 ............................................................................................. 147
第12 章 排列組合 ................................................................................... 149
面試題27:翻譯手機號碼☆☆☆ ....................................................... 149
面試題28:數組簽名☆☆☆☆ ........................................................... 151
面試題29:組合和☆☆☆ ................................................................... 153
面試題30:N 皇后☆☆☆☆ ............................................................... 155
第13 章 雜項 .......................................................................................... 157
面試題31:實現疊代器peek() ☆☆☆ .............................................. 157
面試題32:實現複雜的疊代器☆☆☆☆ ........................................... 158
面試題33:實現BlockingQueue ☆☆☆ ........................................... 160
面試題34:隨機數產生器☆☆☆☆☆ ............................................... 161
面試題35:找出明星☆☆☆ .............................................................. 163
面試題36:根據機率分布產生隨機數☆☆☆☆ ............................... 163
面試題37:隨機採樣☆☆☆ .............................................................. 164
面試題38:統計電話號碼個數☆☆☆ .............................................. 165
面試題39:海量數據高頻詞☆☆☆ .................................................. 166
面試題40:多台機器的中值☆☆☆☆ .............................................. 166
第四部分 系統設計
第14 章 實戰技巧及準備 ........................................................................ 171
14.1 實戰技巧 .................................................................................... 172
技巧1:不要驚慌 ........................................................................ 172
技巧2:與面試官積極交流 ........................................................ 173
技巧3:釐清需求 ........................................................................ 173
技巧4:先框架再細節 ................................................................ 174
技巧5:留意錯誤處理 ................................................................ 174
14.2 常見知識點 ................................................................................ 175
14.3 如何準備 .................................................................................... 177
第15 章 系統設計例題 ........................................................................... 180
面試題41:大數據存儲☆☆☆☆ ...................................................... 180
面試題42:大並發處理☆☆☆☆ ...................................................... 182
面試題43:大數據收集☆☆☆☆ ...................................................... 185
系統知識閱讀 ....................................................................................... 188
附錄A 數據結構與算法 .......................................................................... 191
附錄B 海量數據結構 .............................................................................. 192

作者簡介

陳東鋒
曾是微軟和IBM總部的軟體研發工程師,目前在一家大型網際網路公司從事廣告、交易、架構等方面的研發和管理工作。
塗峰
2008年獲得復旦大學計算機軟體與理論專業碩士學位,現在矽谷某大數據創業公司擔任系統架構師。在此之前,曾在百度商務搜尋部商業知心廣告業務擔任高級軟體工程師、EMC統一存儲部和IBM系統技術部擔任資深軟體工程師,主要負責底層系統開發方向。

前言

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

相關詞條

熱門詞條

聯絡我們