秋招总结

从3月春找找实习到9月底最后面完百度,总共历时半年,期间经历了无数次想放弃好在最后自己和身边同学都拿到了不错的offer。
背景介绍:985硕非科班、cv算法、无论文、无实习、无竞赛、只有自己折腾的项目

太长不看版

投递岗位:cv、后台开发
offer情况

  1. 投递完或笔试完没消息(19家):阿里、腾讯、爱奇艺、搜狗、aibee、微软、京东(实习、提前批、正式批)、网易(提前批)、招银(心态不好没认真做笔试)、微众、thoughtwork、联想、大疆、ov、商汤、ibm、小米、zoom、英伟达
  2. 一面挂(10家):头条(提前批 后端)、大华(提前批、cv)、微博(后端)、美团(后端)、猿辅导(cv)、阿里(实习)、滴滴(实习)、招行(fintech)、bigo(ai平台开发)、讯飞(ai平台开发)
  3. 放弃面试(3家):平安(时间冲突)、快手(时间冲突)、亚马逊(11月19联系面试时间太晚三方已签)
  4. 终面挂(2家):招行卡中心(提前批)、虹软(提前批)、
  5. offer(5家):百度(php后端 白菜)、pdd(cv 白菜)、华为(车联网 白菜)、浦发(系统开发 体检来不及拒了)、tp(cv sp)
    总结:
  6. 明确方向多准备、算法基础要扎实。一面挂的大部分都是后端开发岗位,但我只是稍微看了下tcp的原理,对操作系统网络编程都不了解,而拿到百度后端offer的关键原因就是我看了1/3本算法导论,所有面试题都手撕出来了。
  7. 路漫漫其修远兮、吾将上下而求索。笔试挂面试挂都是很常见的情况,即使是大佬也会莫名其妙被挂,所以面试或者笔试挂了不要对自己进行任何评价,反思不足继续努力,秋招最困难的时刻是产生自我怀疑想要放弃时,从6月开始我一直有自己好菜拿不到offer了的念头,每天无所事事也不准备整个人处于焦躁的状态,从而错过了很多机会,包括海康笔试做完一直拖着不做测评结果没面试,看到intel招聘信息却不投递想要投时却早已错过,提前批不敢投阿里腾讯结果正式批投了也毫无消息,正式批不敢投头条,不敢去投算法岗,结果浪费很多时间去面后台开发但还是全挂了。这些我不敢投的岗位身边有同学投了而且最后拿到了offer,希望大家在秋招的过程中不要轻易放弃,把握每一次机会。
  8. offer选择优先级:大厂、个人爱好、加班、工资。太小的公司以及名声太差的公司不建议即使是喜欢的方向或者工资很高(除非没得选);在工资和大厂中间建议差距在10w以上选择工资、除非是大厂核心部门或者更喜欢大厂的工作;从事互联网就做好加班的准备,只是995、大小周、996的差异而已,不能接受加班建议外企或者995的公司。

————————————————分割线————————————————

啰里啰嗦叽叽歪歪版

写完总结好像没什么可写了,再加一点

前期准备

1.机器学习相关知识,春节前完成。18年11月左右开始看吴恩达机器学习课程,深度学习课程。那时候白天在实验室干活晚上回来自己看,花了差不多两三个月才看完,这里面机器学习课程用的是matlab,我在实验室也用的比较多上手很快,深度学习课程用的是tensorflow,怎么学也学不会,课后习题一度是噩梦,后来就直接投奔pytorch了[/捂脸]。后面零零散散看完了李航的统计机器学习,学得不深,也看了写经典论文,VGG、NIN、Inception、ResNet、YOLO、SSD、faster-RCNN之类的,然后就是看了一些关于深度可分离卷积,focal-loss,shuffle-net相关的博客。
2.项目相关。看完吴恩达的课后发现自己的动手能力很弱,吴恩达给的课后习题能做是因为他把数据处理,模型结构相关的东西都准备好了,我们只需要往里面填空就行,但是到了自己上手就是完全不一样,数据怎么导入,用什么算法,算法里面的检测部分怎么写,怎么评价算法效果。往往从github上找的代码要么是不支持断电保存,恢复训练,要么是没有指标评价的代码,运气好碰上都有的不一定是pytorch的,以及更关键的是不支持自己的数据格式,可能你用的是yolo格式的标注,人家用的是coco格式或者voc格式的,这种时候就得研究一下各种格式的数据特点,不同类型间的转换,这些工作都很基础,但是面试的时候也不会有人问,我也自己写过nms和k-means就从来没人问我这些[/摔]。
另外就是项目从哪找的,我是找的遥感图像目标检测公开数据集dota去做的,但是做的效果很不好,只能说通过这个项目知道一个算法从理论到实践需要做哪些工作。另一个项目也是找的遥感图像公开数据集,是一个图像分割的任务,用的是别人改进过的u-net网络,我主要就是从图像预处理和损失函数这些地方花了点功夫,网络方面改动不大。
这些项目做的时间都不多,主要是刚入门时折腾代码上github找代码,改代码,熟悉不同数据格式这些地方花功夫,真正花在改模型调整算法上几乎没法什么时间(主要是我菜,也不知道怎么改,到处瞎试,哭泣)。
3.C++。大一时学过C++有一点基础,因此没有特别去学习,平时刷算法题的时候会查一查vector,string相关的用法。只是在19年8月花过几天时间把C++ Primer过了一遍,另外就是每回面试前查查C++相关面试题,把相关内容过一过。
4.算法题。春节之后每天中午休息时我都会看半个小时到1个小时的算法导论,晚上吃完饭也会看上一会,算法导论看得仔细的话会发现很多笔试题或者算法题的原型都是出自算法导论的例题与习题。我差不多看到红黑树这一块就没往后看了,总共花了3-4个月。
刷题上花的时间不多,身边有同学直接看视频学习的效果也挺不错,但是剑指offer和leetcode hot100建议都看一看,面试真的有特别多原题。

中期面试

不想回忆自己无尽的一面就跪,简单总计下就是一般开始自我介绍,我介绍的很简单就说自己本科硕士在什么学校读的,是什么专业,实验室的研究方向是什么,接着是自己有做过什么项目,有时也会提一下项目的思路和技术,后面还有的话就是提一下自己参加过什么比赛(我就只参加过数学建模,菜鸡的救赎)
我的简历很一般几乎就没什么亮点,所以总是简历挂,一面也挂的很多是因为那是后台开发,我没认真去学网络编程相关的,愿意给我算法岗面试机会的公司挺少,也很感激这些公司,大华一面挂是因为当时还在准备项目,基础不扎实,猿辅导当时刚好出了一个我盲区内的算法题没写出来就挂了,建议大家面试的时候有什么题不会写回去一定要好好查一查,因为猿辅导这个题我在面百度的时候也出了。

后期等offer

面试完成了等offer也是很糟心的,你永远不知道那些大厂的备胎池有多深,以及你会不会是那个白菜,建议面试通过拿到口头offer了也不要松懈,某些公司的口头offer就不等于正式offer,以及给你offer也可能是个劝退价,像我就拿了一大堆白菜价,但是开奖之前因为有几个offer而拒掉了一些面试感觉很后悔,offer还是拿多了更好,拿得多也能跟自己想去的公司argue薪资,后续选择更多,风险也更小,比如今年某团的一系列操作,以及某易爆出来一系列事情,建议多拿offer,不要松懈,适当的也要放松一下。