实验室唯一一个没有offer的准毕业生心得
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
上个月,我还是实验室里入职方向唯一一个没有offer的准毕业生(之前拒绝了一个不太满意的offer,后来觉得超级后悔),极度焦虑的我在求职网站绝望的发帖,甚至想到了寻短见(后来想到这里真的傻得哭笑不得)。从研二下班学期开始,无数个日日夜夜的准备、练习、笔试、面试,经历了无数个失败、淘汰、被拒绝,经历了跌倒了再爬起来,从认识到自己的不足到重新准备校招材料,再到后来收获第一个offer,再到后来的比较,最后终于上岸,让自己几个月的跌跌撞撞有了好结局。
如今经济下行,行业饱和,尤其是2022年全国高校毕业生规模首次突破千万,年初又加上互联网企业裁员潮,让本来就内卷的算法方向求职变得越来越艰难。自己前期的准备不足,加上笔试面试的马马虎虎,让本来对硕士以上文凭的毕业生更有优势的校招,折戟得一塌糊涂。
既然校招开头输在了起跑线上,加上春招hc严重缩水,2022年即将毕业的我,还有机会拿到大厂的offer吗?
在此分享一下我的校招及实习经历,更多的是教训,希望能对大家有些帮助。
教育背景
西电本硕,本科智能科学与技术专业,本科曾任校艺术团合唱团团长,校团委融媒体中心副主席。毕业后在多家创业公司从事UI设计师和产品经理方向的实习,两年后三战上岸,研究生继续在西电人工智能学院深造,实验室方向是基于深度学习和自然计算的遥感影像类脑解译。参与过实验室的一个遥感图像解译平台项目,参与过多个定会workshop下的挑战赛,但战绩平平。大学期间获得过一次优秀研究生,一次校二等奖学金,可以说是相当普通。
实习经历
2021.12~2022.03 商汤科技:算法开发实习生,热成像视频理解方向,不可转正。
offer情况
2022年5月收到算能科技的深度学习工程师、美图之家的CV工程师、高通中国的ML算法工程师意向,截至目前还有若干春招流程在面试通过和意向review阶段。
研究生期间如何准备简历背书
公司一般流程都遵从简历初筛-(笔试)-面试的流程,对于简历初筛环节,公司通常更加注意教育经历、项目和实习、竞赛论文专利这三个重点。就要求我们在研究生期间要提早做好准备,如果在该努力的日子里选择了平庸,那冲刺的时候你会非常没有竞争力。如果在实验室有论文专利或者竞赛的产出,要好好努力认真对待,一个国家奖学金称号就可以让多家公司中意你,一篇论文就可以让几个大厂提前锁定你,一个算法挑战赛的前三名就可以让你最后的offer薪资提高几个档次。
但是如果你向我一样没有发表论文的idea和机会,你仍旧可以参与很多类似于CVPR/ICCV/ECCV workshop challenge甚至阿里天池的算法挑战赛。参加比赛会让你亲身体会算法的模型策略或者训练策略对得分排名的影响,最后你也可以慢慢学会将自己对模型改进的思考用算法实现并看到进步,即使没有拿到很高的名次,你也会学到很多东西,这在面试阶段与面试官讨论的时候,会很让面试官对你刮目相看。
我的同门师兄经常会提醒我们:科研绝对不是你去找一个code,跑通了就算完美了。一个完整的模型包括数据载入部分、训练策略部分、模型部分,这里每一个部门都有非常多的细节,即使你跑通了,也要在运行程序的同时观察每一个模块的作用,渐渐地,你从「拿来的」code变为对已有code加入自己的想法修改,再渐渐地变为你有能力从头到尾构建一个项目,并在此期间掌握了模型框架的所有细节。这可比仅仅跑通一个模型收获更多东西。
一定要早点做准备,从研一甚至本科开始就要为积累能力而努力。我研一的时候还只会用现成的模型进行参数修改参加比赛,研二以后进步也非常低,直到今年年初在公司实习的时候才掌握了基本的深度学习项目构建的能力。如果我能提前一年学会这些的话,我的校招收获也会比现在更出色。
如何刷题
很多大厂都加有笔试环节,用于考察coding能力。甚至很多算法大厂也会在面试中现场考察你的coding能力。我也是在去年4月开始的力扣/牛客刷题。刷题可以先从力扣Top100或者力扣版《剑指offer》开始,从难到易,并对相同的题型(二叉树,栈,DP,递归,DFS等)进行归纳学习。如果超过一定时间没有想出来,可以看看题解,如果刷完一遍没有记住可以再刷一遍,如果刷腻了,可以直接在力扣所有题库中随机出题。如果行有余力,可以做做笔记回头多多复习(重点在复习,否则做笔记就没有意义了)。我也记了一部分笔记:JoanYu/LeetCodeNotes (github.com) 除此之外,很多刷题笔记都很不错,例如博哥的微信公众号「数据结构和算法」,或者zlibrary可下载的LeetCode CookBook等等。
如何准备面试
面试有三个重点:对你的简历项目进行描述,面试官会在你的简历中找到相关知识点进行考察;直接考察算法经典知识点;撕题。
对于简历内容描述,这使得你需要准备你在简历中提到的内容涉及到的所有知识点,如果自己做的项目,面试官问到时都支支吾吾,可能让面试官觉得是在水项目,是非常减分的。例如我参加GigaVision的时候,最早我直接说我用了mmdet,然后自以为面试官再没有什么问的;结果再后来的多次面试中面试官问到了mmdet的注册机制、cascade-rcnn的head的结构、fpn的模型、nms的原理……我一下子就懵逼了,在挂掉了无数次面试以后,我才渐渐长了记性,对涉及的所有知识点进行了深入的理解。所以你要列出一个清单,上面记录了你简历里介绍的方法里涉及的任何一个可能会被面试官考到的细节。
对于直接考察知识点,这需要你在做项目或者比赛中有长期的积累,或者,《百面机器学习》就是一个很好的查漏补缺工具书。一般来说,面试官非常喜欢考你不同的norm的区别、不同激活函数的区别、欠拟合和过拟合的原因和解决方法、甚至deeplab的几个版本的新特性等等。
对于撕题,面试官也会根据了解到的你的擅长点考你相关代码,例如你做检测,那很可能考NMS或者FPN,如果你做分割,那很可能让你考你UNet复现,如果你偏机器学习,那很可能考你LR复现之类的(没错,我就被撕过LR发现最基础的我都不会),这也是一个积累和不断练习记忆的过程。当然面试官也会直接出题(多见于没有笔试环节的大厂),会考你栈或递归解决的二叉树也会考你DFS或者BFS解决的岛屿问题(不知道为啥,岛屿问题考的特别多,重点关注)
如何选择offer
除了从公司的行业地位、部门发展前景、工作岗位、工作地点、工作时长等等考虑外,我面过的一个公司的对我特别好的主管对我说:目前CV领域逐渐倾向于生成和创造,而不只停留于理解和感知,所以在公司研究侧重点上,可以有一些对公司前景和自己的技术栈学习的自己的见解。当然,自己的个人原因也是很重要的:我因为身体原因和考虑可以多抽时间飞回家陪陪老人,所以选择了工作时间灵活的公司。此外,脉脉、牛客、同校校友都是很好的了解即将进入的公司的情况,切记:一定要确定是做自己喜欢的!
其他注意事项
这里说一下我栽的最大的一个坑,就是在事先没准备好的情况下进入流程,现在很多大厂是有候选人面试评价系统的,在一次面试失利以后,你的表现会计入数据库,如果你下一次又投了相同公司,HR可能会在筛简历阶段挂掉你,这个我吃的亏太大了!入了无数大厂的「黑名单」,翻身太难了。
下载1:OpenCV-Contrib扩展模块中文版教程 在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。 下载2:Python视觉实战项目52讲 在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。 下载3:OpenCV实战项目20讲 在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。 交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~