- 从4月1日开始找实习,到5月13日收到南京地平线机器人口头offer和北京小鹏汽车技术面通过通知,这40来天的时间真的过的不容易,每天早上醒来都被“找实习”这三个字压得沉甸甸的,一有空闲时间就看牛客网面经和投简历,前前后后差不多有
60
家公司,大公司、小公司、独角兽公司,只要招深度学习/计算机视觉/图像算法相关岗位,我都投,投递的渠道最开始是官网投递,后来发现太慢了,招银、平安科技这两家公司填写的简历信息太多太耗时了,后来就转boss
直聘、拉勾网、牛客网和内推邮箱渠道,这样就省事很多,一个平台填好简历,可以投递不同公司。 - 这段时间自己也学到了很多东西,弥补了些自身技术盲点和加深了对一些基本原理和理论的理解,更重要的是认识到了与大佬之间的差距,对于搞技术的人来说,一定要保持终身学习的态度和激情,也要保持心态良好和身体健康。
- 找算法实习岗对大多数人来说是心智和体力的持久战,据我所知,大多数人都花了
1
个月以上的时间,所以要做好长期的打算,如果一时失利也别灰心,出去放松一天,放松下自己的心情,保持良好的精神和身体状况很重要。 - 实习平台很重要,一定要尽量投大公司、知名企业或者行业独角兽,不仅是面试正规和面试官温和亲切的态度,更重要的是自己本身面试之后经过反省总结,也能学到很多东西,小公司的面试大多都不是很正规。好的面试官,不管你技术实力是否满足他们要求,面试官一般都会很温和,让你放轻松,给你足够的尊重,有些面试官甚至会给你提些很有帮助和恳切的建议。这里,给我留下良好印象的是阿里和地平线机器人的面试官,面试官人真的超级友好和亲切。
- 心态第一,坚持为胜,找实习是一个持久战。对于技术实力一般的人来说,真的要保持良好的心态,不抛弃、不放弃,这中间也许你会经历很多失败,但是真的只要坚持下来,我不保证你能拿到很好公司的offer,但是你自己本省一定能从面试中学到很多东西,尤其是很多大公司的面试官会给你一些很恳切的建议,可以让你受益匪浅。
- 实习要趁早。建议有条件的
研一
或者大三
就去实习,对于暑期实习来说,简历投递一定要趁早,最好2
月份就开始,我很晚才投简历,很可能就会错过内推时间和岗位hc
没有的情况,我4
月份开始投简历已经算是很晚了,所以也直接导致我投了海康威视之后,一直是简历复选中,很有可能就是hc
已经没了。 - 数据结构与算法题必须刷。虽然这是老生常谈的建议,但是我们必须记住很多大公司一定会有笔试题,就算是内推免笔试的,面试过程中也很有可能会出数据结构与算法题。这里我建议去 leetcode 或者牛客网上刷剑指offer,一般把简单和中等难度题刷会就可以,笔试题一般都不会很难,除非是谷歌、
MSRA
那种公司可能会对笔试题有更高的要求。刷题的话,第一次刷不会可以去看参考解题思路和答案,看完后要自己写出代码。 - 常见面试题要掌握。其实关于计算机基础和计算机视觉算法原理的面试题,可以提前准备下,有些题频繁的问到,可以提前准备下,比如:
1*1
卷积作用,链式求导公式,多线程与多进程区别,tcp/udp
通信原理等。这些常见面试题,都可以在牛客网找的到,当然不同岗位面试题不一样,甚至每个人的面试问题都有很大不一样,不要因为别人面经上的题不会,你就有些失去信心,但是对于同一个岗位的频繁出现的面试问题还是必须掌握。机器学习、算法工程师面试考点汇总,参考这里。 - 简历要有亮点。paper、算法比赛、项目、实习必须要有一个啊,博客、
github
最好也要有,这真的很给简历加分!实验室没有发paper
和项目条件的,可以考虑去 天池、Datafountain、kaggle 上打比赛,真的可以学到很多东西。
- 不要紧张,表达要清楚流利,要记住,绝大部分面试官都是很友好和亲切的,尤其是大公司的面试官真的超级温和,这里为阿里和地平线机器人面试官点赞!对于那种不尊重人和看不起人的面试官,我个人觉得没必要去他们公司了,一般这种面试官会出现在小公司,一个面试官连对面试者基本的尊重都做不到,我难以想象这家公司的文化是什么样子。
- 要对自己有信心,但是千万不能撒谎和装逼,一般面试过程中不会的问题,面试官也会跳过或者安慰你没事的,不用太紧张,碰到
1、2
个不会的问题也属正常。
- 首先,我的水平真的算是很一般的,真正的大佬都是很轻松的拿到数个满意
offer
。我自己是本科是双非大学自动化专业,研究生是中等211
大学控制工程专业,本科主要搞嵌入式方向,研究生才转为计算机视觉方向和深度学习方向,这里也给后来者一个建议,如果不是真心热爱、喜欢你所从事的计算机视觉方向,只是为了钱的话那就真的没必要了,CV 岗竞争真的很激烈,nlp
和开发岗好很多,而且现在开发岗工资真的很高啊! - 其次,最开始找实习的时候,我没有刷过数据结构和算法题,导致我华为(程序写出来了,但是输入输出格式没注意)、百度、腾讯笔试统统挂了,那段时间真的超级难过,后悔没有提前刷题。4月20号之后,我开始在
boss
直聘上投简历,这里陆陆续续收到 2 家小公司面试通知和offer
,也算是给了我些信心。 - 最后,在这段时间一边把之前项目细节搞清楚,一边开始复习栈、队列、链表、二叉树和经典数据结构算法原理,并在 leetcode 上刷题,因为时间关系题目刷的不多,然后就是把
Faster RCNN、FPN、Mask RCNN、retinanet、ResNet、VGG、InceptionV3
等经典网络结构原理和细节部分彻底搞清楚,并去看了部分检测框架源码,然后就是深度学习算法的一些基本原理:链式求导过程、BP
反向传播、SGD
优化器原理、激活函数公式及原理、常见图像处理算法等,这里涉及一些公式,还就是C/C++/Python
编程基础,和计算机基础等。每经过一次面试,我都会自我总结,这使得我后期对面试也开始有了些自己的经验和心得。
对于 CV
实习岗,面试涉及到的知识可参考下面的部分:
- 目标检测算法原理和网络结构细节:
two-stage
算法:Faster RCNN、FPN、Mask RCNN
等one-stage
算法:SSD、yolo、retinanet
等- 无
anchor
算法:centernet
、FCOS
等
CNN
的SOTA
网络原理和细节:ResNet
、VGG
、InceptionV3
、DenseNet
等.- 深度学习算法公式理解:链式求导过程、
BP
反向传播、SGD
优化器原理、激活函数公式及原理、常见图像处理算法等. C/C++/Java/Python
编程基础- C++ 构造函数与析构函数意义、指针和引用区别、
new
,malloc
区别、抽象类和接口的区别等 Python
浅拷贝和深拷贝区别、装饰器使用、super()
用法、高阶函数:map/reduce/filter/sorted 用法、try...except
使用等- 如何用
C++/Java/Python
写多进程和多线程代码
- C++ 构造函数与析构函数意义、指针和引用区别、
- 计算机基础:计算机网络、操作系统、数据库
TCP/IP
算法,IP
寻址,socket
通信流程- 大端小端存储,如何将小端存储模式转为大端存储模式
OSI
七层模型解释- 数据库基本操作,及
sql
语句 - 多进程与多线程区别
- 常用工程工具使用基础
cmake、git
语法等和操作Linux
系统开发,常见命令使用和shell
语法
- 项目或者
paper
细节,根据项目细节延伸问如何做提升和改变
投递公司 | 简历投递渠道 | 进展 |
---|---|---|
北京阿里 | 朋友内推 | 一面挂 |
北京格林深瞳 | boss 直聘投递 | 一面挂 |
北京百度 | 网申 | 笔试挂 |
深圳腾讯 | 朋友内推 | 笔试挂 |
川渝华为 | 官网投递 | 笔试挂 |
北京小鹏汽车 | boss直聘投递 | offer,婉拒 |
南京地平线机器人 | boss直聘投递 | 正式offer |
深圳平安科技 | boss直聘投递 | 简历过,拒绝面试 |
深圳pony.ai | boss直聘投递 | 简历过,拒绝笔试 |
深圳中科类脑 | boss直聘投递 | 简历过,婉拒面试 |
杭州新再灵 | 拉钩网 | 技术面过,hr面挂 |
康尚生物医疗 | boss直聘投递 | offer,婉拒 |
北京矩视智能 | boss直聘投递 | 口头offer,婉拒 |
上海拼多多 | 朋友内推 | 简历过,没参加笔试 |
北京合心科技 | 拉勾网投递 | 面试官极其不尊重人,放弃 |