[心得] 2021新鮮人面試心得(SDE/MLE/Quant)

軟工

59560

Medium 好讀版:https://reurl.cc/AkDRvp

一、前言

求職階段,我參考了很多ptt上面的心得文,覺得受益良多,因此希望能回饋各位版友,
讓大家求職時能更好地準備。

以我的經驗來說,準備求職的時間相當長(今年2月~6月),也感覺疫情期間求職是比較困
難的,一路上跌跌撞撞,也有壓力山大的時候,幸運地在朋友的鼓勵和幫助下,最後才堅
持下來,找到一份理想的工作。

希望還在求職的大家別氣餒,努力堅持下去,好工作就是你們的。

另外,這是我第一次在軟工版發文,請各位大大們鞭小力一點,以下正文開始XD


二、個人背景

112學碩,大學輔CS,碩班做機器學習,研究興趣是NLP和推薦系統。過去沒有軟體公司的
實習經驗,也沒有太多競賽相關經驗,履歷只放碩論和課程期末專題。

因為一些個人因素,直到今年1月底才畢業。之後我花大概一個多月的時間,好好地休息
和放假,思考我未來要做什麼,同時整理過去的專案和履歷內容。

3月時主要在刷題,並根據目標職缺來複習對應的學科。4、5月開始投履歷,面試階段時
,Leetcode累積刷150~230題,以medium為主。


三、正文

1. Synology
應徵職缺:Product Developer

請朋友內推,面試的部門由HR分配,是我第一家面試的公司,skype線上面試。

第一關是工程師,主要是聊聊履歷內容,問題會很細節,需要對履歷內容足夠熟悉才行。
例如我有做一個SQL的專案,就被問當時怎麼設計schema、為什麼這樣設計、有沒有想過
當資料量大時哪裡會有效能問題、那你會怎麼解決。

另外,也問了一些OS的經典題目,例如process和thread是什麼、inter-process
communication等。最後,考了一題實作linked list的程式題。

因為我刷題都用python練習,被問到C++很細節的問題,因為不熟直接GG。整體準備不夠
充分,在面完第一位工程師以後,直接被HR通知面試結束,等待下一步寄信通知。

# 結果:一週後收到感謝函


2. 玩美移動
應徵職缺:Machine Learning Engineer

透過104主動找我面試的公司,進公司先做python測驗、性向測驗和英文測驗,測驗通關
後跟主管面談。

面試前需要先填個人資料表,包含個人照片、身分證號、戶籍地址、家裡電話、父母是誰
幾歲做什麼等。我覺得有點侵犯個人隱私,所以有些內容沒填,主管好像不會很在意有留
白,給大家參考。

Python測驗為20題左右的選擇題,考題頗有鑑別力,包含python語法 (e.g. map,
filter)、numpy語法 (e.g. broadcast, shape, newaxis)和機器學習(e.g. CNN,
pooling, batch normalization, gradient descent)。

性向測驗和英文測驗時間都很短,建議一開始就用最快的速度寫完。

面談時,主管先介紹公司產品和商業模式,之後問我影像處理相關的經驗和細節,最後考
一題情境題,問要怎麼做微表情的情緒分類,可能可以從資料收集、標註、前處理、模型
設計等多方面開始考量。

# 結果:無聲卡


3. MixerBox
應徵職缺:Engineer Trainee Program

寄email投遞履歷,隔天就收到HackerRank線上測驗邀請,三題難度在easy到medium之間
。測驗完成後隔週,收到skype線上面試邀請,整體面試流程約1個半月,因為被告知考題
需要保密,以下只提及準備方向。

======
一面技術測驗:(總時長2小時~2.5小時)

與一位工程師面試1.5小時,不用自我介紹,直接開始考技術,使用HackerRank的共編。

總共考了兩個大題,每大題含基本題+2題follow up,難度大概是medium,考題方向是
array和graph(bfs, dfs)。

