北美找實習心得 — Summer 2020

Chih-Che Fang
10 min readMay 8, 2020

--

1.前言:

因為找實習的過程中實在受到太多人幫忙, 而且當初也發誓如果有找到實習就會分享資訊幫助下一屆台灣學弟妹, 由於我覺得自己實習找的並沒有很好(一路跌跌撞撞), 所以除了記錄自己投履歷面試的過程,也會從"如果能重來"我會怎麼改進或是"我犯了那些錯誤/如何改進"的角度來闡述, 我主要投遞的都是SDE intern, 如果認為文章有任何錯誤資訊也請不吝指教~

題外話:

今年受到疫情影響, 許多公司裁員縮編, 川普有意限縮各項簽證但情勢尚未明朗, 我自己感覺沒綠卡的同學(像是我)今年秋招很不樂觀, 也只能繼續自己加油, 意識到沒身分的自己能掌控的其實很少, 只有努力是唯一自己能掌控的

這篇文章適合甚麼樣的人:

志在申請Google/FB/Microsoft/LinkedIn/Apple等大公司SDE intern的同學應該可以略過我的心得了, 因為這幾間公司我都是在有人內推的狀況下履歷就被拒了,但如果想了解下找實習大概是甚麼狀況的同學大概可以參考一下

2.背景簡述:

台灣系統廠軟體工程師經驗3 year, IE轉專業念MS CS(第二碩)

3. 時間線

8/1–8/31: 刷題(Leetcode約400題,前300題刷2~3次), 改履歷

9/1–10/31: 海投履歷, 找內推, 參加學校career fair

10/31–11/26: 一個面試都拿不到於是開始再修改履歷

11/27–12/17: 繼續海投履歷 & 零星interview

12/23: 1st offer got

12/26–2/29: 刷題(Leetcode約500題 & 重複複習), 繼續海投履歷 & 零星面試

2/29–3/31: 陸續有面試邀請, 但因課業繁重和忙著打比賽就沒繼續面了

我覺得時間安排上我算開始的早, 這點還算合理, 我自己覺得學校課業很重, 早點開始時間上較充裕, 但發現怎麼海投和內推都拿不到面試, 一直到11月底前我都沒收到任何面試, 一番檢討後我覺得可能是由於我的履歷寫得太差, 所以我拿著履歷到處求人幫忙看看哪裡出了問題, 後來大致上整理出我履歷幾個問題:

  1. 排版悲劇, 閱讀困難
  2. 版面過擁擠,太過貪心甚麼都想放
  3. 沒有強調自身實務工作經驗

於是我參考了大家給我的意見和一些履歷模板, 把我的履歷改得更精簡, 便於閱讀, 並強調我的工作經驗的欄位(把部分專案拉到工作欄位), 這裡意識到由於各大公司只要開缺, HR都是收到一大堆履歷, 根本不缺你一封, 只要你履歷寫得差, 很高機會HR根本連看都不看

再來就是我自己耍了很大的白癡, 很多公司都是用同一套招聘系統, 而這系統會記錄你之前的申請紀錄, 於是我的Email從9月初開始填錯一間公司, 後面的公司就跟著一起填錯, 所以很多公司的OA邀請都沒到, 非常後悔當初沒有好好檢查自己填寫的申請資料和追蹤各家公司後續..

4.面試過程

由於收到太多份OA無法一一簡述, OA的題目可以上一畝三分地查詢, 上面有很多面經資料, 這邊只分享有進到phone interview的公司

Naveego — 11/27

做了數十份OA後這是我收到第一個phone interview, 面的是SDE intern, 回答得非常差, HR聽上去是個美國小姐, 說這是一個introduction interview而且想了解一下我的職涯興趣, 面試過程不到15分鐘問了幾個問題:

  1. Briefly introduce yourself
  2. Most proud project
  3. Why Naveego? Why this position?
  4. 有沒有出自於興趣做過甚麼side project?
  5. 未來職涯目標

