Posts /

算法实习这一年(二)

Twitter Facebook
09 Mar 2018

2017.07 开始到现在(2018.03),贯穿始终的就三件事:实习、面试和搬家。

我是一个比较独立的人,大事小事基本都是自己做决定,也自己一个人去做。在学校生活和去一个陌生城市实习,这两者还是差别很多的。当你需要自己去布置起居室、及时交水电费、不能忘了带钥匙,还有一个人长时间独处一室的的孤独感,这是可能都是在学校里习惯了的我感到陌生的事情,而且都是琐事。还有更现实的一点是,你需要计算一下,如何规划自己的收支达到平衡,这就带来一件很有趣的事情:本来在学校的时候,花的钱是家里的,可能不怎么在乎,大手大脚。但是出来实习之后,由于要强的性格,想自力更生,当发现怎么算都入不敷出时,自己就会不自觉地开始节省一些不必要的支出,但需要说明的是,这并不会动摇我的消费观念。生活上,简单来说就是由于实习工资和生活成本的问题,自己基本处在一个半独立的状态。

再说一下实习期间的体会。滴滴的实习从 2017.07.20 开始,那天上午去滴滴大厦入职,下午便去了安宁庄那边报道。在实习的三个月左右的时间里,工作内容相对轻松,除了完成一个 domain adaptation 的任务,剩下的时间可以自己支配。刚去前两周,由于我之前没有接触过语音识别,所以实习的前两周主要是在了解这方面的背景和技术现状,主要参考从 JD 购买的一本《语音识别实践》和相关的论文。在做这个项目的时候,也是自己不断进行思考的过程,然后我发现语音和图像是两个关联比较密切的领域,我所做的内容也属于将图像领域的一个成果迁移到语音识别的任务中。在这一过程中,我逐渐对语音识别产生了浓厚的兴趣,同时也被训练折腾的死去活来,fine-tuning 是一个耗时有需要耐心、技巧的过程,过程中的收获也是非常大的。在这段实习中,我做的不太好的一点是,内部的办公软件是钉钉,由于整个研究院的都在里面,而且加了一些群组,所以里面很多跟我无关的消息会打扰到自己,所以我把消息通知关掉了。这也导致我有时不能及时的回复 leader 的消息,因为我跟 leader 坐的还是有一定距离的。还有一点就是在训练模型过程中会遇到一些问题,我当时的做法是尝试自己解决,就没有向 leader 报告,这导致有时会浪费很多实践,如果说了的话,可能一句话就解决了。所以,实习之后,发现不光会面临技术上的考验,还有很多平时工作中需要养成的良好习惯。

现在回顾看来,滴滴这段实习经历对我最大的意义是让我从做宽泛的机器学习/深度学习开始做特定方向,更有专门性的任务。毕竟,语音识别是在学校里相对图像和 NLP 来说,有相对较少的机会能接触到的。

实习到 9 月初的时候,A 家打电话问要不要参加他们的春招实习过了不去可以直通校招终面的面试。我就想着既然只有一面那就来吧,毕竟可以过了不去,也可以借这个机会找一下大四下学期的实习,反正没什么事干。当时面试是几个人一块给电话面的,包括技术和 HR,后面又加了一轮交叉面。这个开了校招的头之后,我就决定找一些其他的做语音的公司面一下,九月份的时候有一段时间每天晚上实习完回家之后就是做笔试,有的时候是在回家的路上电话面试,而且当时所有的结果都没有出,因此心理压力还是挺大的。除此之外,我 2017.08.25 去潍坊考 GRE,边准本英语边准备面试确实是一件很“难受”的事情。

8 月份的时候,我把墨尔本大学需要的材料准备好,然后把申请提交了过去,后面十月的时候给了 condition offer,不过那个时候我已经在犹豫要不要出去了。之所以产生这种看似不合理的犹豫,是因为看到如此多的人在面试 deep learning 的相关岗位,而且身边学各个专业的同学都跑来做深度学习了,已经工作了的也有很多正在考虑或者已经转来做机器学习。除此之外,最近几年,越来越的学术大牛从学校里跑到各大公司的研究院,准备大干一场……基于现在的趋势,我问自己,如果出国读硕士,两年后,这个行业会变成什么样子?如果工作内容是自己喜欢的话,这两年时间在学校和在公司,哪个会让我进步的更快?

在这个问题上我考虑了很长时间,最后决定暂时搁置我的出国留学计划,先进入工业界工作 1-2 年左右的时间。所以,本来计划的 10 月份实习完之后,回学校操作留学申请的事情,然后继续回去实习的计划,变成了 10 月底 11 月初在学校治了一个月鼻炎,中西药一块上,然而最后并没有什么卵用。后面 2018.11.15 赶到了杭州,准备毕业后这两年就在阿里了,所以租房、搬家什么的,都是按定居于此准备的。

