写在前面的话
字节的面试官非常和蔼,面试好评。我自己觉得算法面试基本上都是根据个人以往机器学习深度学习的项目经历进行提问。别关注应该没有后续了!呵呵,太菜了!下面就说说面试问题吧。
面试问题
1.做个简单的自我介绍
2.详细说一说你做过的机器学习或者深度学习的项目(什么小项目、微信小程序之类的别的都不问)
3.PCA的思想,以及是怎么实现的(我的简历的项目用到的)
4.k-means的思想,以及实现步骤(我的简历的项目用到的)
5.你还知道别的聚类方法吗?
6.最小二乘法是怎么实现的了?
PS:面试时候,可能会针对你的项目进行细节改进性提问(举个例子:我用PCA从36个指标里边筛选出来20个指标,面试官就会问,如果不筛选可以吗?或者我用k-means分成了三类,面试官会问为什么会分成3类,分成5类可以吗?)
手撕代码
最长公共子序列(感谢labuladong的算法小抄!安利!刷它!)
反问环节
我问了面试官两个问题
关于算法岗所需要的技术栈有哪些
面试官先问了问研究生的研究方向(有些和这个不搭边),其实主要技术栈就是机器学习和深度学习的基础模型。
关于业务的问题
这个岗位是住小帮的算法岗,有兴趣的可以去搜一搜,主要做的业务是推荐系统。所以对这个岗位有追求的同学,要熟悉算法模型外加熟悉推荐系统。
总结
一点点我自己的看法
算法岗学习路线,第一要熟悉那些机器学习深度学习的模型,要会推导这就不会难住你。第二要有针对性去学业务模型,比如做推荐肯定要看看推荐系统怎么实现的,做图像处理要看看那些卷积神经网络…