和同學聊過後發現其實這都是典型的behavior question, 網路上搜尋一下就可以找到很多建議回答方式, 而我當時沒有特別針對這些問題準備, 對自己的履歷掌握度也不高, 更慘的是英文聽力和口說都不及格, 美國人講話的速度我認為是比托福還稍快的, 自己英文聽力不好導致我很多問題當下沒聽得很清楚, 回答也很非常卡, 沒有把握住機會promote自己

Result: 2天後收到拒信

Demiurge — 12/4

這是第二個phone interview, 是Boston一家手遊新創, HR主要問了幾個問題:

  1. Introduce yourself
  2. Why this position and why our company?
  3. 你花多少時間在玩遊戲, 都玩甚麼樣的遊戲

由於我的英文聽力太差, 一直請HR repeat 問題, 回答也很卡, 面到一半就被HR說我們這職缺需要一定的溝通能力, 電話中就被拒了, 於是我開始認真練英文聽力和口說, 每天會固定播出一些時間聽voice tube, 然後behavior question的問題反覆背誦來讓自己回答不要這麼卡

Result: 電話中被拒..

Amazon — 12/17

申請的是SDE intern, 印象中是做了三輪OA才拿到面試機會, Amazon OA的題目可以在一畝三分地上查詢, 面試我的是個印度小姐, 人很好出的問題也極簡單:

Behavior question:

  1. Introduce yourself
  2. Most proud project
  3. 很細的問了我履歷上的project用了甚麼語言,技術,框架

Technical Question:

  1. Check whether two binary tree is equal or not
  2. Two sum
  3. What is array? What is array list? what’s the difference

4. Given a stream of integer, what data structure would you use to store it? (這題後來在網路上查了發現沒有標準答案, 面試官其實期望你多問一些澄清問題和她進行討論)

我的運氣非常好,全遇到送分題, 每題大概都是五分內可解完, 最後五分鐘讓我問問題, 隨意挑了幾個behavior question進行反向BQ, 不過這裡建議能多熟習一下印度腔英文, 因面試官遇到印度人的機會很高, 而印度腔的英文我常常聽不懂

Result: 1st Offer got

Wayfair — 1/4

Boston一個具一定規模的線上家具電商, 做完OA後快兩個月才收到phone interview, 面試官是個白人大叔, 一開始先叫我介紹自己以及說明為何想應徵這個職缺, 然後進行technical question:

  1. 寫一個class紀錄訂單資訊, 存貨資訊

2. 寫一個涵式處理訂單, 判斷存貨是否足夠

3. 寫一個函式更新存貨資訊

問題其實很簡單, 但這邊我認為我回答得不太好, 例如面試官想要的處理訂單函式是要確定存貨足夠才更新存貨資訊, 而我則是在檢查訂單時就一併更新, 我沒有和面試官確認面試官想要的邏輯就貿然寫code, 然後寫完被糾正耗了不少時間, 因此會建議任何問題有一點不清楚就要和面試官口頭確認, 確認後才開始寫code

Result: 2天後通知SDE崗位招滿了

PreVeil

1st Round Interview — 1/7:

寫完OA後收到video interview邀請, 是Boston一家做security software的新創, 面試官是個backend team leader, 面試一開始很仔細地問了履歷和BQ:

  1. Introduce yourself
  2. Why PreVeil? Why this position?

3. 你想從PreVeil這段實習中得到甚麼

4. 為何轉專業

5. Most proud project

6. 講述你的工作經驗(邊講面試官又回問了些問題,履歷問得很詳細,像是你這邊用了甚麼技術, 甚麼框架)

7.學校最感興趣的科目

然後進行technical question:

  1. 第一題是給了一個加密演算法的code, 考你演算怎麼運作, 時間複雜度, 空間複雜度, 以及破解難度
  2. 第二題依舊給了你一個加密演算法, 考你類似的問題
  3. 比較第一種和第二種加密演算法, 哪一個比較安全, 為什麼?

問題都答出來了, 破解難度可以從brute force的角度下去思考

2nd Round Interview— 1/21:

面試官是另一個白人小哥, 沒有多問甚麼就給了你一大段code, 問你這段code在幹嘛?