技術問答結束後,30分鐘聽HR介紹公司和團隊,我這邊分享一些內容,讓大家能更認識
MixerBox。

公司的商業模式主要仰賴投放廣告和APP內購物,廣告大多在日本和美國投放,台灣因為
市場小廣告利潤不多,所以沒有放廣告,常做為演算法A/B test的地區。

公司有主要的三個team,MixerBox、FreeTV和研發導向的lab,當lab裡面有比較成熟的項
目就會轉成一個新的team。而MixerBox最近發展方向是推廣podcast,內容需要去各個網
站爬蟲抓。

另外,為了提高營運利潤,公司近期也投入遊戲開發,目前正積極招募Unity工程師。

======
二面技術測驗:(總時長2小時)

與兩位工程師面試,每位工程師有一小時,各自考兩題程式題,難度大概是medium到hard
,考題方向包含matrix(bfs)、monotonic stack、monotonic queue、3sum變形、
intervals、balanced tree等。

整體難度頗高,我大多是跟面試官討論後,得到提示才慢慢解出來,面試官人也很好,會
提點思考方向是不是對的。

最後,可能是技術關解題實力不夠,原本是投backend工程師,後來被通知改面Unity工程
師,問有沒有興趣繼續。

=====
三面團隊成員:(總時長1小時)

與人資和工程師主管聊天,這關可能是最難的,會問一些難以回答的問題。

例如問你全世界最喜歡哪三間軟體公司?為什麼?那如果都拿到offer會怎麼選擇?比較
注重公司名氣、職缺內容或薪水?職缺內容透過面試了解可能還是很抽象,這樣會怎麼抉
擇?

平常怎麼自主學習?(問有沒有用刷題網站練習的習慣) 有沒有比較不擅長的領域?比較
喜歡做大project或小project?在團隊中喜歡聽指令或是擔任領導者?

最後分享一些Unity團隊的資訊,日常專案的人員組成是一位工程師和一位行銷人員,開
發一項小遊戲。如果有開發不錯的項目,打算加速這款遊戲的開發,才會多讓幾位工程師
共同開發。

儘管沒能拿到offer,我覺得是新鮮人友善的公司,面試要求只看資料結構和演算法,刷
題數可能要200 up比較穩。面試流程也相當舒適,面試前會提點準備方向,該怎麼聊履歷
上的個人經歷,才符合公司文化,面試後大約一週就能知道結果,推薦有興趣的人去試試
看。

# 結果:一週後收到感謝函


4. 趨勢科技
應徵職缺:Software Developer、Software Engineer in Test

透過104投遞履歷,隔週後收到Codility線上測驗邀請,三題難度在easy和medium之間。
之後安排到公司面試,由HR自動配對能面試的職缺。

進公司以後,我先做QA職缺的Codility測驗,我猜這份考題是針對Senior缺,範圍包含
Windows、Android和IOS的debug工具、瀏覽器、網頁前後端,以及三題系統設計簡答題。

考完的感覺,我是誰?我在哪?你們484找錯人了?

接下來,迎來兩輪小組面談。

第一輪是面試QA,請我聊聊過去的經歷,並問了一題情境題,請問要如何測試一個log in
的網頁?另外也問我對QA的角色和想像是什麼,覺得QA都在做些什麼事情?

第二輪面試有兩個團隊,也是先請我介紹過去的經歷,並問了一些OS相關問題。包含解釋
race condition和deadlock、怎麼去實作critical section、mutex和semaphore的差異、
process和thread的差異、inter process communication有碰過哪些等。

有一題比較印象深刻,如果程式碼的行數到10000行以上,要如何debug?

整體而言,我覺得面試官們知道新鮮人的實力不怎樣,主要還是看對工作的熱忱和態度。
最後,人資會詢問你對各組的排序。

# 結果:兩週後主動寄信follow up,收到感謝函


5. Appier
應徵職缺:Machine Learning Scientist

