面试创业公司算法工程师

时间:2022-01-16 16:45:04

两轮技术骨干,一轮技术总监,最后CTO,然后hr。总共四轮技术+hr,还是小有收获的。

总体觉得面试问题灵活,难度中和公司业务衔接的知识点结合强。下面说下具体的流程:

一、一面

1、两道代码(时间复杂度)

2、k-means的伪码(提及了EM)

3、项目有挑战的地方,调参

4、讲解word2vec

5、大致谈了下深度学习

6、偏差-方差分解,过拟合和欠拟合的措施

二、二面

1、编代码(动态规划,代码检查以及异常处理非常有必要)

2、logistic回归的损失函数以及讲解

3、避免过拟合的措施,在统计领域对权重怎么控制(机器学习上的正则和惩罚项,统计上的假设检验)

4、如果有新的流数据过来,怎么更新模型(可以采用随机梯度下降,直接计算增量更新权值)

5、怎么确定某个特征项和类别之间的相关度(互信息(熵)公式)

6、讲小论文

三、三面

技术总监,是微软的。嗯。。技术大拿挺多,据介绍核心团队还有BAT,facebook骨干。。

1、三面主要是介绍实习的项目,通过项目了解你的业务逻辑。这部分答的不好

2、最后聊了很久公司的业务点

四、四面

CTO是北大博士机器学习毕业的,又发了好几篇厉害的paper,后来在微软待过

1、可能学术性比较强吧,上来直接让手推SVM,带上松弛因子

2、然后具体讲了下SMO解决凸二次规划问题的优势,对比梯度下降和牛顿法、拟牛顿法

3、最后介绍公司怎么用机器学习结合业务,从数据中挖掘信息

说实话推公式还是很艰难的,脑袋其实到四面就很累了。好在之前自己动手推过,虽然时间久了点,大概流程还记得。在CTO的纠错下,勉强推完了。SMO算法也只是简单了解过,所以大致思路讲下来了,具体涉及不深。面试官很仔细的讲了它来自哪篇paper以及改进,还有发明这个算法的人。。

五、hr

聊了下薪资待遇,说是沟通下再给回信。这次真正体验到结果不重要(很有可能还是挂),面试经历很有价值,谢谢你们的时间

 

最后总结下比较可控的因素在面试中:

基本礼仪不说了

1、互动

互动很重要,编程题答不上来没关系,但一定要积极的去想解决,根据面试官给的思路一步步回应,不懂就诚恳的问。

2、细心

写代码一定要清楚面试官是不是让你写伪码,不是的话就有必要写上异常处理以及return和函数头部。而且写出的算法或者提及的时间复杂度都要知道,会问。

3、引导 

虽不能说主导,但这方面是有点可控的,学会引导面试的进程,主动说出你最近学的啥,你比较擅长啥。

4、最后一个问题  

通常会问你有没有什么可问的,一定要问,不管是公司业务还是自我的提升,表现出感兴趣。