這段code主要也是資料加密的一段WEB Script, 用了sha256加密資料和檔名, 用了AWS 儲存資料,然後又問了:

  1. 你覺得這個web script 哪裡不安全, 如何改進?
  2. 如果有很多user同時使用access script裡的API, 你認為會發生甚麼事以及如何改善?
  3. 你覺得這段code哪裡不太好? 你會想怎麼改進(主要是問code refactoring and design pattern)

由於對python不是很熟,第三題就沒答出來, 熟悉各熱門語言的code refactoring & design pattern還是很重要, 最後開放10分鐘讓我問問題

Result: 2面1個月後offer got

Nutanix

加州一家做cloud data center的公司, OA做完後馬上收到phone interview邀請(這裡提醒一下Nutanix OA很難, 我自己覺得Leetcode Medium ~ Hard難度, 要先準備), 申請的是IoT Intern

1st round interview — 1/24:

華人面試官, 簡單確認了一下我履歷和ML/DL相關的經歷, project, 還有熟悉甚麼語言, 就請我簡單介紹一下自己, 然後馬上進入technical interview:

  1. 問了java很多語言特性, 像是interface和一般class的差別在哪, 多型/繼承觀念
  2. 問了很多java mult-thread觀念, 像是如何保護某個變數不受多執行緒影響
  3. 問了一些java system design問題, 像是如何設計一個producer/consumer message queue, 如何確保他正確運行

接下來進入Coding question:

  1. Reverse Linked List
  2. 給一串數列, 如何判斷有沒有數字重複, 問了時間複雜度, 空間複雜度, 最後問有沒有更好的方法, 問時間複雜度改善多少
  3. 給一串字串, 如何reverse字串中的某個子字串(字串前後可能夾雜空格或非char的特殊符號), 問下時間複雜度

最後開放10分鐘讓我問問題

2nd Round Interview — 2/7:

Team manager, 印度面試官, 大致跟我介紹了這個崗位和team近況在做甚麼, 然後問了些behavior question:

  1. Introduce yourself
  2. How would you define your self?

3. 為何轉專業

4. Why Nutanix? Why this position?

5. Interest?

然後問我了不了解一些技術:

  1. Docker
  2. Go Language

很可惜這兩樣技術都不熟悉也照實回答了, 最後開放10分鐘讓我問問題

Result: 面試後三天HR通知Offer got

5. 結語

  1. 大家都很強調刷題, 但我認為英文的溝通也很重要, 尤其是美國有各式各樣的腔調, 純正美國腔講得快時都聽不太懂了, 英國腔/印度腔對我而言根本是夢靨, 而且遇到印度面試官的機率不小, 像我一樣英文聽力 & 口說都不好的人要自己想辦法加強
  2. 履歷要好好寫, 今年在有人幫忙內推的情況下, 各大公司Google/FB/LinkedIn/MicroSoft/Apple仍然是連面試機會都沒有, 我覺得除了校名&背景不夠強以外, 我的履歷寫的很差有很大的改善空間, 其次可能就是我skill set可能與這些大公司要求的不太match(?), 像是我身邊今年有拿到Google面試都是專精ML/DL/NLP的同學,不過樣本數太少我也不太確定就是了..
  3. 申請職缺的資料要稍微檢查一下不要像我一樣白癡寫錯..
  4. 不只是刷題, 一些Behavior question or 語言特性相關的問題也要準備一下
  5. 不一定只瞄準各龍頭大公司, 當地中小公司機會也很多 (我很多面試都是Boston的中小公司)

6. 致謝

感謝Mason老師幫我看履歷幫我內推, 大力Support我找實習的各項資源, 沒有老師的幫忙我不可能拿到內推機會

感謝無數位學長姊幫我看履歷還幫忙我內推,沒有你們的幫忙我不可能拿到面試機會

感謝室友在Amazon面試前幫我mock interview, 無私分享我面試資訊

感謝UMass同學總是在我找實習或面試挫敗時願意給我很多意見和資訊

感謝家人朋友的加油打氣

--

--