請朋友幫忙內推,1週後收到線上面試邀請。

一面,與兩位工程師聊天,總時長1個半小時,考題分三個部分。

第一部分是簡單機器學習概念,例如overfit、imbalance data、time series data等。

第二部分是情境題,未來工作會遇到的機器學習問題,但因為我的研究背景跟題目不太搭
,回答得沒有很好,後來變成介紹自己碩論的內容。

第三部分是演算法題,考一題難度meidum的DP。

面試當下,我有問面試官自己的表現如何,有得到正面的回饋,但後來就沒後續了。XD

# 結果:無聲卡


6. Taiwan AILabs
應徵職缺:Machine Learning Scientist

透過LinkedIn投遞履歷,2天內收到HR電話,提及未來可能會做機器翻譯相關的工作,並
跟我確認面試日期。

三個小時的線上面試,前兩關考機器學習,最後一關考演算法。

第一位是speech team的ML工程師,先跟我聊聊碩論題目,後來主要在討論文字處理的經
驗。

第二位是news team的ML工程師,大多是技術問答,包含碩論用到的技術、如何選擇
metric、專案用過的模型等,題型相當活,面試官想到什麼問什麼的感覺。

此外,也有考情境題,例如要在ptt八卦版中蒐集特定人物的相關文章,會怎麼開始?有
沒有辦法找出帶風向的網軍們?面試官理解力好反應也快,跟他討論相當有趣XD

第三位是系統工程師,問有沒有開發程式、使用過docker或k8s的經驗、知不知道SQL和
NoSQL的差異等,最後考兩題leetcode,與matrix相關,難度medium。

個人感覺面試表現還行,可能過去經歷和工作內容不太吻合,所以沒能拿到工作機會。

# 結果:兩週後主動寄信follow up,HR回需要更多時間來決定,隔週收到感謝函


7. AICS
應徵職缺:Software Engineer - Big Data

透過官網投遞履歷,被HR要求補寄在校成績單,1週後收到Codiity線上測驗邀請,難度
easy到medium。測驗完3週後,收到Microsoft Teams線上面試邀請,面試流程大約1個月


=====
一面 TS:(總時長1小時)

與工程師主管聊天,考兩題程式,難度easy和medium,基本上主管都會主動與我互動並給
予提示,讓我慢慢想出哪裡可以繼續優化,感覺得到他的友善和良好的溝通能力。

=====
二面 TS:(總時長1小時)

與工程師主管聊天,考一題程式,難度medium。這次面試官主要放著我自己慢慢想,幸好
我最後有提出解法,他也有詢問我可以再怎麼優化。

=====
三面 Full Loop:(總時長5小時,含中午休息1小時)

總共有四輪,每一輪有一位面試官,大多是前半小時聊天,後半小時考一題程式和Q&A。

第一輪,面試官是ML背景,請我自我介紹,聊過去經歷的專案,大多擔任什麼角色,最驕
傲的專案是什麼等。程式題考matrix,難度medium。

第二輪,面試官是系統背景,同樣是聊過去經歷的專案,會問一些系統面的設計問題。另
外還問我,如果要設計一個系統,裡面有很多consumer和provider,要怎麼設計比較高效
率?還有問在小組合作時,有沒有遇到摩擦或衝突的經驗,會怎麼處理?程式題難度
medium偏easy。

第三輪,面試官應該是ML背景,問我碩論的創新點是什麼,有什麼樣的應用價值,能否舉
例說明。問我自己的強項和弱點,也問我過去失敗的經驗,學到了什麼。程式題考DP,難
度medium。

第四輪,原本安排是HR面試,結果看到面試官才發現,竟然是黃泰一博士。簡單聊聊天以
後,說要看看我寫程式如何,如果題目有看過就要換一題,總共考了一題medium和一題
hard。

最後很可惜只留1分鐘問問題時間,但黃博士也跟我說,如果有拿到offer,願意再安排30
分鐘陪我聊聊。

