以下廢話成分真的遠大於技術含量,不小心寫太長了,各位可以挑有興趣的公司看就好,還請各位見諒,另外也請原諒我時間線記不得也懶得去翻了QQ,小弟只能盡量分享我的經歷。
Microsoft (RDI)
小弟投的職位是 Research Development Intern,工作內容會因部門不同而差異蠻大的,不過基本上都跟 Coding 脫不了關係,也就是廣義的 Software Engineer Intern。至於進來以後有沒有像一些微軟實習黑特文說的都在打雜,簡短的回答是「完全沒有」XD,詳細會和這兩個月實習的心得分享在文章的最後。
1. 萬寶華面試
同場的也都是面 RDI 的,我這場是面試官一對三,另外兩位都是112的QQ,這階段可以分兩部分,behavioural 團體面試(限全英文)和微 technical 1 on 1面試(中文),語言限制和面試流程都有在實際面試之前先告知。
Behavioural Interview (團體面試)
在收到一面通知的同時就有告知要準備一個三到五分鐘的全英文自我介紹,所以團面的一開始就是自我介紹,自我介紹之後面試官會針對剛剛的介紹或履歷問問題,問完再換下一位,所以雖然說是團面但其實是三個輪流 1 on 1。
有被問到一些先前有準備到的基本的 personality 問題,像是「三個字形容自己」或「為甚麼想進微軟」之類的,其中有一段小弟講到我的 LINE分析時,面試官就直接現場打開來看,邊看邊點頭說 Interesting…,讓我信心倍增XD
微 Technical 1 on 1
這段面試主要是用中文簡單介紹自己一項 project 的架構,要在白板上邊畫邊介紹,介紹的同時會有攝影機在錄影,應該是讓第二關的微軟 interviewer 看的,因為當下就只有一位萬寶華的面試官,小弟推測如果講到太深的技術應該會不好理解,所以我沒有用那種很技術的火力展示介紹法,反而是試著用比較好理解的方法讓面試官看懂我在幹嘛。介紹完之後又被多問了一些 behavioural 的問題,只是會比第一階段多了更深入的 follow up。
題外話,面試結束時對面試官說出「Thank you」的瞬間才發覺,我好像剛剛整段都不小心用英文在回答…,當時還在緊張會不會因為這樣被刷掉QQ
2. 繳交 Project
一面通過以後就會知道自己被分配到了哪個部門,而這之後的面試過程都會依照部門不同而有所差異,據我所知 Bing部門的二三面就是那種很硬的 Leetcode 和白板題,而小弟的是要求先繳交一份 project,可以是一個 AI應用或是 CRUD,要求就只有這樣,沒有其他任何細節。
這裡分享一個小故事,小弟進來以後主管有透過一些練習一直傳達一個概念給我,就是要敢問而且多問問題,要跟客戶完全確認完需求之後才開始動手做。在跟主管和面試官聊天中得知,進到交作業這關的 candidate 剩下五個,而在他們給出那個不包含細節的作業需求後,小弟是唯一一個有再回信確認作業細節的,所以雖然說應該不是因為這樣就錄取了XD,可是這應該有讓我先贏其他 candidate 一點點。
3. 微軟 online interview
Technical Interview
面試官是部門裡的工程師,主要是針對我們繳交的 project 提問,根據回答再問更深入的 follow up,從我們用到的技術延伸問到以後工作會用到的技能,之後再多問到一些 Web, Data Structure 相關(應該?),原諒我記不得細節了QQ,簡單來說就是不需要寫到 code 的技術問答面試。
Behavioural Interview
技術的問完以後會對到整個微軟實習計畫的負責人,主要是問一些 Behavioural 問題,其中有個有趣的事是她突然跟我說他好奇我為這場面試準備了甚麼,我就分享螢幕秀出了我整理了幾千字包含技術和非技術可能會被問到的問題,看完以後他就問我「用一個容器形容自己」然後說「這個你就沒準備到了吧?」,當下真的是哭笑不得…
LINE (Tech Fresh Program)
綜合個人和其他人的經驗推斷,應該是過了履歷審之後,所有 candidates 會被丟到一個 pool,有興趣的 team 看到就會請來下一關面試,小弟面到的 team 有 Application, Data, QA Team,因為 onsite 的時間和面試官的時間有點衝突,所以被分成了一次 onsite、一次 online,不然原本應該是一次 onsite 就可以結束。
1. Onsite Interview
LINE 公司的配置和微軟有點像,在一棟大樓裡有好幾層樓都是他們的,Reception 那層還有挑高放了一隻巨型熊大XD,整個辦公室都很開放明亮,到處都有 LINE 的吉祥物,充滿活潑的氣氛。
這場只有面到 QA Team,我一個人對一位(日本?)主管和一位工程師,兩位的英文和中文都講得很好,一開始都是全英文的溝通,後來確定我英文還可以就改成中文了,面試流程分三部分
1. 自我介紹、履歷問題、Project 介紹
2. 技術問題 (含白板題
3. 工作內容說明
有很大一部分的時間都在討論我的 project,用了哪些 framework 和技術等等,因為我有做了一個 LINE分析的 project,這個就聊了很久,最後只被問了一些技術問題加上一題 leetcode easy 白板題 和一些 follow up,個人覺得都不太難,算是確定有 coding, algorithm 的基本概念而已,成功讓我蒙混過關XD
實習生進 QA Team 應該就是幫忙做 Automation,所以有特別問到 CI/CD 的概念和經驗,除此之外,在我的提問後他有說也可以照自己的興趣看要開發前端或後端的小功能(應該吧?)
題外話,兩位面試官都非常的年輕,可能是因為這樣感覺溝通起來特別順暢?從面試結束到離開辦公室的路程中還有跟面試官聊一下天,他們才說其實他們之前就有在 LINE Today 上看過我的那個 project (怕爆),他們還有問我是不是在國外長大或是讀過書,我就說我沒有,他們就笑著回說「怎麼可能?你真的不要再騙了」XDDD。總之不管是公司的人還是環境,都有那種國外大公司的活潑感,面試的體驗也很好,讓我當時蠻想進 LINE 的。
2. Online Interview
這場是 Data, App Team 一起面試,Data Team 的很專注的在問我 ML應用的 repo,問的蠻細的,包含 data collection, preprocess, algorithm decision, model training, parameter tuning, model deployment,然後再問對整個 ML 的理解到哪裡,這部分我沒有到很熟也沒有準備好,講的很零散沒系統化,自認回答的很廢。App Team 就是針對 LINE分析的 project 提問,再加問一些前端跟後端的東西。兩個 team 都有把 intern 的工作內容說的很清楚(詳細忘了QQ),感覺設想的很周全我聽起來也很有趣。
Offer
最後拿到 Offer 的是 Sticker Team,我也不知道為甚麼==,也沒有再細問了,可能面試的表現都很廢吧(我就爛)。偷偷說,LINE 給實習生的待遇確實不錯,環境跟裡面的人感覺也都很好,個人認為是間優質公司,推推。
Intel
Intel 原本有個填 Google Form 報名的 2020 Intel Internship Program,只是不知道是因為疫情取消了還是我爛到被無聲,沒收到任何這 Program 的後續,面試到的是在官網上投的 Chrome Automation Engineering Intern,第一階段會先跟主管在線上簡單聊,講解工作內容和了解意願,然後說明之後主要面試的流程,是接連的三個階段各三十分鐘。
1. Behavioural Interview
和第一階段的主管繼續聊,不過這階段更偏向於對我的經驗提出問題,在做 Project 的過程中有遇到甚麼困難之類的,他還說他有不知道在哪裡看過我其中一個 repo(一樣怕爆QQ),整體來說氣氛蠻輕鬆的,主管人也很好,比較像技術性的聊天
2. Coding Interview
這階段應該是我在這次全部的面試經驗中遇到最 hardcore 的技術面試,一開始先問一些 algorithm, data structure 的問題,都不難,算是課程 PPT 上會強調的那種大字,像是 BST time complexity 或是 deadlock condition 之類的,只要有點基礎概念應該都能答的不錯。
接著是我人生第一次面對的 Coding Interview ,打在共用的 Google Docs 上,雖然說早就預料到會有這一刻,可是真的碰上的時候腦袋還真的一片空白QQ,難度大概是 Leetcode Medium,詳細我不記得了,我只記得聽完題目後我知道是個會用到 Binary Tree 的 DP 問題,可是我在打完一個 node 的 structure 後我腦袋就完全死機了,完全緊張到無法思考,連 Brute Force 都寫不出來(真的很爛QQ),然後我跟面試官通話之間的沉默就讓我更緊張,腦袋比那空白的 Docs 還要白,還好是 online 不然他看我瘋狂飆汗會更尷尬,在他提示之後才勉強寫出了一點點東西,不過跟正解還相差很遠。我對這階段面試的感想只有,我很對不起面試官要浪費三十分鐘面試我這個廢物…
在面試完,我冷靜一下後又重新去思考那題,才發現在我熟悉的 VSCode 沒花很久就寫出來了,我在那時才真正的體會到 Mock Interview 跟在 Google Docs 上練習的重要性,只能怪我當初不信邪又準備不充足,這場面試大爆炸真的讓我上了一課。
3. Automation Concept
知道自己已經沒希望後在這階段變的特別豁達(?),主要是在跟部門工程師確認自動化的概念跟經驗,小弟只有在自己的 project 用簡單的 CI/CD 的經驗而已。他提出了一個情境,一個工廠裡有十萬台機器,之後的所有問題都圍繞在這情境中,例如
1. 如果我們知道這十萬台中有三台是壞的,要怎麼找出這三台
2. 要怎麼把一個程式 deploy 到工廠的十萬台機器中
3. 如果同樣的程式在兩台機器中一個可以用一個不行,要怎麼處理?
都是沒正解的 open question,每次回答都會有更深入的 follow up,小弟在這領域沒經驗也了解不多,進微軟看了一些 case study 之後,才發現自己當時的回答完全都在亂講,被刷掉完全不意外。
Shopee
Shopee Taiwan Summer Internship 2020 沒有純軟體的缺,小弟投的是一個在 Frontend 做 Data Visualization 的 Intern,除了履歷之外還要同時繳交一個一分鐘的自我介紹影片。
1. HR Online Interview
這階段主要在問 Behavioural 的問題,然後還問了會想要在蝦皮上做哪種的資料分析和 data visualization? 還多問了很多 follow up,原本蝦皮的使用經驗就不多也沒想到會被問這種問題,答到後面真的有點心虛…
2. 後續
和 HR 面完後,接到電話通知原先投的職位被取消了,但是 Data Team 的工程師看了小弟的經歷覺得蠻有趣的,想把我轉去直接當 Data Team 的 Intern,我也表示相當樂意。過幾天拿到了一份 Data Team 的回家作業,內容蠻多偏向真實世界的 Data problem,應該是沒有正解的 open question,想看 candidate 對 data 的直覺和概念。可惜小弟那時正在考試加上拿到了其他的 Offer,所以就告知要主動放棄這次機會了,不然如果能加入蝦皮的 Data Team 應該也會是很有挑戰性的體驗。
Siemens
職位是技術系統助理工程師,面試官是部門主管,一開始是用英文交談,確定英文水平後他就說可以改成中文了XD,自我介紹後針對履歷問問題,之後再對我的 project 提問,問的問題都沒有到很刁難,給我的感覺是他好像沒有在找最強的,而是在找最適合的,在尋找能勝任工作需求的 candidate。工作內容是想辦法視覺化和分析在設備中 monitor 到的資料,應該算是做 data visualization 跟 analysis?現在回想起來他的需求好像跟 Azure Monitor 完全吻合XD
Asus (AICS)
華碩 AI 研發中心的實習生計畫,小弟過了履歷審也和 HR 約好了面試時間,有事先告知是一小時的 coding interview。在面試前五天接到通知說因為主管行程更動所以需要另外找時間,等確認後會再通知我,在這之後小弟好像就被放棄了QQ。Email沒有回信,電話也無人回應,大概一個禮拜會詢問一次 follow up 都沒有後續,之後改寄到 AICS 和 Asus HR 的信箱,有收到回覆說會幫我確認,結果之後還是沒有後續QQ,可能因為小弟投得比較晚,人找得差不多了我又爛才被這樣中斷吧,雖然我還是比較希望他能在第一時間就跟小弟說沒機會了。
HPE
投的是 System Software Engineer,因為當時接到第一通電話時他有詢問有沒有其他的 team 找過我,所以應該是過了履歷審之後會被丟到一個 pool,有興趣的 team 會找來面試。這次真的有感受到外商大公司的流程,在面試之前接了三通的手機電話,依序是
TW team member >> China HR >> Shanghai HR
三位都是在確認資料正確和介紹工作內容,可是這個時間久遠到我連工作內容都想不起來了QQ。
面試兩位主管,一位在 Houston(全英文)一位在台北,問的都沒有很技術,偏重在 Behaviour 跟 Personality 和介紹 Team 的工作內容,所以估計之後還會有一關更偏重技術的面試,不過小弟在面完這關之後就完全沒有後續了QQ
這裡只有分享了較大型科技公司的經驗,還有一些新創公司的面試體驗也很有趣會分享在 Part 3,還請大家繼續閱讀。
這次實習心得依照內容分成了四段,各位可以挑選有興趣的內容閱讀就好,以下附上四個 part 各自的連結