潜水一年,终于到了回馈牛友的时候,给大家分享一下提前批头条算法面经:
一面:(40min)
介绍项目(很细)
mobileNet v1 v2(项目中用到)
Focal loss(公式是什么,到底怎么用,在这里解决什么问题)
Tf、keras、pytorch区别
Svm和lr的区别和各自优缺点;
BatchNorm作用
Roc曲线含义和其他评价指标的区别
算法:Path_sum(两个相关的变形)
反问
二面:(1h15min)
介绍项目
mobileNet v1 v2(项目中用到,和resnet的区别)
Focal loss(到底怎么用,在这里解决什么问题)
Yolov2 v3的提升:小物体检测上的提升
数据不均衡的处理方法
神经网络overfit如何观察,该怎么办
梯度消失的表现是什么,该怎么处理
神经网络的优化算法有哪些,具体说一下
机器学习的评价指标
Anchor free检测算法了解吗,怎么回事
传统cv算法介绍一下,Hog怎么回事,步骤是什么样
神经网络权重怎么初始化,说一下自己知道的方法
算法:
最长上升子序列
反问
三面:
聊天,聊人生理想,职业规划,自己的学习过程,为什么要转行,为什么要做cv等等;(聊了很久)
介绍自己的部门;
问:突然,今天下雨了吗?
答:下了。
问:那好,我们来讨论一个下雨的问题:
今天下雨的概率是0.2,天气预报的准确率是0.8. 问已知今天下雨,天气预报预测下雨的概率?
今天下雨的概率是0.2,天气预报的准确率是0.8. 问已知天气预报预测下雨,今天下雨的概率?
那我们再讨论一个问题:
在[a,b]之间,a,b为正整数,问其中不包含数字3,5,7数字的个数;(做了好久)
你确定要做cv么?我们cv在深圳巴拉巴拉的,聊天为主
反问
面试心得:
个人认为面试最关键的还是代码,如果能做到5分钟之内bug free秒解,会给面试官留下极好的印象,通过的概率极大!
项目中每一个创新点一定要清楚:为什么用、怎么用的、好处在哪里;
一些基本的概念一定要熟悉,不能只是知道:
比如ROC曲线和PR曲线,面试官的要求不仅仅是横轴纵轴是什么,往往会有进一步的follow up:比如说样本分布不平衡的话PR和ROC会有差别类似的;不能只关注于某一个概念是什么,往往最基础的follow up是考察的重点;
各种基本算法除了原理要了解他们的优缺点,这里应该是面试官考察比较核心的地方;
大概就是这样,之后有补充会更新,个人感觉面试不算太难,一面对基础基础的考察会比较多,二面对深度和广度考察会比较多,相关领域state of the art的算法大致思路有时间的话建议看一下;三面的话因人而异,我的面试官喜欢考察一些数学问题,很奇怪;
再给大家补充一下(2019)春招算法实习生的面经吧,自己也面了三面,挂在了第三面上:
一面:
介绍自己项目
做个题吧:
类似于机器人在矩阵中寻找路径的一个dfs的问题;
二面:
题目:按层次遍历二叉树
介绍一个项目吧
knn算法了解吗,和传统的LR和SVM有什么区别?
怎么优化knn呢?
PCA了解吗,怎么做的?
kmeans原理,怎么做的,你是怎么并行的?
前两名一面大概都是40分钟,时间比较短,面试官对cv都不是很了解,主要是考察了一些基础的机器学习的知识;
三面:
先做个题吧:
一道业务场景题,给海量的数据列表中加上一个字段,字段表示前后6小时之内出现的数据个数;做了好久。。。
SVM最后的形表达形式是什么?
KKT条件是什么?在SVM中起到什么样的作用;
kernel是什么?写一个简单的kernel吧;
LR为什么要用sigmoid?(经过面试官提示,是来自于最大熵模型,建议不明白的同学去查一下,下次面试给面试官露一手)
因为题花了太长的时间,问题就没有多问就感谢您参加招聘了2333,因为相隔时间比较长了,有些细节问题记不太清;最核心最虐的问题就是以上!
#算法工程师##字节跳动##校招##面经#