2020 summer SDE intern 台灣軟體實習面試心得分享 (Google/AWS/Intel/Aemass/MTK)

Joey
10 min readJun 21, 2020

--

前言

因為在美國念春季班MS,第一年不能在美國實習,本打算投遍全世界的公司來一趟環遊世界,沒想到碰上COVID-19… 只好摸摸鼻子從3月開始找台灣的實習。看到很多強者朋友都在分享北美實習經驗,想說我也可以分享台灣實習經驗。

這裡我會選擇去投遞履歷的公司通常都是Big name或是對我回美國找正職能有顯著幫助的,所以像一些local但不錯的公司我就沒有考慮(Trend, DCard)

以下會講我面的幾家公司的流程與tips,希望對大家有幫助!阿如果有認為我把面試流程抖太明顯的,也歡迎告知我。

比較特別的是,我不想把每個面試的結果都透露,因為之前在Ptt上看到一篇我很認同的分享文:上哪間不是重點,重點是分享的內容,希望大家能吸收成為經驗而不是只參考什麼背景能上哪間公司。

背景

某中字輩電機工程學士,某Ivy 電腦工程碩士,大學時有外商暑期EE intern經驗,因為是補充兵12天仔,畢業後在台商做了半年多的AI/CV工程師,去念碩前又跳去中研院做了快半年的全職CV RA。

專長是Computer Vision/Deep learning/Linux和一點Web後端,Python控(PyTorch/Tensorflow/PyQt/Django/Kivy/Selenium),慢慢往碼農路線轉變。

Leetcode大概大四開始有一題沒一題的刷,刷了兩年應該有累積200+題,熟悉的大概100(或以下?)

面試體驗

1. Google (台北)

當初大學畢業也有面過,那時SDE(台北)跟HDE(彰化)都有進行Tech Interview,SDE被瑞士面試官問了一題easy等級的Leetcode,但我解釋得不是很好。這邊想給所有想去Google這種大公司的新鮮人一個建議: 請找人跟你輪流練習Mock interview,試著在白板上一邊寫code,一邊用英文講解你在做的事情,並在最後分析Time & Space complexity,你沒有練習過會十分容易卡詞。HDE被美國面試官問了OSI/Linux/電學的問題,但在確認身分時被發現還沒研究所念所以被通知suspend了。

這次碩一再次挑戰SDE(台北),3月中請人內推的,不同於2018那次,直接被Assign了連續兩輪Tech Interview,皆使用Google Meet與Google Doc。

第一個面試官是紐約search team的美國小哥(為了配合時區),考了一題Leetcode不會遇到的題目(可能Google Code Jam會遇到),有點像用python去實現各種他要的search engine功能,像linux的grep和*,基本題我有寫出來他要的,follow up有點難,但我寫到一半他就告訴我他知道我會寫不用繼續寫完,之後就是正常的QA。

第二個面試官是也在雀兒喜市場那棟Google Cloud Platform上班的印度大姊…一開始就感受到極難聽懂的口音,考了一題變體的DFS,我覺得大概Medium難度,follow up不太難,但整個流程的溝通非常不順,大概說了30次Pardon Please…,但最後QA時因為地緣關係聊得蠻起勁,不知道有沒有稍微拉回來XD

以上面完後大概過了兩個月HR說要跟我開個會討論我的Internship Status,大意就是說台灣Google Intern suspend了,取而代之的是給你第一次在台灣舉辦,一個地位介於intern和Hackathon之間的Google Software Product Sprint (SPS) invitation,我個人覺得性質有點像invite-only的Google Summer of Code,只是這次對象是被疫情影響所以HC(Hiring Committee)無法給過的Candidate。我看有收到邀請的大概20~30個,幾乎都是台大幫或是海龜幫。

重點日期: 3/24 2個連續的Tech interview, 5/19 HR告知轉成SPS

2. Amazon Web Service (台北)

3月中的時候看到FB上他有在宣傳投履歷抽獎就上官網投了,投的職缺是Cloud Support Engineer Intern。在去之前有先向在裡面工作的朋友先了解一下工作內容,會碰到的code不多,偏向使用AWS的服務去解決客戶的疑難雜症。

投完隔不到幾天就先收到OA,介面非常有趣,前半段讓你模擬身為一個CSE engineer怎麼處理問題,然後要你對各種答案評價適合程度。後半段則是一些關於Network/Database/Linux的選擇題,難度中等。

考完OA沒幾天就收到HR約一面,他請我從10幾個領域中選一個自己擅長的tech domain來接受考驗,當時選的是DMS(Development Mobile Service)。

一面主管也是個CSE engineer,先花了30分鐘跟我過履歷,後面再根據我列出的project深入探討follow up,比如如果你寫的proxy沒回應,你檢查的SOP是什麼。還會問一些基本觀念像TCP/UDP/DNS/User Group/Read_Write_Execute之類的常識,反而跟DMS沒什麼關係,我差點懷疑他把我的tech domain看成Networking或Linux。

一周內收到二面邀請,要連續面兩關,一個Manager問Behavior Question一個engineer問Tech,有個黑特點是我竟然被Manager放鳥…過了15分鐘HR才進入會議跟我說要改期,虧我看了一堆STAR Leadership Principle(亞麻求職必備)。

二面tech部分跟一面差不多,大部分時間也在過履歷但問的更細更刁鑽,有些follow up有點跳tone,像是我一個做socket programming的project會被延伸問到Disk Swap的相關知識。

撇除掉被放鳥的不愉快跟我認為難度有點高的Tech 2以外,我覺得他們為intern的規劃還不錯,像是去年有讓他們組隊使用AWS的服務代表台灣參加機器人的全球賽車大賽。

