2019秋招总结-cv算法

本菜鸟的秋招结束,这里做一个简单的小结,希望能对师弟师妹们有所帮助。

个人情况,女生,本硕西电,非科班(本科通信+研究生转cv),简历里面没啥亮眼的地方,无论文,有几个项目+比赛。各种条件都一般,秋招投递的基本都是cv算法,被虐了三个月…(没错,就是今年最爆炸的cv算法…)好在运气凑合,至少找到工作了,暂时还没签约,趁着周末比较闲先把贴子发出来,愿大家都有好结果,感恩~

由于自己准备的比较晚,大概六月底才开始准备,七月初海投了一波提前批,提前批很多都是免笔试的,只要简历过了直接面试,但是因为前期准备不够充分,给了面试机会的 百度凤巢/头条抖音/依图/作业帮,无一例外全都一面挂,心态一度很崩溃,然后开始给自己制定复习计划,七月和八月份在做笔试之余,一直在刷题,复习数据结构和算法,以及机器学习/深度学习基础。自八月底开始,陆续收到意向书和offer。

一、秋招准备

剑指offer(两到三遍) + 大话数据结构 + 统计学习方法 + 西瓜书(看了一半)+ 百面机器学习(惭愧,只看了几十页…) + leetcode200题左右 + 在笔试面试中总结的笔记(反复看)+ 算法岗还需要follow该领域前沿的paper

二、笔试面试经验

2.1 笔试常见问题

互联网大厂的笔试一般要比面试难度高一些,一般都会有2-5道编程题,语言一般不限制,出题范围有:数组,树,图,动态规划,并查集,线段树等等,可能集中在leetcode medium或hard的水平。有的公司会有选择题或问答题,这些范围更广,不多赘述了。我太菜了,笔试通过率不到1/3,所以还是建议找内推,尽量免笔试吧…

2.2 面试常见问题

  1. 数据结构和算法,这部分基本都是手撕代码题,leetcode刷高频题和面经里提到的题目;数组,链表,二叉树,栈和队列考的最多,各种排序算法要会,快排/归并排序/堆排序考的尤其多,AVL和红黑树要能知道原理和区别,代码不要求手写,各类图算法笔试经常会考,面试一般不会让手写。
  2. 数学/概率与脑筋急转弯,比如抛硬币,等车时间,随机游走,排列组合数的计算等等问题。这些问题在面经里面经常见到。
  3. 机器学习/深度学习算法,BN是最常问的没有之一(举个栗子,BN的基本原理,手写BN的公式,BN放在什么位置,BN在训练和测试阶段有什么不同,BN为什么可以防止过拟合,BN与IN\GN的异同等等,这些问题要全部搞懂),卷积参数量的计算,dropout,SGD/Adam优化器,softamx与sigmoid,各类损失函数,各类激活函数;LR,SVM,ROC/AUC,过拟合/欠拟合,梯度消失/梯度爆炸,kmeans,bagging/boosting,PCA/LDA…
  4. 编程语言以及深度学习框架,c++和python都会问,tensorflow和pytorch也会偶尔问到。c++常见问题有:指针和引用的区别,static,const,STL库,虚函数,多态,智能指针,c++11新特性,函数重载,浅拷贝深拷贝,构造/析构函数,内存分配;python常见问题有:可迭代对象/迭代器/生成器,闭包/装饰器,切片等;tensorflow和pytorch有时候也会问,一时半会有点想不起来问题了,想到了再来补充。
  5. 操作系统/数据库/网络/linux,这块偶尔也会问,但问的不深,常见问题有,进程和线程,死锁,网络七层模型,linux的常用命令(grep,find这些要大致会用)等等。
  6. 场景题/开放问题,场景题一般都是面试官结合我们的研究方向,或者结合公司的业务场景,提出的一类开放性问题,这类问题往往没有唯一的答案,主要考察思维和逻辑,答好了会给面试官留下很深刻的印象,加分很多,如果答不上来,面试说不定也能侥幸通过,但是肯定拿不到好的评级。这类问题没法列举,但是需要平时做项目的时候多思考,学会举一反三,最好在面试前了解一下公司的业务场景,假想一些场景问题,尝试给出解决方案。
  7. 最最最重要的部分,自己的项目/论文/实习/比赛,一定要彻底搞懂,面试官问里面的任何一个细节都要能做到自圆其说。

