[北美] Perception in Self-Driving Car面試經驗

作者: wWindaZz (Ryan WindaZ)   2017-10-07 13:19:35
網誌好讀版
https://goo.gl/iSwj5Z
https://ryanwindaz.blogspot.com/2017/10/umich-robotics-06-perception-in-self
.html
今年2017暑假的時候,我去了Q公司實習,實習內容與無人車無關,但是我的興趣在
computer vision和perception,所以我一直有在看公司裡面有甚麼我有興趣的部門,結
果幸運的獲得了面試無人車部門的機會,所以想記錄一下面試過程。我面試的部門在
research lab下,所以面試內容可能會跟一般部門稍有不同,然後職稱是system
engineer,不是software也不是hardware,其實同部門下還有software engineer,但是
做得事情不一樣,system engineer是著重在演算法部分,可能寫python或是matlab就好
。Software engineer是負責把system engineer決定要用的演算法用C++ implement出來
,所以software engineer在面試時問的問題會偏向coding(不過這裡僅供參考,因為我沒
有面試software engineer)。System engineer的問題則會偏向你做過的project,
project裡面用到的數學公式可能會叫你推導。
Phone Interview
當初我以為會直接onsite interview,畢竟我人都在公司了XD,但沒想到還是先有一關
phone interview,我想可能是想先過濾一次,如果不適合就也不用浪費時間onsite
interview了,其實phone interview是直接打公司內部分機過來面試,面試時間大約
45min~60min,一開始先叫我稍微自我介紹一下,還有講一下目前Intern在做甚麼?但我實
習的部門其實跟無人車一點關係都沒有哈哈,所以就只有簡單帶過。我履歷上列了4個
projects,都是和computer vision或是perception相關的,面試官就叫我一個一個講一
下project內容,這時候他還不會問太多技術上的問題,主要問題都是就他不清楚的地方
提問,然後最後問我有沒有問題要問,到這邊就結束了。其實算是蠻輕鬆的,只要把自己
的履歷講清楚就可以了。
Onsite Interview
因為intern快結束了,所以很有效率的隔一星期馬上就onsite interview了,面試時間是
我離職前一天和離職當天XD,我離職當天識別證都繳回去了還跑回公司去面試。Onsite
interview原本要面試4個人,但是有一個人好像出差了所以變成面試3個人。
1st Run (~60min)
第一天面試了兩個人,第一位面試官一樣叫我簡單自我介紹一下後就直接進入主題,因為
他看我履歷上有用deep learning做image segmentation,就問我如果他現在有一個簡單
的場景要辨識,只要區分街道跟不是街道就好(classification problem),我會怎麼設計
neural network,我就開始在白板上畫出neural network,並講解每一層分別用甚麼還有
每一層的output number,不過這邊有被他糾正說我用的output number太大了,後來發現
他說的沒錯,因為他要辨別的場景很簡單,不需要用到這麼大的output number。他接下
來就針對deep learning的很多觀念提問,這部分我覺得我回答得還可以,最後他問我用
甚麼tool寫,我說Caffe,他說他都用Tensorflow,很想知道PyCaffe怎麼寫的,就叫我在
白板上用PyCaffe寫出怎麼train neural network,我一聽到就囧了,一方面是過了有點
久,一方面是誰會記得PyCaffe這麼多function的名稱......,我就只有寫pseudo code,
然後跟他說我真的忘記那些function名稱了,最後他也因為還有meeting,所以就到這邊
結束了,出來後很懊悔沒有去複習PyCaffe......。
2nd Run (~70min)
隔了一個小時左右又接著第二位面試官,原來他和上一位面試官是同個team,所以他們有
分工好分別要問的部分,一樣先簡單自我介紹後,他先問了我如何從兩張不同角度拍的照
片中算出depth,我之前沒做過這個,但我嘗試講一些我的想法,最後他說沒關係可以回
去再想想這個問題XD。由於我project有做visual odometry,所以他叫我解釋一下流程,
然後在白板推導公式,還好我知道這裡可能會考(因為前幾次經驗發現大家很愛問這個),
所以我事先有準備。接著他就拋出一個題目:要如何判斷一個點在rectangular bounding
box裡?一開始我以為是正的bounding box,我就說可以用座標判斷是否在中間,但他說這
個bounding box是可以任意旋轉的,我現場想了一下後,提出可以用那個點到bounding
box四點所圍出面積來判斷,接著就這個問題一直延伸,這真的是考臨場反應,因為我之
前沒在做detection的問題,還好現場有想出來。最後閒聊了一下還發現他知道我mentor
lol。
3rd Run (~75min)
隔了一天終於來到最後一輪,他其實就是一開始跟我電面的人,一樣簡單自我介紹後,又
問了我visual odometry的東西,哈哈昨天才剛推導過記憶猶新。接著看到我之前做3D
voxel semantic segmentation,叫我在白板上畫一下流程,把neural network大概畫出
來,然後跟我討論了一下3D環境會遇到的問題,例如voxel表示法會有大部分區域都是空
的問題,其實花了很多computation在算一些沒意義的區域。結束前他說要考一題coding
problem,聽到時我內心大驚!如果有看我上一篇文章就知道我根本沒準備刷題
......,不過還好題目蠻簡單的:output all of the prime numbers from 1 to 100,他
問我平常用甚麼語言,我說python,於是就在白板上邊講解思路邊寫,其實我的code應該
不是100% bug free,但是他理解後就說可以了。之後就邊聊天邊送我出去,到這邊終於
解脫了XD
最後
因為在準備面試前,常常上網都找不到相關領域的面經,所以想把自己的經驗分享出去,
希望在這個大CS時代下,能幫助到一些跟我一樣對computer vision和perception有興趣
的人。
作者: wixter (hmm)   2017-10-07 13:31:00
push 你有推其他間嗎? 現在超多相關公司
作者: goroundround (走圈圈)   2017-10-07 13:32:00
感謝無私分享
作者: smallmac (洨麥克)   2017-10-07 13:33:00
作者: wixter (hmm)   2017-10-07 13:37:00
另外depth感覺想考epipolar :p
作者: j19951102 (j19951102)   2017-10-07 13:48:00
謝謝分享!對CV這方面的工作有興趣,想請問你的背景是master還是PhD嗎?
作者: ohmygodd (MBPR GG )   2017-10-07 14:53:00
推強者rob學長
作者: Junneo (偏激異端天秤混合體)   2017-10-07 16:10:00
讚讚讚,好文
作者: ladygaga168 (Malkovich)   2017-10-07 18:56:00
作者: bluebluelan (新陰流大目錄免許皆傳)   2017-10-08 02:35:00
應該是過去就有做過不少CV的東西了吧?
作者: bowin (盡其在我)   2017-10-08 07:08:00
推詳細分享!
作者: lunashining (asdfgh)   2017-10-08 09:13:00
等等你是在美國念MS還是有身分在台灣念@@阿沒事看臉書其實我有一些好友跟你重複XD

Links booklink

Contact Us: admin [ a t ] ucptt.com