视觉算法工作一年社招经历总结
视觉算法从被裁历时两个月拿到offer的经历复盘(本人情况是硕士毕业工作经验不到一年半的社招)
总体时间线: 9.30被裁,大概9.21知道消息,拿到n+1 10.1开始准备简历,刷题,复习 10.10开始投简历 10.18陆续开始第一波面试 持续到11月份 状态0 offer 11.10开始新一轮集中投递简历 面试状态开始顺利起来,12月初陆续接到offer,12.08最后选择字节。
干货开始: 简历篇: 个人简历排版: 1.个人信息,包括邮箱、照片等 2.教育背景 3.工作项目经历(可以把实习经历也放进来) 项目描述包括:项目名、项目目标(是什么),负责内容以及结果(做什么) 4.研究经历(学校经历) 5.专业技能 6.获奖情况
P.S. 简历因为排版限制,有些内容无法展示。 这段时间很多面试都是线上形式,可以把简历内容做成ppt,面试的时候投屏进行自我介绍,ppt内容上可以适当加一些图文配合。 这里还有一个需要注意的点,线上会议屏幕共享功能可能需要开启某些权限,所以最好是在面试之前调试好,免得给面试官留下准备不充分的映像。 推荐一个线上制作简历的工具: https://www.mujicv.com/editor/#
面经篇: 项目相关的一些通用问题: 1.数据怎么来,类别,规模,上线后数据如何回流 2.具体方案用什么模型,做了哪些改进,评价标准,模型参数量、flops(如果是移动端项目可能会问到) 3.项目过程中遇到什么问题,如何解决;目前的方案还存在哪些问题没有解决,有没有什么思路
P.S.一些计算机视觉相关的问题会从项目采用的方案扩展提问
通常在二面三面可能的问题: 1.未来的规划,对那些方向感兴趣 2.设置一些开放性的场景,设计方案去解决
百度: c++部分: 虚函数 结构体与类的区别 死锁 传统视觉部分: 高斯滤波 深度学习: 反向传播,陷入局部最优如何解决,梯度消息如何解决 深度可分离卷积 bn code: 把数组的奇数放在偶数前 寻找二维数组的连通域 判断链表有环,并找到环的入口 计算机视觉: yolo系列的优势 map怎么计算 介绍yolox和一些最新看到的论文 tf实现focal loss transformer相关的论文是否了解,attention如何计算,和普通attention区别,self attention除以根号k的原因,用ln(layer norm)的原因 swing transformer transformer如何编码顺序信息
快手: code: 1. 判断两个字符串,是够可以通过交叉合并成第三个字符串 https://leetcode-cn.com/problems/IY6buf/ 2. 二维矩阵,只有’O’ 'X’两种元素,所有被‘X’包围的‘O’替换为‘X’
小红书: 计算机视觉: two-stage方法效果比one-stage方法好的原因 yolov3如何解决样本不均衡的问题
地平线: 计算机视觉: 介绍shufflenet code: 判断合法搜索二叉树
滴滴: code: n对括号的合法全排列,(用递归)证明递归方法不会出现重复情况 均值滤波简化版,输入二维图像,进行滤波。然后对算法进行改进 深度学习: leaky relu和relu的区别 label smooth作用和原理 python相关: 字典实现 多线程和多进程 闭包 装饰器 gc(垃圾回收)
便利蜂: 深度学习: 优化器:sgd、动量、adam等 python相关: 内存管理 线程和进程的区别 code: 加和最大子数组
字节: code: 字符串转整形 求平方根 计算机视觉: 检测方法中的selective search方法原理 ssd网络的创新点 优化器 迁移学习 过拟合,原因,解决 双摄像头如何实现3d检测 最近看到的让你眼前一亮的技术 深度学习: bn怎么做的,infrence过程如何改造conv参数 迁移学习中bn参数怎么处理 c++: const define的区分 malloc和new的区别
新浪: 计算机视觉: yolov3网络 FPN 深度学习网络高低层网络有什么区别 shufflenet和mobilenet,包括不同版本之间的区别 剪枝,量化,模型加速 yolov4,yolov5的改进点 bn在训练和测试的区别 code: 判断两个链表是否相交 nms iou giou diou ciou
新氧: 计算机视觉: yolov3网络结构 shufflenetv2 focal loss公式,思想 优化器
高德: 深度学习: 过拟合 正则方法,l1,l2 batch size过大过小会有什么问题 移动端部署方面,网络压缩和加速的方式 loss出现nan如何定位和解决
美图: 计算机视觉: mobilenetv2网络设计 yolo系列发展 focal loss two-stage比one-stage网络效果好的原因 目前针对小目标检测的改进 常用的数据增强方法 transformer,一般用什么优化器 网络感受野过小会有什么问题,如何增大感受野 unet介绍 深度学习: 激活函数,relu存在什么问题,有什么优势 code: nms 判断有效平衡二叉树
soul: 计算机视觉: shufflenet,mobilenet yolo系列网络 常用loss函数 深度学习: 蒸馏,量化 code: 矩阵螺旋打印 数组中任意三个数组合,求这些组合加和的最小值
陌陌: 计算机视觉: focal loss two-stage和one-stage检测网络的区别 shufflenet mobilenet 7*7卷积和3个3*3卷积的使用场景有什么不同 bn 线性插值和最近邻插值的区别 code: 求平方根 岛屿数量 实现图像crop,优化 mobilenet
知乎: code: n*n的矩阵,每个位置有一个值,-1表示无法通过,正负表示通过该位置的得分。从左上角出发,走到右下角,计算获得最多分数的一条路径。
微软: code: 非递归实现二叉树后序遍历 给定一个数组,一个target,一个k,求出所有k个数组加和等于target的情况,k个数字中不能出现重复。 定义一种特殊的数字,他的分解质因数只有2,3,5,7,输入n,输出第n个这样的数 合并n个排序链表 两个排序数组,计算合并之后的中位数 链表排序 系统设计: 有一个流式系统,会接到源源不断的数据,有三种操作:1.给一个string,去系统里查找是否存在这个string 2.删除一个string 3.新增一个string。数量级是超大规模,百亿级别。(硬盘足够,内存不足的情况如何设计以及优化,压缩算法) 岛屿数量 把一张图片切成4*4=16个等大的块,有一个函数可以计算两个块,所有边在原图中相邻的概率,设计算法重新恢复原图 给定一组地名的列表(包含小写字母和空格),和一段文本,需要把文本中包含的所有地名提取出来。 要求抽取结果尽量长,例如有new york city和new york两个地名,文本为。。。new york city。。。,需要抽取的结果是new york city
总结: 1. code:推荐一个链接,有各个公司最近的代码题非常好用https://codetop.cc/home 2. c++,python:两个编程语言需要看一些相关的基础知识,可能会问到一些多线程的问题 3. 机器学习:过拟合,正则,激活函数 4. 深度学习:bn,优化器,激活函数,梯度下降 p.s.上面ml和dl这些经常被问到的问题,需要重点理解原理,有可能会变着花样问。 5. 计算机视觉:轻量化网络,检测网络。这些内容和简历项目有关,因为我的项目主要是轻量化检测任务所以会偏向这两个方面。 6. 工程:剪枝,量化,模型加速。
希望这份总结对首次参加社招的朋友们有帮助,有问题都可以私信交流。
|