三、秋招建议

  1. 尽可能丰富自己的简历,丰富的方式有:论文/项目/实习/竞赛。这四个情况分别说:(1)实验室有导师或者师兄带着发论文,那这是最方便最快捷的方式了,踏踏实实跟着干就可以了;(2)实验室没有论文积淀,但是导师手里有项目的时候,需要项目分清主次,有含金量的项目好好深挖,杂活可以干的水一点(但别太水…),不要本末倒置;(3)如果实验室论文和项目都没有(或者项目都是杂活的时候),尽可能出去找实习,越早越好,实习时间越长越好,实习是进大厂的一条捷径,很多大厂的实习生转正名额就占了一大半,留给秋招的hc本来就很少,而且实习的竞争压力要比秋招小很多,一份好的实习经历在简历里还是很亮眼的;(4)实验室啥项目都没有,还不让学生出去实习(我们学院就是这样)的时候,也不要自暴自弃,可以多打几个比赛(阿里天池,kaggle上面有很多),争取拿到比较好的名次(Top5%,前十名等等这种),简历一样很好看。此外,也可以去github上找开源项目做做,好好利用在学校里的时间,把基础打好。
  2. 简历一定要多投,不要只投自己想去的那几家,很有可能简历或者一面就翻车了,所以要给自己留好后路,多投简历多面试,积累面试经验和面试套路,当你面过足够多家的时候,再去面你想进的公司,就会得心应手了。这里一定要强调,有的同学总是觉得自己没有准备好,惧怕面试,所以迟迟不敢投递,结果错过提前批,错过正式批,这里我想说,你是永远无法准备好的,在面试中积累和总结经验比自己没方向的瞎准备快多了!而且,退一万步讲,即使你投了,也有可能在简历和笔试关被刷,可能连面试通知都收不到,有啥可惧怕的?投就完事了。
  3. 面试的时候一定要自信,想清楚再说,遇到不会的问题,不要直接说不会,尽量多思考,往你会的东西上面引,知道多少说多少;此外,面试官可能和我们不是一个方向的,尽可能的把面试官往自己擅长的领域去引导,体现自己的优势。我面试这几个月最大的感受就是,在七月份刚开始面试的时候,只要是遇到没见过的问题,马上就开始紧张,直接说自己不会,但是到了九月份之后,基本上就可以做到满嘴跑火车了,无论之前是否见过的问题,都可以通过思考和分析给出自己的答案。
  4. 认真做好笔试和面试复盘,其实很多面试题都是大同小异的,就拿算法岗来说,BN,LR,SVM,正则化等等这些,十有八九都会考到,一定要烂熟于心,彻底搞清楚。
  5. 调整好自己的心态,这里要说两点,第一,不要因为一家面的不好,而把消极的情绪带到下一家的面试。我提前批有一家面试,全程1h没有一个会的题,面到心态崩了,虽然这家面挂了,但是我把当时不会的面试题目全都总结了一遍,后面科大讯飞/阿里/旷视等等好多家再次问到这些问题,就全都答上来了。所以遇到不会答的问题一定不要怕,这正是总结教训的好机会。第二,如果身边人都已经收到大大小小的offer,而自己却依然一无所获的时候,一定不要慌,根据我的经验,大多数互联网都是十月份才开始发offer谈薪资,我九月底的时候只有两家小公司的offer,国庆之后,大厂的意向书才陆陆续续下发,相信好的offer只会迟到不会缺席。
  6. 组队备战秋招。秋招信息太繁杂,只靠自己一个人很容易错过很多招聘信息,建议可以跟实验室小伙伴,或者是同学朋友,大家分工去搜集信息,共享资源,这样大家会轻松很多;此外,也可以多跟小伙伴们讨论笔试面试中遇到的题目,大家分工做笔试和复盘,比一个人单打独斗效率高了太多!这里再次感谢我的两位队友~~

最后再多说两句~

  • 越来越发现,很多时候,选择比努力更重要,所以一定要尽早想清楚自己想要什么,在关键时刻做出自己认为最正确的选择;
  • 刚毕业的第一份工作很重要,要在 平台/薪资/未来的发展规划/工作强度/地域/家庭and男女朋友 等方面做一个综合的考量,要慎重考虑。
  • 从今年算法岗的形势来看,互联网的算法岗位已经有点趋于饱和了,所以企业只能提升算法岗的门槛,今年的算法岗offer已经不是手推一下BP算法这么容易了,面试的范围越来越广,问的底层越来越深,往年的招聘加分项,今年已经成为了招聘必须项了,因为应聘者太多,岗位太少,所以不会给你犯错的机会,只要有任何一个点没答上来,都有可能被挂掉(当然,即使你全答上来,也有被挂掉的可能…)所以一定要提前做好充(万)分(全)的准备。(举个栗子,只要有任何一道代码题撕不出来,必挂;项目细节说不清楚,被面试官问崩,必挂;数学题/概率题没答上来,大概率挂;算法基础好几道没答上来,大概率挂…)
  • 该吃吃该喝喝,不要给自己太大压力,提前批没有收到offer还有正式批,秋招找不到工作还有春招,校招没能拿到dream offer的还有社招,人生的路还长着呢,生命不息,奋斗不止,加油鸭!

你可能感兴趣的:(笔试面试)