面经|算法|计算机视觉|百度,B站,图森,商汤,九坤等20个
面经汇总
写在前面:
我是cv方向的硕士,秋招过程中获得了牛客上很多热心网友的帮助,现在秋招结束,我也来分享下面经回馈牛客吧。本次秋招共面试了70多场,收获了20多个意向,包括大咖,ai先锋,T计划等5个人才计划的offer。需要交流更多细节的话也可以私信我(不过可能不会特别频繁看 😑 ),希望自己的经历对大家能有些帮助。
记录包括:腾讯,阿里,百度,字节,美团,滴滴,图森,商汤,旷视,bilibili,拼多多,科大讯飞,爱奇艺,海康,华为,momenta,大疆,地平线,快手,中兴,vivo,小米,九坤(挂),shopee(挂)等20多个企业的面经。
PS:我在评论区里以后可能也会发布我的内推信息哈哈哈。
技术面一般基本流程:
- 自我介绍
- 讲论文/项目(要能够可长可短,很多时候面试官可能会要求2min/5min概括)
- 实习经历
- 基础知识「可选」(1.领域知识;2.机器学习/概率论/信息论这些;3.编程语言)
- coding「可选」
- 反问
HR/HRBP面基本问题:
- 自我介绍
- 职业规划
- 遇到的困难(解决的/放弃的)
- 有没有「打破规则」经历(频繁被问)
- 择业考虑因素(基本一定会问)
- 有没有其他在谈的企业(基本一定会问)
- 如果排序的话本公司在你心中可以排到第几名
- 最有成就感的事情
- 最遗憾的事情
- 坚持最久的事情
- 团队合作的一些问题
- 你周围的人怎么评价你(频繁被问)
具体公司的技术面试经历记录:
百度
由于特殊计划可以面试多个部门,面试在「如流」上视频面试,代码在另一个页面中写,或者共享屏幕。
深度技术部(飞桨)
一面(1h):
- 自我介绍
- 实习工作
- 对Transformer的理解
- 训练网络的技巧
- 闲聊
- Coding (搜索旋转排序数组)
二面(1h):
- 自我介绍
- 在发表的论文中,选一篇你觉着最让你印象深刻的论文讲一下;
- 狂问这一篇论文里面的细节;
- 问实习经历,重点是业务方面的,主要做了哪些具体的事情;
- 问 Transformer 在你做的领域里有可能怎么应用?
- 二叉树层序遍历
- 闲聊
三面(1h):
- 讲论文
- Coding: 最小标记代价,lc上有个类似题目是 72. 编辑距离。不同点是插入,替换和删除的cost 为x, y, z
ACG智能制造部:
一面(1.5h)
- 自我介绍
- 讲论文
- 深度学习基础知识(1.防止过拟合的方法;2.数据不平衡问题处理)
- 手写NMS
二面(1h):
- 自我介绍
- 聊论文
- 大数相减
三面 (1.5h):
- 自我介绍
- 聊论文
四面(1h)用人经理:
流程类似于HR面,也聊了一些项目的内容。
五面(1h)HRBP
六面(1h)
- 问我在其他几面中没有展示的,你觉着有闪光点的内容,给他讲一下。
- 别人怎么评价自己的
- 反问环节
视觉技术部:
零面(1h):
- 讲论文
- 手写NMS,手写旋转bbox的NMS, 面试官鼓励用C++实现。
一面(1.5h):
- 讲论文
- 基础知识:
a. 过拟合
b. 量化/剪枝 - Coding: 前缀和的一个题目
二面(2.5h):
- 讲论文
- 讨论Transformer
- 讨论分割精度提高技巧
秋招以来最长的一次面试,收获也很多,和面试官在很多技术领域上探讨了很多问题。
三面(20min)
- 讲论文
- 聊天
四面(40min)
- 对分割的看法
- 对方向选择的看法
- 职业规划
字节跳动
字节的面试节奏很快,每一面都有coding。在牛客上面试。
一面(1.5h):
- 讲了论文
- 问基础知识
a. BN的参数量
b. 手写交叉熵的反向传播 - Coding: lc160 相交链表
二面(1.5h):
- 讲了一篇论文
- Coding: 面试官自创题
三面(1h):
- 5分钟总结论文
- 问基础知识:
a. 交叉熵公式 (多标签分类怎么办)
b. BN过程,为什么测试和训练不一样
c. 类别不平衡问题的处理 - 概率题:两个人轮流抛硬币,抛到正面获胜,反面给对方。先抛的人胜率是多少?
美团
跨领域的面试,面的推荐。在牛客上面试。
一面(1h):
- 自我介绍
- 项目+论文+实习经历
- 基础知识:
a. 如何让 adam 算法收敛速度变慢
b. 各种优化器使用的经验
c. python 垃圾处理机制
d. yield 关键字作用
e. python 多继承,两个父类有同名方法怎么办?
f. python 多线程/多进程/协程
g. 乐观锁/悲观锁 - coding: 合并两个有序链表
二面(1h):
- 自我介绍
- 项目+论文+实习经历
- 基础知识:
a. CNN 的发展历史
b. 说说文本/NLP等了解 - coding: 二维矩阵,求从上到下和最大的路径。起点是第一行任意元素,终点是最后一行任意元素。可向左下,向下,向右下。
三面(1h):
- 自我介绍
- 项目+论文+实习经历
- 反问:关于工信部推出的推荐算法新规定的影响
爱奇艺
在牛客上面试
一面(1.5h):
- 讲论文
- 交叉熵公式(这题我被问了四五遍了)
- Coding: 模拟三体运动,给定3个物体的质量、初始位置、速度和模拟的时间间隔T,假定T时间内都进行匀速直线运动,模拟段时间内的物体运动轨迹。
二面(1h):
- 讲项目细节
- 有没有模型加速的经验
三面(20min):
- 主要是讲项目
- 简单聊一下就结束了
四面(30min):
- 自我介绍
- 项目经历
- 超分辨率的研究内容
- 分割的研究内容
- 分割面临的问题,前沿的发展方向
- 模型速度优化
- 职业规划
商汤
用小鱼易连平台面试
零面(40min):
- 讲你觉着最有理论深度的一篇论文
- 问喜欢的工作类型
一面(1h):
- 讲论文
二面(2h):
- 讲论文
- 智力题:
a. a^b 和 b^a 谁大?
b. 一个房间有100盏灯(全是关着的),由编号1-100的开关 * (只有两种状态,开或者关)控制,门外有100个学生,学生按次 * 序一次进入房间,第一个进入的学生切换是1的倍数的开关,第二 个学生切换是2的倍数的开关,以此类推,问,第100学生进入后,还有多少盏灯是亮着的? - 物理题:分析天宫一号中宇航员的受力。(商汤好像很喜欢问物理题,我好多同学都被问了
三面(20min):
- 讲对科研的看法
- 讲自己的职业规划
小米
在牛客上面试。
一面(1.5h)
- 重排链表(lc143)
- 爬楼梯(lc79)
- 讲论文
二面(1h):
- 讲项目和论文
- 手写卷积操作
三面(1h):
- 讲论文
- 问我和互联网大厂比更喜欢那种类型的工作
四面(50min):
- 项目中遇到的困难是什么
- 职业规划
shopee 「上海算法」
一面(1h):
- 讲论文
- 最小覆盖子串(lc76)
面试感觉表现的还不错,题目也做出来了,但第二天收到感谢信,应该还是方向不匹配吧。
旷视
在牛客上面试。
一面-三面(1h/1h/1h)都在讲论文。
四面 (45min):
- 讲论文
- 讲项目
- 手写图像插值函数(最近邻和Bilinear)
五面 (45min):
- 讲论文
- 讲项目
- 开放性问题(主要围绕论文落地场景,讨论在该场景我使用的技术合不合理)
VIVO
在牛客上面试。
笔试:
- C++ 的相关内容
- 损失函数
- 滤波器
- 双摄相关知识 1)双摄同时拍摄和单摄拍两张的区别;2)双摄如何提升画面质量
- 去噪相关知识 1) RAW 图像包含噪声种类,如何形式化(估计);2)去噪的损失函数
一面 (30min):
- 自我介绍
- vlog拍摄心得
- 用的什么手机?摄影系统有什么优缺点?
- 准备进一步进修吗?
- 项目(项目中遇到的问题)
- 操作系统(线程是怎么通讯的)
- 用什么编程语言
- 职业规划
科大讯飞
在腾讯会议面试,每次面试有好多面试官。n对1。
一面:
- 讲论文
- 匈牙利匹配算法在DETR中的作用和实现方法
- softmax的反向传播以及log形式
- 解释一下先验概率和后验概率,两者之间如何转换?
二面:
- 聊天(职业规划,工作选择)
滴滴
Umeet上面试。
一面(1h):
- 讲论文
- 开放性问题
二面(30min):
- 讲论文
- 反问
三面(1h):
- 讲论文
- 在线标注结果错误如何修正
图森未来
在牛客上面试。
图森面试体验很好,面试门槛和难度也相对高一些。
一面:
- 讲论文(但不是自己讲,面试官狂问问题)
二面 (工程面)
问题1:
有一片海域,中间有一些小岛,找出一共有多少个「实心矩形小岛」。
海域以二维数组给出,数组中包含 0 和 1 两种元素,0 代表海,1 代表地面。被一片海包围的地面成为小岛,小岛通过水平和竖直方向与相邻的陆地连接而成。可以假设数组边缘之外都是海。
「实心矩形小岛」的定义为: 四条边与二维数组边界平行、内部均为 1 的小岛
问题2:
有 n 个物品,每个物品大小为 a[i],有 p 个背包,每个背包大小均为 k。现在你可以决定 k 的大小,问 k 最小为多小时,可以保证能将这 n 个物品放入 p 个背包内。
代码要求
实现一个函数,物品数 n、物品大小数组 a 和背包个数 p 为参数,返回背包的最小大小 k。
三面:
- 选一个项目 + 详细提问(问题很犀利);
- 选另一个项目 + 详细提问(问题很犀利);
- 反问
腾讯
电话面试。
面试均为前沿技术领域探讨
阿里
电话面试。
一面(30min):
- 主要聊了下实习经历
- 问了一部分基础知识,BN, CE loss, 过拟合deng
二面(1h):
- 聊论文
- BN为什么在C上面做
- 结构风险和经验风险怎么理解
期望风险:机器学习模型关于真实分布的平均损失称为经验风险
经验风险:机器学习模型关于训练集的平均损失称为经验风险,当样本数无穷大∞的时候趋近于期望风险(大数定律)
结构风险:结构风险 = 经验风险 + 正则化项
三面(1.5h)
- 聊项目
- 迭代循环的收敛性证明
- 用信息论的角度来解释泛化能力的问题
- 模型过拟合解决方法
- 为什么提前停止可以解决过拟合问题
- l1和l2正则化的区别是什么,是什么原因导致的
- 计算理论了解吗
- 传统机器学习了解吗
地平线
腾讯会议面试。
一面(1.5h):
- 简单聊了下项目
- 知不知道Clip这个工作
- 介绍语义分割的发展
- 介绍 Deeplab v3+,这个模型存在什么问题,你会怎么改进?
- 超分和语义分割如何结合?
- Pooling的作用:1)提高感受野 2) 降低计算成本 3)多尺度融合
- Pooling反向传播的过程
- Dropout的原理以及反向传播过程
- 神经网络怎么初始化好,各种初始化方法有什么区别?
- 为什么分类会使用softmax, 和CE Loss在一起用有什么好处?
- 神经网络训练的时候出现了很多神经元都为0的情况是什么原因?
- 做题,最小代价路径,一个二维dp
- 反问
二面(2h):
- 项目
- 论文
- 度量学习中难样本挖掘策略
- 开放问题:分割的边缘如何更精确?
- 开放问题:标注标签如果比较粗糙,有什么办法可以训练精细的分割结果?
- 开放问题:无类别的多前景分割怎么做?
- 开放问题:无有考虑自监督的方法做分割吗?
- Coding: 分割的miou, 有n张尺寸为h*w的图片,已知类别为c,gt和pred的labelmap,求这批数据的miou
- 反问
三面(1h)
- 主要还是聊了下论文,问了我做的技术在自动驾驶里面有没有可能的应用
- 面试官介绍了组里面的做的事情
海康威视
钉钉叫号面试。
一面(1h):
- 介绍论文和项目
- 开放问题:开放世界中异常检测怎么做好(智慧城市中比如违规摆摊,垃圾堆放等)
二面(45min): - 超分辨率任意分辨率场景怎么做
- 如果安排你无意义并且浪费时间的工作你怎么处理
大疆
腾讯会议面试。
一面(1h):
- 自我介绍
- 项目+论文+实习经历
- 问论文的学术价值怎么评估
二面(30min):
- 自我介绍
- 论文一篇
- 探讨知识图谱相关的工作
- 面试官分享DJI做算法的区别,比如action的防抖不是用的单纯图像算法。很多事情要从系统性上来看,算法不是简单的打补丁。
终面(30min):
- 感觉有点像HR面(自我介绍,对DJI的看法和理解,自己的优缺点,大学时代的职业选择等)
快手
牛客上面试,也是比较重视coding。
一面(1h):
- 自我介绍
- 项目+论文+实习经历
- coding: 给定一个二叉树和一个值 sum,请找出所有的根节点到叶子节点的节点值之和等于 sum 的路径
二面(1h):
- 自我介绍
- 项目+论文
- coding:
三面(1h):
- 自我介绍
- 项目
- 对研究/和工业的看法
- 自己做的最失败的事情
- coding: lc53 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
交叉面(40min):
- 自我介绍
- 论文
中兴
腾讯会议上面试,每一面都有好多面试官在,n对1。
一面(1h)(两三个面试官):
- 自我介绍
- 项目+论文+实习经历
二面(40min):
- 自我介绍
- 项目+论文+实习经历
- 讲在审的论文
- 图像分割的发展方向
拼多多
自己的平台上面试,比较重视coding。
一面(1h):
- 自我介绍
- 论文
- coding: 给定n个无序的正整数,从中挑出m个数组成斐波那契数列,问m最大为多少
二面(1h):
- 自我介绍
- 问了相关领域的别人的论文,没有问我自己的。
三面(1h):
- 自我介绍 + 项目
- 复现不了别人的方法怎么办
- coding: 有n个人约了在6:00 - 7: 00 开会。wait 数组 [15, 10, 8, 17] 表示 第 i 个人在 6:00 - 7: 00 期间到了之后最多等大家多少分钟。要是不能同时到齐,就溜了。问能开会成功的概率为?
Momenta
一面(1h):
- 自我介绍 + 论文
- 红黑树
- 哈希表
- Coding: NMS
- 开放问题: NMS 给候选框排序 除了 分类的score 还可以参考什么呢?
二面(1h):
- 自我介绍 + 论文
- 你的研究工作可不可以用到自动驾驶的领域
- 对纯视觉自动驾驶的看法
三面(50min):
- 实习项目
- 开放问题:
a. 如何做车道线检测?
b. 行驶中如何决策,考虑哪些因素? - coding:
a. 反转链表
b. focal loss
华为
自己的平台上叫号面试。
一面(1h):
- 自我介绍+论文
- coding: 矩阵原地顺时针旋转90度
二面 (1h):
- 自我介绍
- 按照面试官的思路讲论文(注重方法,不看motivation和工作贡献)
- coding: 压缩字符串
三面(35min):
- 自我介绍
- 各种聊天
- 科研工作介绍+领域内比较厉害的人+未来的发展的方向
- 反问
性格测试(<2h):
华为的性格测试太吓人了,真是有可能不过的。
我第一次做了就挂了,然后又做了一次。据说挂两次直接就没了😷
智加科技
牛客上面试。
一面(1h):
- 论文
- 开放问题:车道线检测--分割方向做法
- coding:
a. 二叉树前序遍历
b. 一个判断合法字符串的题目
二面:coding,岛屿搜索
三面:coding 自创题
四面:十多个开放式问题。面试官根据我的研究方向带入到实际的业务场景。尝试用研究的东西来解决 corner cases。面试官水平很高,很有收获。
五面:讲论文,职业规划
九坤投资
腾讯会议面试。
一面(1h):
- PPT展示(自我介绍,获奖,论文,项目等)
- 面试官根据PPT内容提问
- 开放式问题:如何设计量化模型
- Coding: lc上的股票交易系列问题(考了四五道)
二面(1h):
- PPT展示(自我介绍,获奖,论文,项目等)
- 面试官根据PPT内容提问
- 概率题(各种抛硬币,摸小球,开门等)
B站
牛客上面试。
一面(1h):
- 实习
- 论文
- coding:
a. 二叉树的减法
b. 快速幂
二面:聊项目
三面(1h):
- 自我介绍
- 开放问题:在实际任务中遇到新的类别怎么办?