=====
加面:(共3次,與未來主管聊1小時、與HR聊30分鐘+30分鐘)

三面結束後,經過大概2個工作天,我就收到專案主管的聊天邀請,過程中拿到口頭offer
,因此主要在聊專案目前的進度,以及之後的工作內容。

另外還有兩次HR面談,第一次主要聊聊個人特質、職涯規劃、期待薪資和詢問競爭對手公
司,第二次是講解薪資福利等。

# 結果:offer get


8. Yahoo
應徵職缺:Software Engineer

透過官網投遞履歷,請朋友幫忙內推,大概1個月後收到線上面試邀請,面試流程約2週。

=====
一面 HM Phone Screen:(總時長1小時)

與未來主管面試,聽主管講解團隊在做什麼,主要就是聊聊工作內容,看看我有沒有興趣
。最後,考了兩題難度easy的程式題,感覺只是看你會不會寫程式。XD

=====
二面 TA Phone Screen:(總時長45分鐘)

與HR面談,第一階段先確認我對職缺的認知是否正確,第二階段請我自我介紹,並針對我
的履歷來問Behavior Questions,第三階段問我對第一份工作的期待、如何選擇、以及期
望薪資。

值得一提的是,因為近期Yahoo被Apollo收購,所以我特地問問內部員工對這件事的想法
。接收到的資訊是,員工大多正面看待此事,組織由上到下採取AMA (Ask Me Anything)
,讓主管公開透明傳達資訊以消除員工焦慮感。

=====
三面 Panel Interview:(總時長3小時)

和未來的團隊成員聊天,總共四個人,兩位工程主管和兩位工程師。

據說會根據履歷內容調整問題,我遇到的情況是,先考了兩題難度medium的Leetcode,在
top interview清單都能找到,也有開放式的follow up問題。

再來,兩題系統設計題。

第一題是給一段程式碼,問覺得哪裡有問題,會怎麼修改程式設計。我先解決簡單的bug
以後,還針對未來有可能變動的程式碼,設計要如何refactor,並解釋有用到的design
pattern。

第二題是設計一個選課系統,把整體的系統架構和流程列出來,還有會使用到的工具,資
料欄位怎麼設計等。

三面結束後的隔週,接到HR電話拿到口頭offer,並告知需要等待總部批准正式offer,還
需要約2~3週的時間。

# 結果:offer get


9. Kronos
應徵職缺:Quantitative Analyst

透過官網投遞職缺,需要附大學成績單,3天後收到Codility線上測驗邀請,限定用C++或
Python,測驗完隔天收到線上面試邀請,面試流程2週。

=====
一面:(總時長2小時)

總共有兩輪,每一輪有兩位面試官。

第一輪是統計關,同樣先聊聊過去的經歷,面試官會問跟交易相關的經驗,像我自己比較
沒接觸這方面,所以我改為分享過去處理時間序列資料的經驗。

考題包含線性迴歸模型的推導、怎麼算股票與大盤走勢的相關性、擲硬幣的機率問題等。

第二輪是程式關,考deque的實作,因為我用python作答,還另外考一些decorator的問題


兩輪的面試官們都相當健談,很樂意與我分享工作日常。另外透過面談我才了解,因為公
司做高頻交易,所以深度學習都不會碰到,機器學習感覺也偏少,主要用統計模型為主。

=====
二面:(總時長3小時)

第一輪,與CEO的面試是全英文,先聽完他自我介紹以後,他問我對Kronos感興趣的理由
,還考線性回歸模型的問題。

印象深刻的是,當我問他是什麼驅使你做這份工作,他說交易就像玩西洋棋,每天都跟世
界各地最聰明的人們競賽,享受玩遊戲的過程就是熱情的來源。

另一方面,感覺得到他很致力於營造團隊氣氛,他說比起只看交易績效,更希望讓公司的
大家喜歡上交易這項工作,並且透過交易和研究更了解市場。

