原標:[面試] 台灣CV/自駕車(彩富/玩美/理立/工研院) 面試心得
圖文/(本文由sr29 (owo)授權轉載)
不太確定該發soft_job還是這邊XD
但秉持著取之於科技版還之於科技版的心
分享一下應徵軟體工程師弱弱的心得 希望可以幫到未來的新鮮人
請各位前輩鞭小力點
-
背景
四大機械學碩 多益金色
大學成績偏爛 GPA好像在3上下
碩班好一點 最後一學期GPA有4
國中開始寫C++ 大學才修了OOP
碩班修了演算法拿到90+ 修課以外主要是用Python
碩論做強化學習 修課也大多跟ML/DL有關
-
在口試前就開始投/開履歷,主動投的是工研院和DeepQ,收到有興趣的面試邀約有玩美移動和彩富電子,另外請朋友幫忙內推理立系統
單看職務敘述DeepQ算是最有興趣的,可是不同管道寄了信去都無聲卡
以下按面試順序排序
職缺是人工智慧圖像技術工程師,部門主要是在做手機app演算法的改進。
面試在訊連在的樓層,報到後先在小會議室用電腦寫性向測驗和英文測驗,接下來人資進來給了一份C++的考卷,考一些基本的題目像quick sort/ linked list反轉/ 指標等,但是我只有大學的時候寫C++ 所以寫起來略卡。
最後主管進來面談,除了問一些專業問題像是 virtual function是什麼以外,主要針對碩論用到的技術了解,也問有沒有寫過app。
主管說想看我的論文,可惜那時候雖然口完了但是還在改,只有摘要。
最後在面試完三天收到感謝函。
在內湖,做監控影像的,面試的主管有三個部門,大概內容是 影像前處理/ 產線瑕疵偵測/ 監視器影像處理。
進去後先寫智力測驗,就是給展開圖要選組合後的樣子 (還是反過來有點忘記了)。
寫完後先面了監視器影像處理部門的主管,可能因為是機械系,看我沒修過資料結構所以問了一些簡單的資結和演算法的問題。
然後拿了一張紙上面有約15行的C++程式,叫我挑錯,好像總共有7~8個錯誤,最後我只挑了三個還四個,之後主管把錯誤一一列出然後跟我說原因,在問問題時有些忘記的內容主管也會稍微提示引導,總體來說氣氛滿棒的,另外也有討論RL可以應用在他的部門的哪裡。
接下來是另外兩個部門的主管一起面試,主要是介紹部門工作內容
面完後換人資主管,主要是比較詳細的生平(?)調查,調查後叫我等一下,帶我到頂樓面試老闆。老闆隨意問了一下然後開始嘴我成績很爛寫程式會一堆bug 囧
最後回到一樓跟人資主管聊天,人資主管知道我有玩樂團後拿手機開youtube叫我找表演影片,然後當場看起來 囧囧囧
最後當場拿到offer
整個面試時間約六小時,中間等換場大概每次約20分鐘左右
考量產業和工作內容,兩周後寄拒絕函過去
人力銀行上職稱是自駕車工程師,是工研院機械所的單位
主管是學校的老師,有旁聽過幾堂,對DL相關技術有點微詞 XD
投履歷後應該過了兩個禮拜+才收到人資電話
總共有四次面試,包含兩次電面 一次視訊 一次和部門主管也就是學校老師當面面談
第一次是面人資,人資一開始就把面試流程講得滿清楚的,時間約20分鐘,做一些學歷調查和背景調查,約一周後來信約第二次面試
第二次是面主管,結果發現是同系的學長XD,時間約半小時,主要是聊一下作品集和講一下工作內容,然後問我有沒有什麼問題,約一周後來信約第三次面試
第三次是視訊考試,有七個主管和一個人資,從10:00面到18:00,中間休一小
每個主管的SOP都差不多,我自我介紹-介紹部門-問論文的問題-考程式
問論文問題時主要都跟該部門有關,比如做影像的主管會問VAE影像壓縮相關的問題。做Action的主管問RL要怎麼實際用在真的車子上
考程式的方法是開文字編輯器然後分享螢幕
大多數的主管考試內容都很簡單,可以記得大概是
1. 一個2-D點P和2-D點的陣列 找在陣列中最接近P的點,這題簡單到我以為用口頭講遍歷計算直線距離就好,結果必須細到用兩個變數存min和index
2. counting sort
3. 排序的穩定性
4. 陣列的中位數
5. 判斷質數
這個我用O(n^0.5)的方法後被主管問能不能更快,加入6n+-1後主管又問能不能更快,建表被打槍後我實在想不出來就跟主管講沒有想到更快的
6. Python的is和==有什麼差別 ( 這題我沒答好QQ
7. 找一個curve的高點
8. Python的 OOP多重繼承寫法
9. Leetcode的第一題
主管結束後是人資詢問人格特質,這個好痛苦QQ
面試結束前人資問我有沒有什麼問題,我在最後說程式題比意料之中簡單很多。約一周後來信約第四次主管面談
第四次是直接到工研院面試
收信的時候人資表示會先面兩個工程師考試才面主管,我想說之前不是說第四次只有面部門主管嗎...
總之,先到工研院西大門,辦理臨時訪客證,在裡面迷路了一陣子後終於到面試地點。
第一個面的是外國工程師,東歐人,英文面談,英文口音算好理解,有問一些跟論文和作品集的內容跟細節並且口頭問一些問題,像是為什麼要用OOP、virtual function是什麼、smart pointer、override、git rebase、Test driven development、RAII 等
因為熟悉的是python,以前也比較少接觸到modern C++,所以滿多問題都不太回答得出來。有些內容我覺得滿有意思的因此詢問能不能拿iPad出來筆記。之後只要是我沒答出來的問題,面試官都直接在iPad上講解,然後說 It's a good device XD
第二個工程師進來後就說我看過你的資料了,如果沒有要補充的話就直接考試吧。這是我第一次考白板題,有點緊張。
總共考了三題
1. 二元樹上grandparent node為偶數的node的總和 限定用C++
好險有稍微寫一下Leetcode找C++手感,所以這題有寫出來,寫出來後也有討論一些內容,我有自己找到一些小錯誤和多餘的東西,提出來後也直接修改
2. 第二題是蘋果裝箱問題,標號k的蘋果必須放在容量為k的箱子中,求最後結果
確定必有解和不只一組解後開始解題,可以用python所以心情輕鬆很多
總之是用dictionary來處理。過程中發現自己白板題寫python跟C++字跡完全不同XD
完成後也是和面試官討論像是時間複雜度和底層執行方法等的問題。我也有提如果是C++的話就用hash map來處理
最後面試官說還有時間,本來預計兩題的要不要寫寫看第三題
3. m*n image 中 column-wise row-wise maximum vector 不變的情況下,盡量maximize每個pixel,並求出整張圖累加,可用python。
完成後和面試官討論,我說如果可以用numpy的話可以更快,面試官表示但是時間複雜度不變只是numpy的列運算可以加速,並問我怎麼寫,總之還是用numpy寫了一個有點髒的解法,面試官表示應該有辦法一行解決,然後就在白板上寫下來,酷
最後面試官說我表現不錯,要我等部門主管開完會
坐了大概十分鐘後跟部門主管面試,主管表示,聽說你上次跟人資說我們考得很簡單,所以我就排了兩個很厲害的工程師先考你 ( ...果然是自己多嘴),總之主管問了一下碩論,提了一下我的指導老師 ( 有認識),聊了一下部門願景並且帶我參觀工作環境和自駕車們,到這邊開始就覺得本來想離開新竹的,看來是要繼續留了。
結束後約一個禮拜收到人資電話問有沒有意願跑任用流程,因為有另一個面試同時在跑,幾乎拿到offer了,我請人資給我一個禮拜考慮
一個禮拜後寄信給人資表示有意願,大約兩個禮拜後收到offer
第一次面到最後一次面約一個月,總體來說走滿久的,視訊考試也滿累的,但是考量未來發展和團隊最後還是選擇接受offer
這間是台灣人在矽谷開的公司然後開回台灣,主要業務是鐵道安全系統,自駕車的部門算新。由於我爸有個高中同學是北科教授,現在也在做鐵路,因此也有先請教這位教授,總體來說教授表示滿推的。
這間我有朋友在裡面,所以請他內推。第一次是和主管用line聊天,主管滿厲害的也很熱情,主管表示目前沒有head count所以要上報CEO
過幾天主管說CEO放行,並且安排和CEO跟主管網路面試。由於CEO、主管和我在三個不同的時區,因此面試時間是早上八點
面試內容主要是CEO請我從作品集中講一個比較有趣的project,然後提一下他們現在遇到的問題等,最後主管請我隔天到他們公司和團隊成員見面。
到公司後先和人資聊天,做背景調查和開offer。人資請示主管後希望我加入團隊的例行晨會,由於有朋友在裡面所以其實滿氣氛輕鬆的。結束後人資表示會與主管討論核薪並且後續通知。
大約十天後主管來信通知希望進行coding test,並在兩天後考試
考試內容是sorting和圖論白板題 基本上都還算基礎
約一個禮拜後收到oral offer,但當時我還在考慮工研院的職缺以及是否要在畢業後這麼快踏入業界,因此請人資給我多一點時間考慮
最後寄信婉拒
大致上是這樣
有點流水帳抱歉><
難得寫這麼長的內容騙騙P幣
最後還是希望各位前輩鞭小力點
圖文/(本文由sr29 (owo)授權轉載)