插一句,杭州给我的感觉也很不错,比广州要稍微差一点,不过可以理解为 90 分和 85 分的差别。杭州物价房价已经对标一线城市,不过基础设施还差很多。环境好,杭州人给我的感觉也很温和,总之好评,宜居。

其实当时 A 家给 offer 的时候我还是很意外的,因为本以为自己会被分到背景,结果被分到了杭州。所以不知道这个之前,我已经拒掉了其他几家的校招 offer,最后在犹豫去出门问问还是去阿里,不过看到阿里的办公地点在杭州之后,我就做了决定,拒掉了出门问问语音识别的 sp。后面发现具体的组跟我实习生招聘分的组是同一个,而不是我最后一面面试官的组。我们组有 7 个人,其中 6 个在杭州,还有一个 base 在北京。A 家实习对比起滴滴研究院,节奏很快,任务很赶,周末经常需要去加班。我一开始告诉自己,不管脏活累活,不提要求,有任务必做。实习第二个月的时候,我尝试了一个月的 996 的作息(我们组基本是 995),感觉那种生活状态比较压抑。就工作内容而言,没有什么难度,只不过是各种处理数据,特征工程。我想这应该是实习生需要经历的过程,所以并没有什么意见,一直在以积极的态度去做。转折发生在 2017 年年底,我发现部门的组织结构经常发生变动,我们组 base 在北京的那个被调走,剩下我们六个,除了我一个实习生外,另外 5 个是正式员工。至于中间具体经历了什么我就不说了,最后的结果就是,我们组的 5 个正式员工有 4 个提出了离职,所以新安排的主管就希望把我稳住,不要受他们离职影响。我是没有怎么受他们影响,不过我自己也确实早就有不想继续呆在这的打算了。主要基于几方面的考虑,一个是工作内容比较枯燥,说白了就是调调集团的 API,处理处理数据,没什么难度,我担心在这里面待的时间久了之后,技术会严重退步。另一方面,不太认可部门的气氛。还有一点就是,工作的内容跟我主要擅长的方向不匹配。基于这三方面的考虑,我逐渐下定决心要毁约,至于去哪,还不确定,毕竟我们这一届的秋招已经结束,剩下的坑不多了。

我有以下几种选择,我也都慎重考虑过:

  1. 继续呆在原部门。同事大面积离职,这也意味着有很多工作需要人来做,对我来说,其实是快速提升自己的机会。另一方面,我也很认同马爸爸说过的一句话,有时候,你就是得在自己不喜欢的岗位上干几年,才能学到东西。
  2. 主管离职之后,也向我抛来橄榄枝,他去了 A 家另外一个部门,我简单跟那边聊了一下之后,那边也给了 offer,把这边的 offer 平移过去。
  3. 自己重新去找别的公司的机会。

关于第三个选择,其实需要下很大的决心去做。毕竟有很多人想进阿里,今年阿里校招招了 600 人左右,作为对比,腾讯招了 2000 人左右。所以,放弃 A 家的企业光环这个决定,不是那么容易就能做。如果出去找另外的机会,是就只在杭州本地呢,还是继续吧目光放在全国呢?如果是大三暑假,我不在意工作地在哪。但是现在,我搬一次家是很费劲的,而且杭州确实是一个比较理想的工作地,政府也有针对应届生的一系列福利政策,如果去其他城市,又是一次新的折腾……

但是,杭州本地的情况就是,我了解下,发现可选的企业并不多,就面了一下 Rokid 和 蘑菇街。Rokid 给了 NLP 的 Offer,蘑菇街给了图像的 Offer。蘑菇街的面试比较有意思,HR 跟我说,我是通过社招的渠道,拿到了校招的 Offer。虽然有了新的 Offer,但我其实并不太想去这两家,考虑到他们的发展潜力。但是,杭州确实没什么其他机会可以选择了。

