一个非科班渣硕的算法转非技术岗的艰难秋招之路(内含面经)
写在前面
本人双985渣硕,非科班,研究生主要的方向是cv,导师佛系科研,准备走行政道路,平时也不怎么管我,然后自己在武汉一家小公司实习,主要做深度学习和高精度地图相关的项目,从七月份开始准备秋招,历时三个月左右。个人的秋招经历比较奇葩也比较丰富,陆陆续续投了四十多家的公司,刚开始头铁硬刚算法,碰到头破血流,后面下定决心转向非技术岗,最后签约阿里高德地图数据产品岗,虽然过程崎岖自己也算是满意了。接下来介绍下自己的秋招经历,整理下每个公司面经以及每一阶段的心路历程,有些公司问题记得不太清楚,还请见谅。自己实在太弱了,本来不想出来丢人的哈哈哈哈,但是想想发出来给自己秋招划上一个圆满的句号,也算是为以后找工作的同学提供一种思路,造福大家。
面经总结:
1.商汤-自动驾驶算法算法工程师(一面挂)
商汤是我秋招面的第一家公司,因为实习的时候做了些和高精度地图相关算法,投的是自动驾驶算法工程师,虽然第一次面试但是做了充足的准备,面试官感觉也就比我大两三岁,全程相当于面对面交流,面试视频面,主要问了项目和相关延伸的知识点,主要有下面问题:
1.介绍下自己和项目
2.讲一下Faster RCNN的RPN,为什么前景背景分类用sigmoid而不是softmax,讲一下FPN,region proposal时怎么知道roi 是属于哪一个feature map的。
3.简单介绍下你知道的 one stage目标检测算法
4.你为什么要用 weight BCE+dice loss的损失,focal loss 了解吗?
5.max pooling 反向传播怎么算?ROI Align和ROI pooling有什么区别
6.懂马尔科夫吗?
7.简单介绍下SIFT,你怎么保证双目相机同时曝光
8.怎么计算视差的,说一下SGBM原理,你怎么根据立体像对同名点计算大地坐标?
9.写一下NMS
10.最近看了哪些论文?简单介绍下centernet和cornernet
2.讲一下Faster RCNN的RPN,为什么前景背景分类用sigmoid而不是softmax,讲一下FPN,region proposal时怎么知道roi 是属于哪一个feature map的。
3.简单介绍下你知道的 one stage目标检测算法
4.你为什么要用 weight BCE+dice loss的损失,focal loss 了解吗?
5.max pooling 反向传播怎么算?ROI Align和ROI pooling有什么区别
6.懂马尔科夫吗?
7.简单介绍下SIFT,你怎么保证双目相机同时曝光
8.怎么计算视差的,说一下SGBM原理,你怎么根据立体像对同名点计算大地坐标?
9.写一下NMS
10.最近看了哪些论文?简单介绍下centernet和cornernet
11.手撕代码:1.单链表的翻转
2.之字形打印二叉树
上面的问题除了马尔科夫不是特别了解,sift算子时间太长了一时不知道怎么表述清楚之外,其他的问题我觉得回答的都不错,两道代码题也都比较简单。最后面试官和我讲,基础挺不错的,但是没有论文,没有大厂的实习经验,研究的不是很有深度,我想可能就是因为马尔科夫和sift没有回答出来吧,这也怨不得别人,都是比较基础的知识点,面试官最后也一直的安抚我说我觉得你挺不错的,我觉得你挺不错的。。。他还邀请我去商汤实习,但是因为考虑到秋招没时间之后还要做毕设,我就委婉地拒绝了。商汤面试完之后,虽然没过,其实我还是比较放松的,毕竟面试官也给了积极的评价,自己也对接下来的面试充满了信心。
2.字节跳动-计算机视觉算法工程师(一面挂)
字节跳动是我在牛客网上找师兄内推的,头一天晚上投的第二天就约面试。也是视频面,小姐姐十分地温柔,但是我面下来真的可以用惨不忍睹来形容。。。第一次真想骂自己太菜了
1.C++面向对象介绍下
2.new 和malloc有什么区别
3.一道数学题,A、B两人投硬币,谁先投到正面谁就赢,求先投的人赢的概率
第一次面试碰到数学题,然后整个人就懵逼了,懵逼了......其实很简单,当时自己碰到数学题就蒙了,思考了不到30秒就投降了,自己太怂了。。。。
4.二叉树两个节点间的最长距离
自己又懵逼了,,,,之前真的就以为面试就是剑指offer那几道题。。。自己思考了半天才在编辑器写了几行代码,小姐姐说不用写了讲下思路,我挠挠头,说不好意思没想起来,小姐姐说没关系,我们再来一道智力题吧
5.在一片草原上有1只羊和若干只狼,狼可以吃羊或不吃羊,但狼吃羊后会变成羊,从而被其它狼吃掉,已知羊不能被两只或以上的狼分着吃掉,并且每一只狼都会先保证自己不被吃掉,而在此前提下每一只狼又都想吃到羊,那么羊是否会被吃掉?
我又懵逼了....我弱弱问了句,这是不是动态规划呀。。。小姐姐说不用这么复杂,最后给小姐姐说了自己的答案,小姐姐也没说对和错。小姐姐直接说,今天的面试就先到这吧,然后不到十分钟,自己就收到了感谢信,果然是宇宙条,让我真正地感受到了互联网大厂的面试,面试的时间总共十五分钟就结束了...
万万没想到,字节的面试是我互联网算法岗的第一次面试,也是最后一场面试。。。。接下来就陷入到了长达一个月的笔试就挂怪圈。。。
3.网易(笔试挂)
4.大疆(笔试挂)
6.美团(笔试挂)
7.斗鱼(全ac,没面试机会)
8.小米(全ac,没面试机会)
9.京东(ac3,没面试机会)
10.oppo(笔试挂)
11.vivo(ac3,没面试机会)
12.流利说(笔试挂)
13.依图(笔试挂)
14.图森(简历挂)
15.旷视(笔试挂)
16.shopee(笔试挂)
17.拼多多(笔试挂)
18.寒武纪(笔试挂)
19.华为算法(笔试挂)
20.陌陌(简历挂)
5.贝壳(笔试挂)
反正我就是一好惨的男的,像我这样挂一个月的笔试应该没有谁了吧。。。。笔试挂是我自己菜,自己非科班,没好好刷过leetcode,但是斗鱼,小米和京东没有给我面试机会我始终想不通,我只能归咎于自己是非科班吧。那段时间,我没有一个晚上好好睡过一次觉的,压力特别大,做梦都在梦到自己刷leetcode,早上醒来也无精打采的,浑身无力,上班实习也打不起来精神。我十分的害怕,害怕自己找不到工作,害怕自己失业,我害怕别人说我一个985的研究生都找不到一个工作,我不知道怎么面对父母,怎么面对女朋友,每一天都浑浑噩噩的,这可以说是我上大学以来最黑暗的一个月。
幸运的是,我没有彻底否定自己
我开始积极地与周围找工作的小伙伴们沟通,尝试地从他们身上学习经验,分享自己笔试和面试的经历,和他们对比,看看自己身上哪些还是欠缺的,小伙伴们也每天鼓励我,让我看到走下去的希望。我也积极地找自己的师兄师姐内推,主动请一些师兄师姐吃饭,当面交流,看看能不能给我一些实用的找工作经验,我也开始反思,既然笔试不好过,自己怎么才能跳过笔试,直接面试,毕竟直接面试上岸的几率更大。
第一次转变思路
我开始重新审视自己,仔细复盘这一个多月的经历,我总结出来:自己非科班的,没有顶会没有比赛,算法基础(LeetCode、数据结构)相对较弱,找互联网大厂纯cv的岗位毫无优势,执意去投只有死路一条。但是自己是测绘地信出身的,实习的公司虽然小,但是具有导航电子地图甲级资质(导航电子地图甲级资质在业内极其珍贵,目前国内只有高德、百度、腾讯、滴滴、华为、momenta,宽凳等20家公司具备资质,是制作自动驾驶高精度地图必备的条件),而且自己的项目都是和高精度地图自动提取算法相关。既然这样,自己的目标就明确了,那就主要投具有导航电子地图甲级资质的公司。
是的,我决定深耕高精度地图领域。
那这20家公司怎么投?我给自己定了个思路,先拿创业公司和小厂面试积累经验,大厂尽量后面投,成功率会高一些。
1.宽凳科技(面试通过,给了口头offer,但无奈最后没hc被拒)
地点:北京
宽凳科技是16年的创业公司,公司高层是前百度和高德系的,18年拿了甲级资质,自己的本科同班同学在里边工作,遂找了同学内推。简历投递的当天,hr就联系了我,为了免笔试,我答应做校园大使,等正式校园宣讲会帮他们宣传。
一面:
一面直接是公司毕业于斯坦福的技术总监面的,面试形式是电话面,之前hr约了两次被鸽了两次,面试主要围绕简历为主。
1.介绍下自己高精度地图车道线自动提取算法的主要流程。
2.为什么用点云做源数据而不是车载影像。
3.简单介绍下unet,为什么unet效果会好
4.用了什么损失函数?怎么解决样本分布不均衡。
5.介绍下FasterRcnn,详细介绍下RPN的两个分支,怎么训练的?
6.你是怎么部署模型的?
7你是如何处理小目标检测的问题?那介绍下FPN吧
8.你提取的车道线绝对精度和相对精度是多少?怎么测试的?
9.介绍下C++面向对象的特性。
10.了解智能指针吗?简单介绍下
11.介绍下半全局匹配算法
一面总共持续了二十分钟,问的都是自己做过的项目,所以面试感觉非常好。面试官说做的项目思路还不错,问可以来实习吗?我说现在还在实习的公司有项目,不好离职,而且导师开始催毕设可能没有太多的时间。面试官说没关系,接下来可能还会有一次面试。
二面:
二面和一面相隔了一个月。一面是8月22号,一面面完了之后,hr联系我说要亲自去北京面试,因为我当时还在实习的公司没有离职,我和hr商量说可不可以等9月份他们来武汉现场面试,hr说可以,所以一面和二面相隔了一个月,9月22号在华科现场面试。
二面主要还是以项目为主,面试官应该是个小技术主管。然后就手撕了两道代码:1.判断链表是否有环。2.最长连续子串。都比较简单。
之后就和hr小姐姐畅聊了起来,我这个人也算是个话痨,从学习科研聊到人生理想,从工作聊到生活,还聊到北京生活,逛街,女朋友,家乡等话题,聊得挺开心。hr小姐姐和我说,她认为我百分之百能过,很优秀,做的东西十分对口。我问这是口头offer吗?她说你可以这么认为!国庆节之后给我发正式offer!承诺薪资package不低于30w!我当时开心死了,我以为这是我秋招的第一个offer,终于熬出头了!
但是国庆节之后迟迟没等到oc,我联系了三次hr,hr第一次说其他的校园招聘还在进行,之后会统一发offer。第二次hr说,上面的领导还没通知他们什么时候发offer。第三次hr终于说了实话,cto说没需求了,他们后面北京的几场校园宣讲会都没去,和我说抱歉,让我去找下家.....
之前在牛客也看到许多小伙伴碰到这种情况,没想到自己也碰上了,没办法,毕竟今年经济大环境不行,许多创业公司寸步难行,想到还有很多小伙伴被毁意向书的,相比之下自己这也没什么了。。。
2.数字政通-图像算法(offer)
地点:武汉
薪资:17*15
据说不加班
数字政通是在校园专场招聘投的简历,主要是做智慧城市和安防的,公司在武汉光谷金融港,图像算法在全国只招5个人。但是技术面试只有一面,比较水,全程相当于自己在讲项目。面试体验不是特别好,等了足足一个半小时。
1.简单介绍下自己
2.介绍下自己这个车道线自动提取的项目,亮点是什么?
3.介绍下unet,Unet为什么在你的这个任务上表现地好?
4.介绍下yolov3,yolov3 anchor是怎么得到的?
5.介绍下focal loss,有哪些方法解决样本分布不均衡?
6.介绍下你知道的激活函数,BN有啥作用?
7.有哪些解决过拟合的方法,你平时哪个用的最多。
8.手撕选择排序,快速排序
数字政通国庆节前一天发了直接带薪正式offer。讲实话,数字政通在武汉给这个价实属良心,据说不怎么加班,哎,如果自己一个人的话,可能就接了这个offer,在武汉过得贼滋润哈哈哈哈。
3.中海庭-深度学习算法工程师(offer)
地点:武汉
薪资:15*14-16
据说不加班
公司具有上汽背景,具有国企性质,和我实习的公司在武汉是竞争关系,也是20家具有导航电子地图甲级资质的公司之一。这是我秋招面试拿offer最快最简单的一次,从面试到发offer就10分钟。
一面是公司负责深度学习这一块的博士面得我,就问了我两个问题....一个是想做什么方向,二是想要什么工作模式?
我内心os:wt?????从没见过面试这样面的。。。。
接着人力大boss出来了(还不是一般的hr),直言不讳的说:“你们XXXX(我实习的公司)的情况我们都知道,你也知道,一时半会好不到哪儿去,我们有上汽背景(意思就是有钱),你直接过来吧,不用走校招流程,你们XX毕业生一般来我们这起薪12k,你在XXXX(我实习的公司)干过一年,15k起,之后还会涨薪的,而且我们也不加班,国庆之前给你邮箱发正式offer。”
走出公司门口我才明白,这不是面试我啊,是直接挖我啊,卧槽第一次竟然有这样的待遇哈哈哈哈哈哈哈贼特么爽哈哈哈哈哈哈哈。
4.四维图新-图像算法工程师(offer)
地点:北京
薪资:16*14
hr说不加班
四维图新是中国第一家有导航电子地图甲级资质的公司,目前在中国高精度地图技术和市场上走在前列,和宝马签了商业订单,在高精度地图市场和高德并驾齐驱。
四维图新一共一轮技术面一轮hr面,技术面也是以简历项目为主,问的问题和之前面试的问题都差不多,这里就不贴了。手撕了两道代码,比较简单:
1.非递归实现二叉树中序遍历
2.合并两个单链表
hr面:
hr问了期望工作地点,职业规划,为什么想去北京?期望薪资多少?然后说国庆节之后会联系我,最后发了offer,但是价格实在是,,,,这个价格还是我argue之后的价格
吐槽一下,实在无法理解,四维图新也算是业内的老大哥了,工资实在开的太低,在武汉这个价我还能接受,为什么在北京算法也才这个价...那我图啥???我也最烦工资开的那么低,hr还一直画饼,我也不傻。。。
第二次转变思路
在第一次转变思路之后,自己主要目的还是希望能够去大厂,为什么自己一定要去大厂工作?我自己主要是以下几个方面原因:
1.大厂平台好,起点高。毕业后第一份工作是自己职业生涯的起点,一定程度上第一份工作的决定了你职业生涯的高度,好比当年高考,一个普通一本,一个北***华,那大概率还是北***华会比普通一本的混得好。
2.自己之前在小厂实习一年多,深切感受到小厂的技术水平和团队氛围肯定比不上大厂,而且大部分小厂基本上没有技术积累,销售为本,就是跑跑demo,骗投资,中标之后做不了的给外包就完事,不利于自己的职业发展。
3.在小厂实习的过程中,身边的同事换了一拨又一拨,发现大厂出来的同事综合素质普遍较高,而且容易跳槽,涨薪也比较快。自己想着去北上广深大厂好好锻炼几年,即使呆不下去去二线也好容易跳槽。
因此在面试完宽凳之后,就投了百度和滴滴,但等了好久笔试都没消息,最后发现简历就挂了,自己一下子就又难受起来了,也不敢投高德,腾讯相关的技术岗位了,觉得自己这一辈子都与大厂技术无缘了,自己又开始丧起来了。几个要好的同学找工作都不是很顺利,就约着一块吃饭吐槽吐槽,饭席间,酒过三巡,一个哥们拿着酒杯开玩笑对着我说:“写代码有啥好的(朋友的原话,无意冒犯),你这么会扯犊子,做过销售,还懂技术,你要不去试试非技术岗去,别把自己限制的太死了。”虽然我感觉这是朋友无意说的话,但是说者无意听者有心。晚上躺在床上,久久不能入睡,我开始思考一个问题:我真的不适合做算法吗?”我开始重新地审视自己。
自己本科没好好学习,搞了一些乱七八糟的,做兼职,当销售,做学生工作,尝试自己创业,导致自己成绩烂得不能再烂。后来迷途知返准备考研,研究生零基础学了C++,Python,去了公司之后做了每天练习时长两小时半调参boy,魔改模型,改开源代码,投了篇水会,做几个小项目。和科班的大佬相比,自己没有成熟的计算机体系,编译原理,操作系统啊,计算机网络这些都没学过,项目给到自己手里自己第一时间就是找开源代码参考。和那些拿了大厂offer的大佬相比,没质量高的论文,无比赛,无大厂实习,我什么都没占,我这种菜狗还有脸舔着去大厂?灵魂拷问自己,我觉得我做技术并不是因为我对它感兴趣,更多的是羡慕它的工资高,自己在实习的公司里感觉都不怎么受leader重视,即使去了大厂也是底层中的底层,虽然我有几个小厂算法的offer,但是我毫无竞争力,上升比较难,感觉会永无出头之日。
那,我自己的优势是什么?
自己本科做过学生干部,也做过销售,创过业,具有比较强的沟通能力,解决问题的能力,与人交际能力,经历也算比较丰富,相比较于纯非技术岗,自己做过一年多的研发,也算是懂点技术。
我仿佛找到了新的奋斗方向,我觉得我找到了最适合我自己的路,我整个人重新兴奋了起来,我决定放弃找算法,开始找和专业相关的非技术岗位。
1.阿里高德(地图数据产品-offer)
在我重新确认了方向的第二天,重修修改了简历,网申投了阿里高德的地图数据产品岗。因为我自己是测绘地信专业的,今年互联网产品经理岗位竞争非常大,自己也没有实习经历,相比较起来,具有专业特色的地图数据产品岗更适合自己。整个面试流程持续三周左右。
一面:
一面后来才知道,面试官就是自己未来的leader。第一面围绕简历为主,主要考察专业素养和业务。有一些问题时间比较远,记得不太清楚了
1.自我介绍
2.一分钟简单介绍下自己车道线自动提取的项目。自己在项目里扮演了什么角色?
3.你这个项目有什么亮点没有?做了哪些改进?
4.在这个项目里遇到了什么困难?怎么解决的?
5.说说自己对高精度地图产品的理解
6.你认为高精度地图目前来讲是技术先行还是工艺产品先行?
7.了解高德地图吗?和百度地图比有哪些优势和劣势?
8.你之前实习是做算法研发的,为什么现在想要做地图产品?
9.有什么问我的
二面:
二面应该是其他的部门的leader面的,交叉面。
1.自我介绍
2.选一个你自认为做的不错的项目介绍下?
3.你这个项目最后达到的精度是多少?怎么测试的?
4.自己在之前实习收获最大的什么?
5.竞品分析:百度地图和腾讯地图
6.谈谈自己对目前国内高精度地图市场的了解
7.了解高德地图最新app版本吗?和之前相比做了哪些改进?简单分析一下。
8.你之前实习是做算法研发的,为什么现在想要做地图产品?
9.有什么问我的
三面:
三面是高德数据中心的总监面的,有幸去年在我们学校讲座的时候向总监问了问题,成功地和总监攀上了关系。
1.自我介绍
2.重点问了实习的时候高精度地图的两个项目,不愧是总监,问的非常非常深,项目问了四十分钟,总监也非常满意。
3.为什么不呆在原来的单位,想要来高德?
4.你之前实习是做算法研发的,为什么现在想要做地图产品?
5.你认为之前的经历对你以后有什么帮助?
后面就和总监关于算法,产品,工艺,高精度地图市场以及自动驾驶的发展深入进行了探讨。总监也给了我高度的评价,说一个应届生对算法技术,产品,市场发展,整个行业都有较深地见解实属不易,这样的学生不多。被总监这么高度评价实在受宠若惊,我也真正发现自己的优势所在,证明我选择的这条路是正确的。
四面:
四面就是hr面,阿里的hr面果然名不虚传,问的问题直击灵魂,处处挖坑,问题比较多,就拿几个印象深刻的问题举例
1.相比于A公司和B公司,你更想去哪个?(阿里都没有选项里,我啥都不选只选阿里)
2.5秒说出更能反映自己的三个词
3.为什么要来北京?如果你周末加班女朋友不高兴怎么办?
4.说出你本科和研究生阶段最骄傲的一件事。
5.你之前做过销售,你觉得带团队的经验有哪些?
其实hr面套路很简单,就是看你符不符合阿里的价值观和企业文化,让hr看到你靠谱,愿意加班,除了阿里哪儿都不去的决心就行。
2.腾讯地图(产品经理-offer)
腾讯地图是通过在腾讯地图的师姐内推的,包括hr面的话总共三面。面试的难度没有高德那么高,主要也是以简历为主,一面和二面大部分问题重叠,感觉主要是考察解决问题的能力。hr面主要考察了个人的性格,兴趣,稳不稳定,职业规划等。下面是一面和二面的一些问题:
1.自我介绍
2.高精度地图项目负责了哪些部分?主要是为了解决什么问题?为什么这样做?达到了什么效果?
3.扣项目里面的需求分析
3.POI场景化举例
4.竞品分析:高德地图,百度地图,腾讯地图
5.你觉得腾讯地图有哪些需要改进的地方?
6.如何判断产品的优先级
7.你认为自己在做产品这块还有什么不足?
3.腾讯大地通途(数据产品经理-offer)
腾讯大地通途一些同学们可能没听过,是腾讯的子公司,主要是负责给腾讯地图数据生产,具有甲级资质。面试难度不高,面试主要和面试官聊天为主,前两面主要还是以简历的项目为主,考察解决问题能力,逻辑思维能力,问题重复度较高就不赘述了。不过缘分的是,一面的面试官是我一个在百度地图工作师兄的前同事,于是就轻松聊了半个小时。二面感觉像是一个部门leader,表情比较严肃,一块探讨了高精度地图市场发展和未来趋势的问题。
第三面是大地通途的大boss和人力总监一块面试,从自动驾驶聊到了高精度地图,聊起了整个地图行业未来的发展趋势,问了对高德、百度、腾讯、四维图新,宽凳,momenta传统图商和创业公司发展的看法。大boss和人力总监最后也给了和高德总监面试时一样高的评价,并承诺如果去了大地通途,会给我最大的自由和发展空间😂。后来考虑到个人发展平台的问题,就拒掉了offer。虽然薪资也不是很高,但是通途的师兄跟我说是今年校招最高的工资,就我一个人,还劝了我两次让我再好好考虑下。我也感受到了这个公司对我的诚意,也感谢通途对我的高度认可。
总结
最后也收到了百度地图和滴滴的面试邀约,但是自己面了这么多也拿了几个满意的offer,就拒绝了面试机会。自己的offer主要就是在北京和武汉,因为女朋友要去北京,最后拒绝了武汉几个小厂的offer,阿里高德国庆前就收到了意向书,所以一开始就倾向于去高德了。今天leader还跟我打电话问我能不能去实习,说部门就缺一个像我这样既懂算法又懂产品的人,我过去了一定当重点培养。这也让我对未来充满信心!
秋招历时三个多月,期间自己走了不少的弯路,酸甜苦辣只有自己知道,在最后我从我自身的角度总结几点经验,希望对后来人有所帮助;