美國的暑假一般從5月底持續到8月底。
如果這三個月都花在玩上,那就太可惜了,所以在暑假找實習是乙個非常好的選擇因為除了獲得實習機會,還可以換個新環境,結識新朋友,同時積累工作經驗。
我工作的電腦科學領域的許多公司每年夏天都會招聘大量實習生。
2016年,我在華盛頓特區的一家創業公司實習。
這家公司主要從事法律文字的分析,非常適合我在自然語言處理方面的科學背景。
當時公司已經初具規模,租用了一層辦公空間。
公司執行速度非常快,我工作的資料科學小組由負責科研的副總裁直接領導。
每當我有新的想法時,我可以直接與VP討論,找到應用場景後立即開始實施。
公司的福利也比較不錯,除了工資,還提供通勤津貼和每週一次的免費午餐,此外還有無限量的零食**。
2017年,我在華盛頓特區的康卡斯特實習。
康卡斯特是一家成熟的網際網絡服務提供商,專門從事寬頻和有線電視服務。
康卡斯特的總部設在費城,我在康卡斯特華盛頓特區的實驗室工作,該實驗室專門開發新的自然語言、影象和技術。
儘管康卡斯特是一家歷史悠久的科技公司,但這個研究實驗室的工作節奏與之前的初創公司相似。
有了新的想法,它們可以通過簡單的討論來實現,硬體支援更加強大,擁有數十個頂級 NVIDIA GPU,用於執行深度學習相關的實驗。
康卡斯特唯一的缺點是福利,除了工資之外幾乎什麼都不提供,而且康卡斯特也收取了幾乎在科技公司標準的免費零食,儘管費用非常低(25美分)。
2018 年,我去了谷歌位於加利福尼亞州山景城的總部實習。
谷歌是一家將工程師文化發揮到極致的公司。
由於谷歌的資料海量,市面上常用的工具在谷歌中都會遇到效率問題,所以谷歌的工程師們幾乎從下到上重寫了所有的**。
例如,谷歌的所有資料預處理都是通過其內部工具Flume實現的。
Flume 是 Google 內部版本的 MapReduce(外稱 Hadoop),它可以有效地將資料處理任務劃分為多個節點,處理後再進行彙總。
機器學習模型的開發基於 TensorFlow,而 TensorFlow 是由 Google 自己開發的。
該工具長期以來一直是開源的,並且一直是學術界和工業界開發深度學習演算法的流行工具包。
機器學習模型是在谷歌自己開發的TPU上訓練的。
TPU是專門為張量(類似於多維矩陣)計算開發的處理單元,計算效率遠高於普通CPU和GPU。
谷歌員工欺騙朋友。
除此之外,日常辦公也在谷歌的產品中,比如桌面開發環境是GLINUX(谷歌的Linux版本),谷歌Gmail的底層是用來收發郵件的,谷歌文件是用來分享文件的,瀏覽器是谷歌的Chrome,甚至膝上型電腦都是Chromebook。
谷歌的福利在業內也是首屈一指的。
除了免費餐食和通勤班車外,該公司還經常分發紀念品,例如各種貼紙和Android機械人。
我的YouTube還傳送了剛剛上映的《碟中諜6》的電影票,讓我們可以在工作時間去看電影。
Google 還為實習生提供其他活動,例如團體尋寶、免費自行車租賃等。
早餐在谷歌桑尼維爾園區的自助餐廳供應。
除了上面提到的好處外,實習經歷還可以為畢業後未來的求職鋪平道路,因為如果實習表現符合預期,公司會給你返還優惠。
例如,如果你在谷歌有兩個實習機會,並且你的表現符合預期,你可以直接獲得全職工作機會; 如果你做了一次實習並按預期表現,你可以將現場面試的輪次從五輪減少到兩輪。
相比之下,Facebook 的回聘比較容易拿到,只要你在 Facebook 實習一次,表現符合預期,就會發出全職回聘offer。
谷歌為員工提供的通勤班車。
面試準備
當我在谷歌實習時,我離畢業只有一年的時間,所以我開始準備找工作。
在申請計算機領域的工作的過程中,演算法面試是必不可少的,所以我開始在leetcode上刷問題。
leetcode 上有數百道練習題,我先按演算法對題進行分類,然後在每個演算法下練習一些題。
在那之後,我專注於每家公司實際測試的問題(此功能需要付費)。 我練習了乙個多月,當我看到問題時,我能夠想到最優演算法。
除了演算法問題,我還複習了很多基礎知識,包括各種常見資料結構的原理和實現,機器學習領域的各種基本概念和方法等等。
在準備面試的同時,我還請各公司的同學幫我做好內部晉公升。
雖然自己投簡歷也可以獲得面試機會,但通過簡歷的幾率更高,推薦人也可以幫忙關注整個招聘過程。
面試
在谷歌實習後,我在加州多呆了乙個星期,主要是為了參加面試。
內部推薦提交後,還傳送了各大公司**面試的HR預約郵件。 我特意把這段時間安排在我留出的那一周。
後來,那一周的前四天,我參加了20多個**面試,白天面試美國公司,晚上面試國內公司,周五去谷歌進行現場面試。
面試內容與各公司相似。 最多的是對演算法問題的檢查。
這部分一般通過**程式設計進行。 面試官會給我乙個**程式設計位址。
面試官提問後,我先和面試官口頭談談我的想法,然後在回答區寫下我的解決方案,然後向面試官解釋執行過程,並給出時間和空間的複雜度。
由於前期準備充分,我回答了所有的演算法面試問題。
不同的公司在面試時也有不同的優先事項。
國內公司都測試了我的資料結構基礎知識。
美國的公司對我的機器學習知識更感興趣。
在谷歌和Facebook等美國公司中,他們通常只問演算法問題。
自招的團體,如Microsoft和蘋果,會問很多與團體業務相關的問題。
現場面試
我參加了四家美國公司的面對面面試:谷歌、Facebook、蘋果和亞馬遜。
谷歌的現場面試安排在我所有的面試結束後。
由於我剛剛結束了在谷歌的實習,我只進行了兩輪面試。
兩位面試官都是廣告部門的經理。
他們走過來問演算法問題。 和面試一樣,在我談完我的想法後,我在白板上手寫了我的解決方案,然後解釋了細節,順利通過。
Facebook的現場採訪要激烈得多。
那時我回到了馬里蘭州。
為了這次採訪,Facebook為我預訂了往返機票和酒店。
採訪前一天,我從馬里蘭州飛到加利福尼亞,第二天一大早就去了Facebook總部接受採訪。
共有六輪面試,其中四輪是演算法面試,一輪是機器學習系統設計,一輪是行為面試加上簡單的演算法面試。
演算法面試和谷歌一樣,就是在白板上寫**。 機器學習系統的設計是基於面試官提出的問題(比如設計廣告推薦系統),從零開始構建解決這個問題的系統,包括資料採集、演算法設計、演算法離線評估、**評估等模組。
行為面試是關於詢問你在工作中可能遇到的問題,例如如果你在某個問題上與老闆意見相左該怎麼辦。
在這個環節中,面試官希望聽到候選人有開放和包容的態度,可以充分討論遇到的問題。
蘋果的面試是分組進行的,我申請了Siri的自然語言理解小組。
蘋果的現場採訪包括一場講座和多輪關於演算法和機器學習基礎知識的採訪,內容與之前類似。
由於時間問題,亞馬遜的採訪改為遠端採訪,與蘋果的採訪基本相同。
產品/服務選擇
經過所有面試,我收到了上述四家公司的錄取通知書。
在面對錄用選擇時,我綜合考慮了每家公司的薪酬福利、工作內容和上公升空間。
蘋果和亞馬遜在薪水方面沒有足夠的競爭力,谷歌給了我有限的工作內容和成長空間,所以我最終選擇了Facebook。
最初的報價一般是相對較低的薪資(俗稱低球),但如果有其他公司的offer,可以讓各公司的HR提高每家公司的報價,從而快速提高你的薪資水平。
增加的工資主要體現在**和簽約獎金上。 合理使用這條規則可以顯著提高您的收入水平。
除了薪水之外,我之所以選擇Facebook,是因為它靈活的選擇政策。
Facebook 在招聘員工時不會預先分配群組,而是將新員工放入訓練營計畫中。
該項目的員工可以充分自由地體驗每個小組的工作,並為他們做出最佳選擇。
在 Facebook 工作是一種極大的享受。
我小組的經理總是設法很好地計畫每半年的任務。
每半年,整個小組都會有一些具體的大目標,然後經理會把這個大目標分解成幾個相關但不重疊的小任務,開始以2-3人為一組工作。 每人會分成2-3個小任務,每個任務組會有特定的分工。
這允許組中的員工管理多個任務,並且還允許員工在無法推進任務時不會失去工作。
這種方法還使績效評估變得清晰明了。
員工有明確的需要優化的指標,管理者可以利用員工優化指標,爭取更好的績效考核,甚至為員工爭取晉公升機會。
Facebook為其員工提供了可以說是無微不至的關懷。
除了通常的免費餐食和通勤班車外,還有非常好的員工套餐健身房、按摩服務、牙醫服務等設施。
此外,有足夠的預算用於團隊建設。
每個小組都有機會每季度進行一次團體郊遊,偶爾還會有晚餐。
每位員工每年還有機會參加一次學術會議,公司承擔所有差旅費用,如果飛行距離較長,公司為員工購買商務艙機票。
在今年冠狀病毒大流行期間,Facebook關閉了校園,所有員工都轉為在家工作。
公司為每位員工提供補貼,以購買在家工作所需的裝置和服務。
對於因疫情無法工作的員工,如保安、餐廳員工、因疫情無法進入美國的員工,公司繼續全額支付。