于是,我开始找自己 T 家的同学,问他们还有没有坑,我也又把拉勾下载了下来,寻找其他的机会。插一句,其实中间我在由于要不要毁约的时候,英语流利说的 HR 找我给我安排面试,但因为我还没考虑好要不要走,所以就没面。投了北京的头条 AI Lab,腾讯 AI Lab,地平线机器人和猎豹移动旗下的猎户星空。腾讯 AI Lab 的面试官是做游戏 AI 的,面试完之后,HR 给的反馈是,我的技术和履历很不错,不过没有增强学习方面的经验,跟职位不匹配。我又询问有没有语音或者图像的机会,得到的回复是语音只招博士大咖,针对本科生的其他岗位已经没有坑了,于是作罢。至于头条的 AI Lab,面试的也是语音识别岗位,不过由于我在滴滴三个月的语音识别经历面试官认为我这方面的基础不够,没过。我其实一开始不记得自己什么时候投了猎户星空,也压根没听说过这家公司,至于地平线,我是有投的。当然,我也投了 Face++,不过没有回复。由于 2018.01 的时候,组里一个师兄问我要不要面一下拼多多,给钱多。我让他给内推了,不过由于是推荐算法工程师,而且我感觉拼多多的工作模式是在压榨员工,因此没有去面,因此作罢。

说到这里,插一句,其实绝大多数职位都是要求硕士起,但我还是投了,从结果来看,大部分公司还是会给面试机会的,因此,学历并不是他们首要考虑的因素,如果你的履历比较好的话。

由于我身在杭州,猎户星空和地平线都在北京,所以我都是先进行了两轮电话面试。猎户星空Orion 是在公司面的,地平线的两轮是我在坐公交的时候面的(手动捂脸),你可以想象整个公交车上,本来比较安静,结果一个人在不停的往外蹦 CNN 、分割、损失函数…… 是一个什么场景。两家公司最后都是说有没有时间去北京当面面一下,我说年后吧。

时间很快到了农历正月初七,我从家里回到了杭州,那时候就打算好了去公司提离职。过年在家我也考虑的很长时间,最后决定提离职,去另一个部门实习下看看怎么样,然后再决定要不要从原部门毁约去那边。于是,我在 2018.02.23 提了离职申请,25 号返回了广州,原计划 2018.03.08 去另一个部门那边入职。

在学校的这一周多的时间里,地平线打来电话问什么时候方便去面试一下,他们可以报销往返机票和酒店住宿,于是我就约在了 2018.03.06 号去北京面试。买好机票后,我便联系了猎户星空那边的 HR,想着顺便把那家也一块面了。于是,我 03.06 下午 2 点飞到了背景,然后四点半开始,面试猎户星空,一直面到了晚上七点半。这中间有一轮笔试和三轮面试,面试官除了问项目、优化经验、基础知识,还会问到自己的规划,为什么要毁约,对新职位的期望等等,可以看出面试官很满意。我走的时候,心想,应该是稳了。

第二天 03.07 早上去面了地平线机器人,也是三轮面试加笔试。写了些 C++ 和 tensorflow 的代码,然后问到了 CUDA,OpenMP 和 MPI,Python 并行,以及神经网络的 bug 排查等方面的问题,当然还有每次面试都会问的项目、实习、深度学习基础知识、比较有影响力的论文和个人规划等。总体感觉地平线的面试要比猎户星空要难一些。比较有意思的是,最后一面的面试官竟然也是我华工的,所以有一种莫名的亲切感。他问我可不可以马上就去实习,我说我最近资金比较紧张,折腾不起,想毕业后去。后面,HR 跟我说,他们可以以正式员工的标准发放实习工资(我听完一愣,还有这种操作?)而且,地平线针对校招生的入职培训是在硅谷,所以早点去的话可以安排下签证方面的事,我说我有签证(手动捂脸)。不过这确实是很不错的一件事。

两家都是 2018.03.08(也就是面试完后一天)给的 sp,脚前脚后,地平线给的多一点,而且,地平线的岗位是做无人车的感知,猎户星空的岗位是做中英文识别、幼儿、多人场景等语音方面的任务。我其实对语音和图像的偏好并不明显,两个我都非常感兴趣。不过我觉得,自动驾驶对我来说是更加难得的机会。

在这中间,有些猎头给我打电话,问我考不考虑图像方面的一些机会,包括腾讯优图,头条 AI Lab(这次是图像部门)和 pony.ai,我感觉都还是挺好的机会,所以就说可以投一下,我自己前几天还报了微信的补招,所以后面应该还有三四家面试。

——– 总结线 ———

这一篇主要记录了我长达 7 个月的实习和找工作的经历,而且还没结束。其中有很大的收获,也有不尽如人意的时候。这段时间一个人在外面生活,life taught me a lot。

接下来的一篇,我准备写一下对过去这一年的一些反思。比如可以感觉到实习的过程自己也在慢慢变得更好,从拿 offer 到拿很多 sp。比如在找工作的过程中,也会因为学历、经验方面的因素被拒绝或者直接不予考虑(比如我投了 N 次的 MSRA,以及前段时间 Google 在北京成立的 ML 部门,都从没得到过回复)。个中滋味,只有体会过才能知道,但不管如意不如意,对自己的人生来讲,都是好事。


Twitter Facebook