最一開始也是看到了有興趣的缺,然後請台灣微軟的朋友幫忙投內推。

我從2024年一月到三月投了四個缺,因為那時我主要還是在等 Google 的機會,沒把注意力放在這裡。

四月下旬有人來聯絡我了,不過寄信過來的不是人資,而是該部門的工程師直接寄信來跟我約面試時間,是蠻少見的情況。入職後跟同事(當時寄信來的工程師)聊到,才知道當時人資的人力不夠處理,慘…

Timeline

  • 2024/04/26 收到面試邀請。我還是在週五的下班後跟當時同事吃壽司時回信的,笑死
  • 2024/05/02 第一關面試
  • 2024/05/17 跟人資通話,主要是跟確認我繼續面試的意願,以及講解接下來的面試流程
  • 2024/05/27 第二關面試
  • 2024/05/28 第三關面試
  • 2024/06/01 第四關面試,這次因為是跟西雅圖的人面試,所以排到了星期六的早上七點(原本的時間好像我還是對方沒辦法,總之這個很怪的時間是我提議的)
  • 2024/06/12 收到人資通知會安排 final interview
  • 2024/06/19 Final interview,跟微軟台灣研發中心總經理 Michael Chang 聊天。人資在這次面試前的信中還提及 “No worries. He’s easy to talk to.”
  • 2024/06/26 人資請我填一些有的沒的表格,包含基本資料、期望薪資,並提供薪資相關文件當作參考。後續通話中口頭接受 offer
  • 2024/07/02 收到正式 offer 以及簽一些有的沒的文件
  • 2024/07/03 填更多 background check 需要的有的沒的資料,聽人資說正常來說三週就可以結束了,但我有些資料填得不太好加上有些經歷可能比較難核實,所以拖到 8/5 才結束
  • 2024/08/06 開始討論入職時間,2024/08/29 入職

大家在意的面試細節

前面四關的面試官都是 RD 或 Engineering Manager,每一關都是預計一個小時,包含 coding、問答和閒聊,但實際上每一關都跟面試官聊到有點超時。當然我們都有確認彼此超時沒關係才繼續聊,之前面試其他公司時有遇到已經明顯超過面試時間但面試官完全沒有要終止面試的意思,我也不好意思問面試是不是該結束了,結果搞得我要多請一個小時的事假,我覺得這樣就很不 ok。

這四關 coding 的難度大約可以對應到 Leetcode Medium,不會太刁難人。使用 Microsoft Teams 和 Codility 平台進行面試。

基本上,面試外商公司都可以先假設面試會是全英文進行,因為你不會知道面試官會不會講你的語言。我這次面試的狀況是,前三關在解題時是英文進行,後面的問答和閒聊就切換回中文了。第四關的面試官是在西雅圖的微軟總部的中國人 EM,我一開始有問面試官需不需要先用英文,但是對方表示我們用中文就行了,蠻妙的。

第一關的程式題結束後,面試官就跟我聊到說:「其實我以前也待過群暉,聽說你們最近XX福利被砍掉齁」,笑死。後來就也聊到這個部門有一半都是群暉跳過去的,並聊了這個部門主要在做的事情和產品是什麼等等。我們一直聊到我上班要遲到了才結束,總之蠻愉快的。

在第二關面試的前一週我剛好又確診新冠,但我又想要趕快把面試走完,所以沒有申請延後面試,想說反正不影響我的思考,頂多一直咳嗽。於是我在第二到第四關的面試一開始都先打預防針說「我剛確診完不久,等等大概會一直咳」。大家如果遇到面試前剛好生病,請記得可以跟人資談延後面試,甚至在面試時因為各種原因可能被評論為表現不好,不論是你的問題或面試官的問題,也要爭取自己的權益試著談復活賽。

第二關細節忘得差不多了,只記得題目是什麼。

