作者wWindaZz (Ryan WindaZ)
看板Oversea_Job
标题[北美] Perception in Self-Driving Car面试经验
时间Sat Oct 7 13:19:35 2017
网志好读版
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有兴趣
的人。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 67.194.227.169
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Oversea_Job/M.1507353579.A.8B2.html
1F:推 wixter: push 你有推其他间吗? 现在超多相关公司 10/07 13:31
我其实丢的都不是一般的sw engineer,所以一堆拒信
後来拿到这个部门offer後,就没再找了
2F:推 goroundround: 感谢无私分享 10/07 13:32
3F:推 smallmac: 推 10/07 13:33
4F:推 wixter: 另外depth感觉想考epipolar :p 10/07 13:37
我原本也以为是epipolar有关的东西结果他说不是,但他也说没关系
5F:推 j19951102: 谢谢分享!对CV这方面的工作有兴趣,想请问你的背景是m 10/07 13:48
6F:→ j19951102: aster还是PhD吗? 10/07 13:48
我是master喔,说实话master要找这领域的真的蛮困难的,要做好被拒的心理准备
7F:推 ohmygodd: 推强者rob学长 10/07 14:53
这不是me ohmygod吗XD
8F:推 Junneo: 赞赞赞,好文 10/07 16:10
9F:推 ladygaga168: 推 10/07 18:56
10F:推 bluebluelan: 应该是过去就有做过不少CV的东西了吧? 10/08 02:35
我其实算是半路转行的,去美国前没做过跟CV有关的东西
不过来美国後我修了computer vision/advanced computer vision/mobile robot
这些都和perception有关,也找了一位教授做computer vision的project
11F:推 bowin: 推详细分享! 10/08 07:08
12F:推 lunashining: 等等你是在美国念MS还是有身分在台湾念@@ 10/08 09:13
我正在美国念MS
13F:→ lunashining: 阿没事看脸书其实我有一些好友跟你重复XD 10/08 09:15
真的吗!?是谁哈哈
※ 编辑: wWindaZz (67.194.227.169), 10/08/2017 11:31:32
14F:推 lunashining: 爱吃炸鸡的大你一届的学长和绰号是有机物的学长XDDD 10/09 10:30