2019 Data Scientist 面試心得
前言
首先感謝這一兩個月被我騷擾、協助過我的人們。
服一年替代役後來找第一份工作,目標鎖定 Data 相關職位。承襲之前PTT版上討論到 Data Science 泡沫的問題,今年職缺明顯不如去年同期多,職缺描述仍有些像是在找會分析資料的 DevOps,但大部分有較前幾年更收斂在資料相關的能力。我主打跨領域的能力很難讓公司看懂,所以還蠻吃力不討好的。
共面試 20 間公司得6個 Offer,年薪70萬到120萬,多落在 90–100 這個區間,部分公司於退伍前請假面試,退伍後密集面試歷經時間約一個月(aka連續一個月流浪在各家青旅orz)。
若不管公司而僅以面試經歷來評分:
- 優:凌誠, MoBagel, ASUS, Cinnamon, 智原
- 普:蝦皮(台北), 蝦皮(新加坡), Greenpeace, 英華達, 均一, 圖爾斯, 玉山
- 差:玩美移動, IBM, Sage Tech, 91APP, KKBOX
- 無法評論:Uber, Migo
註:會給差評的原因包含面試官沒證據就嗆人、不喜歡面試的安排、無聲卡,當然再次強調這只是我個人主觀感受。
在詳細敘述每家公司的面試經歷之前,我想講述三個身為面試者的感受與反思。
面試感受與反思
「我們希望你是有興趣才來」
問起「你都找怎樣類型的公司」、「你要想清楚你真的對這個領域有興趣」,我總是回應只要和資料科學有關都可以,至於產業類別沒有特別偏好。部分公司無法接受這樣的說法,他們認為你面試當下就是應該展現出對該領域(例如電商、半導體…)熱忱,就是要看到你不會跑走才願意招你進來。
我相信真正想清楚的人不會輕易給承諾,也不會給太漂亮的承諾。其實只要想一想就發現,當你不是被環境所逼時,人生、職場甚至是性傾向本來多元發展才是常態,負責任的人會考量對自己和對對方有利,了解決策背後的假想前提和可能風險,最後才謹慎提出求職要求,因為他知道一旦承諾了,雙方都有義務,也會希望盡力達成。
「無論發生什麼事我都愛你一輩子」 vs 「如果你沒有傷害社會或惡意背信,在大多數可能情形下,我預想未來10年內是愛你的」哪一個想清楚了?哪一個只是好聽?
「願不願意加班」
不少公司在面試時問:「你願不願意加班?若事情就是做不完,要你加班你會抗拒嗎?」「公司有不報加班的習慣,大家都是自願留下來做事或一起學習,是這裡的文化。」
我的回應一律是:(1) 如果團隊需要達成的目標得靠加班才能達成,我願意加班,但若有常態性非自願加班的情形,則團隊應有機制去討論是工作分派有問題、協作方式有問題、還是需要加派人手,員工常態性加班不是長久之計 (2)報加班依法是員工的權利,我相信健康的團隊會允諾實質的自願,要有辦法做到就算有人要報加班也不該因此被排擠 (3)我自己本身也有點工作狂,我也許也不會報加班,但如果發現團隊裡有排擠合法報加班人的現象,我本人一定為他站出來好好和團隊溝通,我相信公司也不會想要建立互相為難的工作環境。
想必這樣回答嚇到一些公司,確實面試時直接說願意配合,先上再說比較有利。
我拒絕為了自己取得工作方便,一點一滴葬送長期全民的勞動環境。 ICT是今日當紅產業,照理說面試者都有一定程度的談判力,今天多一點人勇敢在面試時強硬表達,可能會延長待業時間、讓面試官對你印象較差,但我們有機會因此逐漸改變,淘汰給不起正常待遇的公司,增加慣老闆面很多人卻找不到人所虛耗的成本,公司才會開始思考提升待遇或產業轉型,在多年以後也許大家找工作就不用在糾結中委屈自己。
「如果資本主義一直下去,可想而知的是未來的輸家一定比今日的輸家更加努力且有才華」
跨領域、人文素養與資料科學家
幾乎每場面試都會說,我認為資料科學家應培養哲學和人文素養,以及和其他領域的連結能力,起碼敏感度和對人文科學的尊敬是很重要的。
當我們說媒合平台自由交易的時候,這些交易的人真的自願嗎?當社群網路連結起個別專注力不超過20個對象的人類,他是否能在上面有效交流想法?房地產和金融商品獲利龐大,背後基於怎樣的社會信任體系?線上教學平台很熱絡,介面流程設計會怎樣影響使用者的的學習價值?我相信社會問題有專業的人研究、商學院研究商業模式和策略、理工學院鑽研理論和實作,綜合考量才能夠成立一番對人類有幫助的事業,而不是成為另一個剝削的存在。
這樣的言論確實造成一些面試官的困惑與不解,我想起以前在商學院時老師們講共享經濟規避討論利害關係族群,迴避市場社會(不是市場經濟)帶來的腐化問題,對於科技影響社會走向的事實視而不見。跟對加班的態度一樣的,我不是人文科學專業,但我願意陷自己面試於險境,希望越來越多人能重視這件事。
面試經歷
智原科技 — Data Analyst
在服役宿舍的某天晚上,公司主管電話直接聯繫邀請面試,說他們要創立 AI 相關部門。
-面試過程:一面有英文測驗,然後分別有一組資深、一組年輕的面試官,兩組聊經歷和生涯規劃都沒問技術。新部門當時方向未定,預計接下來才會討論要做哪一塊分析,可能是客戶資料,也可能是產線良率。面試官們還算親切,智原很願意培養新人,他們也明確表示不會要求你即戰力,起碼一年內都是讓你適應的期間。
-結果:offer get
凌誠科技 — Data insight analyst
人資透過 104 邀約面試,人家稱高雄中小企業多慣老闆,一開始也是怕怕的,但覺得做農業資訊也還蠻有意思。
-面試過程:人格測驗、公司介紹與了解經歷,最後是主管面試。公司正開始發展資料分析,創辦人和技術長都來了,該職位要和農業專家合作,會需要偶爾跑農地(好期待)。面試給我非常親切的感覺,也很尊重各種想法交流,我提到台灣農業會社常和政黨或地方勢力勾結,操作市場需求和收購資訊來養、套、殺,又把農民仇恨對象引導到執政黨上,公司在做的事情可能有潛力把產銷預測 know how 交還給契作農民,面試官也坦言以目前他們在做的還有段距離,但是值得努力的目標。面試中印象最深刻的是創辦人說他們知道做資料分析要各種資料流和營運上的轉型配合,所以可以接受新的團隊花一段時間探索,不需要感到壓力太大。
-結果:Offer get,面試完隔天就收到,我覺得開出的待遇很不錯,也許公司規模不大(但已經是農業資訊中數一數二),但做的事情很有價值,主管給人的感覺也不差,推薦給找高雄工作的朋友。
華碩 — AICS FAE
主動投遞,於從服役期間就和主管視訊面試過,主管表示說他們不急,希望我準備狀況好時再來接受測試,於是等我退伍後才開始完整流程。華碩1月新成立的 AICS,所有新進人員都得接受遠端 Coding Interview 才能進面試關。
-面試過程:首先遠端面試,自我介紹與 coding interview,須自行撰寫簡單測資,題目為 Leetcode medium 的其中一題。爾後公司面試,從9點到下午2點,分別考統計計算題(古典機率、抽樣)、又一次 coding interview(Binary tree)、和技術長聊天(假想智慧城市的提案)、考SQL和ML概念( K-means),除了和技術長腦力激盪外,其餘過程非常的技術,面試官都很親切討論做法想法,整體來說過程有一定壓力但還蠻愉悅。
-結果:offer get,據說和其他部門相比,該部門薪水較高,但聽說也比較操就是。
IBM — Data Scientist
主動投遞,快兩個月才通知進下一個階段
-面試過程:先是線上做智力測驗,下一關要你上傳3分鐘影片介紹自己適合當 Data Scientist 的特點,最後一關on site,IBM Career Day 在同一天安排各部門的面試,老實說規劃得很差,事前知道那麼多人需要報到卻只開兩道排隊塞很久;團體面試要面試者基於如何導入AI的文章總結與辯論,面試官旁觀面試者分組對打,而任由討論話題發散浮在空中;個人面試每人也只安排15分鐘排隊進場,這個安排讓我覺得不受尊重,個人面試包含自我介紹簡報跟QA,過程面試官也明顯一副不耐煩,還嗆我簡報不符需求。簡單來說,一個對外聲稱自己做顧問的部門,出考顧問的考題,卻期待你用工程師的方式回答。
-結果:感謝信,老實說我嚮往的是那個提出SSME架構的IBM,是那個在Coursea開課的IBM,但台灣這裡給我的感覺很有問題。
PS 關於個人面試時要用的簡報,當初寄來的要求是「敘述自己符合Data Scientist 能力與熟悉程度,並且舉實作經驗與成果」;但現場聽到的是要把重點放在實作過程的敘述,我事後詢問是不是需求傳達上誤會,得到答覆「任何人都可以聲稱自己有能力,This is not a school assignment」。
Migo — Data Engineer
主動應徵,說是社會企業,資料差不多版上那些,值得注意的是要投履歷要回答一大堆問題
-面試流程:先有作業 Hacker Rank 共五題限3小時,包含 SQL, metrics function, time series,我由於不熟悉平台的 I\O 所以花很多時間撞牆,time series的題目也沒有標示可以使用哪些套件,故最後交了屍體上去,很驚訝地進了面試。面試是人資面試官,聊個人經歷和講解公司做什麼,有提到他們面臨的是網路基礎建設不足的市場,有點像到 ibon 租片子回家的概念。
結果:感謝信。
玉山 — TMA
由人資聯繫,我其實不很喜歡現在證券業搞博弈的風氣,但接到人資的邀約後我想正好是個機會,也許能加入金融業親自了解。
-面試流程:兩次團體面試,過程和版上分享的差不多,我選擇AI組,今年筆試的題目較多 Deep Learning。二面時被詢問到自己的特色,我提到做資料工作,哲學和社會學的素養會很有幫助,我們應記得金融對人類社會的意義,須時常記得金融本質是人類之間的互信體系,仔細檢視新服務如何形塑人群互動,否則很容易變成玩數字遊戲,結果成為剝削循環的幫凶,看起來面試官一臉覺得無聊,甚至後來顯得不耐煩,讓我蠻無力的。
-結果:感謝信
91APP — Data & insight Analyst
主動應徵,天眼通上面的情況看起來不妙,但看他們在做 O2O,可能會用上過去接觸使用者研究的經驗,所以姑且去聊看看。
-面試流程:三位面試官,詢問專案經驗,提到他們部門是分析商家資料的,分析使用者資料的有另一個部門在做,他們的挑戰主要也是在Offline端要追蹤資料非常不容易。面試過程算普普通通,倒是很開心大家也都把面試當成交流討論會,看著其中兩個面試官對我過去某專案作法互相質疑,原來他們分別來自統計、資工,各有重視的面向。
-結果:無聲卡,還蠻困惑的,因為面試完後主管還跟我保證說我可以進下一階段。
台積電 — RD YEP
GG 招人由各個部門分別聯繫,有種橫向溝通較差的感覺。
-面試過程:除被問什麼是decorator外都純聊天,沒問機器學習或模型相關的問題。YEP下分幾個子部分,包含客服、產線效率\良率優化、管理優化,該部門是管理優化,是要從產線資料來推測人為疏失,主管特別提到資料處理難度高,在面對新製程本身的不確定性之外要找人為疏失,畢竟是要指出別人的問題,會變得十分困難。我趁機很不要臉地問了台積的運動會是不是如傳聞中那般要呼口號;另外也被問到願不願意加班,我的回答就如同前面提到「願意加班,但加班不應常態性存在」
-結果:感謝信
台積電 — IT Engineer site operation
YEP收到感謝信之後過一段時間,也是人資聯繫,資料表什麼又都要全部又跑一次。
-面試過程:沒有技術問題,先是自我介紹,然後自由經歷問答。面試官解釋這個部門可能不會寫很多 code,更多的是需要和其他部門溝通和確認需求。通過面試後,爾後接到人資電話做經歷確認,但這回不是被問加班,而是進展到願不願意值班了,人資挑明說可能會要假日輪值,這件事倒是第一次聽到。
-結果:感謝信。
蝦皮(新加坡) — Software Engineer Machine Learning
網站主動投遞,我原本是投Data Analyst,結果被人資轉去面SE。
- 面試過程:大致上和 Glassdoor 分享的流程差不多,因為當時還在服役,約了快下班的時間透過 Skype面試。一面為人資篩選經歷,全程英文,先是自我介紹、到新加坡工作的動機和期望待遇等等,不過敝單位宿舍沒有Wifi,手機網路又不太給力,聽英文聽得很吃力。幸運進入下一關技術面試,事前寄來測驗環境連結,我點開連結看到記事本上寫著一行註解”Could import numpy, pandas, sklearn”,以為是要給份資料考資料處理或預測分析,於是針對這點去熟練,沒想到面試當天直接來Coding interview,一整天在單位服務民眾完腦袋已經不太清楚,加上久沒練習,於是就爆掉惹,不過後來進到機器學習觀念問答我就比較放鬆,這一部分倒是得到考官肯定,問到的問題包括SVM, Kmeans, Dropout Layer。
-結果:感謝信,後來問能不能給次機會面DA或DS完全沒下文,想來是被冷凍期了。
蝦皮(台北) — Business Analyst
主動投遞,我原本投Data Analyst,但人資打來解釋DA在台灣這邊比較像為商家提供報表的角色,要做整體商業或營運資料分析的職位是BA,所以就轉過去。
-面試過程:兩次面試分別在松山文創和Garena的辦公室,一面也是聊天, Business Transform部門需要更多的是商業上的理解,很多時候沒有那麼技術,而是下SQL撈資料做簡單的表格分析或生報表給更上級主管,BT部門主要的任務是為蝦皮找利基點,常態性預測和效能改善有專門的部門在進行。二面時有另一個面試官,問專案經歷比較技術的問題,也考SQL的知識,我想我被刷掉的原因可能是有一題SQL把Union 和 outer join搞混。
-結果:感謝信,寫信催才寄來的。
Greenpeace — Insight Analyst
透過Glassdoor應徵,想說有機會分析環境資料,找到污染來源或數值異常。
-面試過程:在辦公室視訊香港主管,不過當天他們網路出了問題狂斷線,連回來後聲音品質也頗差聽起來很吃力,面試時才知道分析目的是提升捐款者體驗和增加捐款,團隊組來自東亞各國。大致上問的內容是自我介紹、人格特質,據傳 Greenpeace 注重討論和人文思維,但這點在面試時好像沒觀察到。
-結果:感謝信。
英華達 — 業務工程師
透過104邀約,我論文正好做次世代定序相關的主題。
-面試流程:共有兩次面試,第一次一間生技新創公司的兩位美麗主管>\\\<,該生技公司應用第三代定序技術做醫療檢測機台,和英華達是策略聯盟關係,這個職位像是英華達在該生技公司駐外大使的概念,因此工作地點在林口長庚附近,工作內容包括把醫檢的語言轉換成工程師的語言,並且參與後續檢測結果分析解讀。面試大致上就是聊些專案經驗和了解我對軟體平台的了解程度,面試結束後做英文測驗和細心度測驗(20幾題肉眼比對左邊和右邊字串是否一樣)。二面則是和技術主管、營運經理還有他們請來合作的教授顧問,大致上也是聊些經歷,介紹之後在英華達這端要合作和開會的方式,還有期望待遇。
-結果:Offer get
圖爾斯 — 生物資訊工程師
主動應徵,有了英華達面試經驗,出於好奇也看看本來就在做基因醫檢的公司。
-面試過程:事前要求簡報介紹一個專案經歷,我就講了我的論文。他們公司工作分派切得比較開,在生技每個領域都有各自的專業,所以大部分都是同一種檢測就一兩個人從頭幹到尾,不會分工有人專門清理資料、優化系統,相對地開發週期也會比較長,待遇上也不可能跟資訊產業比;此外面試官也順便介紹其他相關基因檢測公司與他們所主打的市場區隔,例如有勁、基龍米克斯、行動基因。我聽完之後也覺得自己應該不會想走這樣的工作型態,所以回應會再考慮。
-結果:感謝信
玩美移動 — Business Analytics Specialist
主動應徵,天眼通上看起來不太妙,不過看做的主題很有意思姑且一試。
-面試流程:先是蠻老派的智力測驗和國文測驗(怎麼不是語句邏輯測驗呢),測驗完人資進來確認資料,然後就是…等,據說是面試官會還沒開完,就這樣枯等40分鐘面試官才進來,進來之後也一副想趕快交差的樣子,面試官事前沒看履歷亂問一通,並且不斷攻擊在校專案和實習都是學術不適用職場。另外一個不好的印象是,面試官嗆「新鮮人開這樣的期望待遇太高」,我詢問那公司預期是多少卻又不回答,面試官更嗆有別家公司更高就請我趕快好好把握。
-結果:感謝信
Cinnamon — AI researcher(junior)
透過臉書看到徵人訊息,總公司來自日本,剛在台灣成立分部,當時辦公室只有3個人,預計年底擴到50人,主要做自動化解讀定型化契約。
-面試過程:問機器學習知識問得很深入,例如解釋 bias variance tradeoff、要求在紙上跑決策樹演算法等等,也有一個 leetcode easy的 coding interview,也因為和各國分公司開會需要用英文,所以要求用英文敘述專案經驗,也聊到我對資料分析道德上的考量。面試官很擅於引導和討論,可以看出他的理論基礎很扎實,算是遇過最有收穫的面試。
-結果:感謝信,他們連感謝信都寫得很用心,會敘述他們觀察到面試者的優勢和最後拒絕的原因。
Uber — UberEats Analytics
主動應徵,2018-12月時的事情。
-面試過程:Take home 為 Hacker Rank 共30來題,以題組選擇題為主,每一組大多都是給一份資料Uber營運資料,然後問如果要推優惠方案應在在哪個客群上或是哪一種方案有最大收益;除此之外也有開放式問答題,例如制定政策或是比較方案詳述理由,題目不難但因為量多時間頗趕,難怪Udemy上面會有專門通過Uber考試的課程。後來進到人資電話面試,過程為全英文,先自我介紹,但人資一聽到我還有4個月才退伍就直接打槍,說他們剛成立部門需要即刻上陣,現在想一想當時確實太早應徵。
-結果:無聲卡。
KKBOX — Data Scientist
在學校的就業博覽會後,由人資聯繫。
-面試過程:Take home要用一個禮拜分析一份資料,自行設定分析目標和流程。通過後進到面試,該部門是面向製作公司的資料分析,面試部門內5個人都來當面試官,白板考簡單的Two sum 改編題,詢問做Take home 的過程,然後就是詢問資料分析有關知識,包含分群要分幾群,中間和面試官對迴歸分析使用dummy variable 的數學概念起了點爭議,我當下禮貌性地說我可能要再回去查詢確認。
-結果:感謝信。
SAGE Tech — Big Data Engineer
由人資聯繫,要求加我的Line來面試(乾那怪怪)。公司是sage tech,和sage 不一樣,詢問後才知道是香港商,在台灣設立分公司的流程還在跑,但想先用約僱方式找人遠端工作。
-面試過程:面試過程皆透過Line進行,一面45分鐘測驗SQL和一些上網估狗就有答案的問答題。工作內容老實說描述得很不清楚,只說會接到各式各樣的案子,要架系統也要分析,直到二面和主管面試我還是沒聽懂,可能就不是我適合的工作型態吧。
-結果:offer get,不過算一算薪水蠻低,但一開始就有表達期望待遇,覺得蠻莫名的。
MoBagel — Junior Data Scientist
主動應徵,公司最近才剛完成募資,也聽聞可以專注做Data研究和分析,覺得值得一試。
-面試過程:面試前須先完成 Kaggle 的經典練習題目,一面面試官組成為 Data Solution 成員以及 PM ,提問非常仔細,也要你現場解釋你練習題目的思路。稍微詢問過他們對Kaggle練習題的期望 ,他們表示想看的主要不是排名,而是透過你的分析流程,看到你了解每個步驟的意義。二面則是跟執行長聊天,這一關就沒問到技術,主要也就自我介紹,然後聊些公司發展情形。覺得他對公司充滿熱忱,聊天過程也帶給我不少想法,辦公室氣氛很歡樂自由,目前逐漸要擴張成中型團隊,希望這個風氣能持續。
-結果:offer get
均一 — AI engineer
因為之前當家教偶爾會參考均一的教材,所以也投投看。
-面試過程:限時45分鐘的take home,兩題簡單程式,兩題益智問答,通過後進到面試。面試時又考了一次筆試,題目涵蓋4題益智問答/機率和給一組資料庫 schema 要求下SQL找 Active User,筆試時間完後面試官拿著你的作答和你討論每一題過程和答案,對於沒解出來的題目,面試官很有耐心地和我討論,不過後來進到履歷聊天時,面試官好像對我講的經歷興趣缺缺提不起勁(也可能是我的經歷太淺?),個人覺得他們描述工作型態和目前的階段性目標讓我有些迷茫。
-結果:一面2週後才收到二面通知,但已經答應別間offer了就沒去。