第二輪,與CTO的面試是中文,他問我與交易相關的經歷,還考了兩個題目,分別與數字
、機率有關。

我感覺他是個很聰明的人,總能從不同的觀點切入,談論數位貨幣的時事,聊天過程頗受
啟發。

第三輪,與HR聊聊可能進去哪個team,有拿到哪些offer,如何計算績效獎金等。

二面結束後,經過3個工作天收到offer letter。

# 結果:offer get


四、結語

大家看完後可能會覺得,我投遞的職缺真的是五花八門(?),包含軟體開發、網頁後端、
機器學習、量化交易的工作。其實,我是打算透過面試過程,漸漸發掘自己未來理想的工
作型態。

然而,我也花了更多的時間在準備。除了每天刷題維持手感以外,還複習了各式各樣的學
科,包含資料結構、演算法、作業系統、SQL、Design pattern、機器學習、機率統計。

事後回想起來,我覺得刷題和複習知識只能算是基本功,透過持續的練習面試,讓自己有
更穩定的面試表現,才是決定能不能拿到offer的關鍵因素。

另外,如果能有明確的目標公司和職缺,集中精力準備少數公司,也是更有效率的做法。

最後,祝大家未來求職順利,疫情期間身體健康,謝謝。

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.150.158.123 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1626282169.A.4BD.html
sjerrysss1樓前面那些小新創那麼挑人哦 07/15 01:08
taipoo2樓謝謝分享 07/15 01:33
william456823樓好猛 07/15 01:34
kevinfilter4樓ratio 太帥啦! 07/15 01:35
paul8005265樓是我我就去最後一個 07/15 01:42
holebro6樓前面不收是小廟容不下大佛吧 07/15 01:45
sarsman7樓推分享 07/15 01:51
AgileSeptor8樓 07/15 02:01
linnom9樓真的是容不下...太強 07/15 02:08
kyrie7710樓 07/15 02:42
f82102711樓推推 真的厲害 07/15 03:03
yyhsiu12樓推 好豐富! 07/15 03:31
nchuAM3713樓很棒的分享 很多都是我近期要面的工作 獲益良多 謝謝 07/15 04:05
qazxws14樓Mixerbox 感覺很挑耶 07/15 04:18
ss8651twtw15樓 07/15 04:56
Csir16樓神啊 07/15 06:27
Koibito17樓 07/15 06:35
bill199218樓會的很多很厲害!本科系果然厲害 07/15 07:54
TAMSHUI19樓請問最後去哪間呢? 07/15 08:26
有興趣了解可以站內信我XD
a11060520樓Kronos的offer應該比前面幾家高不少 07/15 08:27
A4P8T6X921樓 07/15 08:48
wt032822樓感謝分享 07/15 08:54
Ekmund23樓提高利潤而做遊戲?遊戲應該是最容易變負資產的那個 XD 07/15 08:57
MOONY13524樓你會的東西有點多....... 07/15 09:10
ouryouth25樓 07/15 09:11
aa0669726樓最後兩間 一間錢比較多 一間工時比較正常 矛盾大對決 07/15 09:32
aa0669727樓啊漏掉aics 應該是跟你原本所學最接近的 07/15 09:34
aassdd92628樓推分享 07/15 09:42
opallin29樓推 厲害 07/15 10:26
qwas6516651630樓M的策略也太迷 遊戲開發是最不容易變現的吧? 07/15 10:53
更多心得
[心得] golang 工程師半年無薪心得
[心得] Google TW SWE 面試心得(下)
[心得] 面試-Grab/Appier/Google/Facebook
[心得] Google TW SWE 面試心得(上)
[心得] 2021年-非本科系菜鳥前端面試心得
[心得] 非本科無經驗前端轉職心得
[心得]文組轉職心得
[心得] 面試分享:橡樹網路科技有限公司(前端