到了第三關,我甚至在程式題時沒有寫多少 code。面試官講完題目後問我有沒有看過這個題目,我沒有想太多就很誠實地說有,並且很快地嘴砲一遍解法、解法正確性和此演算法的時間空間複雜度分析。結果後來面試官給題目變了形,解法就直接從優化過的線性區間搜尋算法變成動態規劃了,那時我已經一陣子沒有練習實作動態規劃了,雖然知道轉移式長什麼樣子,不過寫得有點心虛,但面試官看到轉移式出來之後就算我過了。我心裡最漂亮的寫法還是 top down 或 bottom up 遍歷的實作方式。

第四關比較有印象的是程式題結束之後面試官有問我當前的工作內容、如何實現類似 JavaScript 中 setTimeoutsetInterval 等功能、如何平行化做什麼事情等等。我被問到我想不通的問題如平行程式設計等,我也是直接說「這我不懂,我以前沒做過,我好像也沒在履歷上說我會這東西」,不過後面還是有討論到我會的東西啦。

最後一關就如前面提到的,是跟微軟台灣研發中心的總經理 Michael 聊天。結論來說,這次跟 Michael 聊天的含金量相當高,很難有機會跟有27年經驗的大佬一對一聊天。一聽到我那時的工作有一大部分都是在翻新某個產品,Michael 馬上就問了為什麼要翻新,我才意識到這個問題我很少去思考到,大概是因為那時要做什麼都是大老闆說了算,印象中也沒有做什麼很嚴謹的商業分析或成本分析。後來 Michael 分享了他以前帶團隊時在決定翻新某個產品之前花了好幾個月去建模做分析,因為翻新一個產品是很重大的決定。我們也有聊以前我創業跟創辦人價值觀不合的事情、聊怎麼看人等等。最後他也跟我建議說如果遇到很屎的工作,就算是在微軟,也要趕快跑。Michael 真的是經驗老道、誠懇、聲音又很有磁性的大哥。

如何談薪水

我不知道。我上網查一查微軟台灣的行情大概怎樣就把期望薪資交上去了。

Background check

這邊會需要填當前的工作和近四年的學經歷、工作經歷,然後負責 background check 的合作夥伴就會去聯絡這些當過你的主管的人或公司的人資去核對這些資料的真實性。

在這個階段通常人資會建議先不要跟當前公司提離職,等到 background check 結束之後再提離職。雖然當前的工作也需要填寫,但可以選擇請他們不要聯絡現在的主管。

根據人資所說的,正常來說三個禮拜會跑完流程,但可能因為我這四年有學校、創業、高頻交易和群暉四個工作經驗比較多,而且我一開始不知道在學時的工作經歷不需要寫,再加上我在學時的那段創業經歷又特別難處理,他們多花了一些時間去處理吧。

最後 Operations Manager of Background Screening 寄信來要求解決一些我提供的資訊和他們得到的資訊的不一致性

  • 開始工作的時間不一致,我覺得是從 Oct. 2021 開始,但他們問到的是 June 2022,非常奇怪…我找人一起來忙這個題目以及幫忙邀請人訪談是做假的嗎…
  • 離職原因我提供的和他們問到的不一致

總之這也沒什麼,回個信把細節講清楚就好了,後來這個背景調查就過了。

結語

老樣子,有想到什麼大家會好奇且可以講的細節,我會再補上來。

總之微軟是好公司,我覺得不會比 Google 差。各位能跳外商就跳外商啦,跟台商比起來,有更多有薪假、更多下午茶、更多社團和很多有的沒的活動,也不會被搞文字獄或勞資糾紛,我甚至入職近半年還沒聽過一句微軟的壞話(除了 Windows 很難用和各種使用者介面做得很爛以外)。另外,看得出來微軟真的會在乎員工的 work-life balance,而不是某些公司會說「我們更注重 “work-life integration”」。太可怕了,到底誰要工作生活整合,太卷了吧?

如果有人需要內推、新鮮人需要找工作上的任何建議,或者聊八卦,都可以聯絡我。