重點日期: 3/22 OA, 4/8 一面(tech1), 4/22二面(BQ+tech2),4/25出結果

3. Intel (南港)

大學剛畢業的時候其實有收到Intel的Full time Test Engineer interview,但當時想做AI就婉拒了。4月在LinkedIn上看到他們在招SDE intern就上官網投履歷了,大概4月底的時候接到某個team的manager直接打電話跟我約下周面試。比較不一樣的是他們是1 year的intern,一周大概上班3天就好。

面試當天嚇了一跳,感覺是整個team陪我面,大概7~8人,一開始先請我介紹自己的履歷,我有準備專門介紹的投影片,被每個人輪流問了一些project的細節,甚至叫我打開我的GitHub開一個自己的專案跟他解釋某幾行在幹嘛XD 因為以前實習的時候剛好就有跟Intel的engineer合作,他們對於這項經歷特別有興趣,有點角色相反的感覺。全程並沒有問什麼知識的問題幾乎都在過履歷。最後解釋實習生大概會幫他們國外的客戶寫GUI或是一些Tool。面試過程耗時兩小時。

重點日期: 5/5 Group Interview,當天出結果

4. Aemass (景美)

我這次投遞履歷唯一投到的新創公司,主要做CV,簡介說是矽谷新創,想說去會一會就投遞履歷了。5月中投遞履歷大概一周後收到面試邀請。

面試官有三個,問的領域非常廣,從3D instance segmentation、Object detection、最短路徑演算法、一個邏輯題到一題Leetcode。考完後跟我大概介紹了intern會做的事情,大多是在web development和寫unity的C#,跟AI比較無關。技術關面完後是大老闆跟我聊天,大概跟我介紹公司的產品以及新創的不同,比如薪水比較不甜XD 全職的話是一週上班五天這樣。

但因為跟我想做的東西比較不一樣,跟美國的連結也沒那麼高(我是希望能拿到return回美國的offer的),我覺得無法為我的履歷增添分數,所以婉拒了。

重點日期: 5/21 Group Interview + 大老闆Call,5/22 出結果

5. MediaTek (新竹)

本來沒打算要投的,但五月底的時候發現朋友們剛好都在面,所以就加減上官網投一下XD 很幸運隔三天就收到新竹軟韌的面試邀請了,看來很缺?

一面神奇的是竟然是onsite interview,到了之後先讓我做了一小時的C語言上機測驗。有兩部分,第一部分是給你一些code然後讓你判斷輸出和一些選擇題,第二部分則是給一題Leetcode和一題operator overload。但因為我的C語言年久失修,我基本亂寫,還好後來主管都沒提到。

考完後緊接著來了一個真人主管A,和一個遠端會議的主管B,流程大概是先讓我介紹自己的學經歷->主管介紹自己team->Q&A。比較讓人意外的是我在外商面試時主管通常都比較注重我的實習或是工作經驗,但MTK的主管都比較在意我在學校時的修課與專題論文項目。會特別問你實際貢獻了哪一部分和改進了什麼算法,並且問了一些基本問題像C跟C++的差別、Process vs Thread、韌體的了解。之後A主管介紹自己的team是做edge device,希望我用C#寫tool。B主管則是在做TV,希望我用C寫linux的tool。但我面試的時候表達了強烈對韌體的抗拒,面談過程就越來越尷尬…但值得稱讚的是主管A結束後還陪我去牽摩托車,非常感動。

這邊又發生了一個小插曲,面完試後跟以前同學打了兩天的桌游和拍拍畢業照,結果發燒燒了一周,得了口腔泡疹病毒…兩天直接瘦4kg QQ

過了幾天收到HR寄來新的面試邀請,這次是一個做ASIC的team。因為上次的恐懼我請HR改成了線上面試,一開始被詢問怎麼沒有附成績單,資料有點少,所以我就share了上次在Intel面試的投影片XD 這次主管們對於我在computer vision的project比較多琢磨,也對我大學做PLL的專題很有興趣,因為他們team就是在做高速訊號處理。後面跟我介紹他們team比較特別,招的人其實很廣,而且去年的實習生和今年另一個已經上的實習生剛好都是我同學,相談勝歡。最主要是我覺得他們十分有誠意,知道我想做純軟所以願意讓我暑假實習做python的數據分析,之後預聘在看我的個人職涯打算,讓我十分心動!

重點日期: 5/29 C++ test與一面(2個team),6/10 二面(1個team),6/16出結果

反思

其實我每年的面試過程感受都不太一樣,這裡也想給還未大學畢業的同學們幾句建議:

多參考強者的履歷,即使無法複製他所有精力與技能,模仿個50%的技能你也能算是半個強者了!

不得不說,我今年的面試過程之所以大多都是以聊天過履歷的方式進行,很大的原因是我的履歷還算豐富,也因此能避免被問一些太艱深或是已經遺忘的學術問題。還記得我大學剛畢業去AILabs面試時,被連問了兩小時的技術題,最後面試官直接明白地跟我說:

你面試表現的不差,但我們無法錄用你,因為你的履歷對CS來說就像是一張白紙,希望你可以增加經驗後再來跟我們合作。

結語

雖然今年的確因為疫情讓實習選擇縮減,許多朋友更是因此被取消offer,但還是認為自己其實應該要做得更好,都已經準備那麼多次了XD 希望自己在今年暑假能讓自己更上一層樓,每天刷五題,找到明年在美國的Full time!

如果覺得對你有幫助就賞個clap,也許會讓我想寫更多以前的面試經驗(?

--

--