• 面试创业公司算法工程师


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

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

    一、一面

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

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

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

    4、讲解word2vec

    5、大致谈了下深度学习

    6、偏差-方差分解,过拟合和欠拟合的措施,提出了L1和L2正则,说明为什么L1比L2稀疏。

    二、二面

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

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

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

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

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

    6、XGboost了解吗

    7、讲小论文

    三、三面

    技术总监

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

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

    四、四面

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

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

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

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

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

    五、hr

    聊了下薪资待遇,说是沟通下再给回信(已通知,但还是纠结校招,如果七月份就好了)

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

    基本礼仪不说了

    1、互动

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

    2、细心

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

    3、引导 

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

    4、最后一个问题  

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

  • 相关阅读:
    Java Web前后端分离的思考与实践
    JDBC剖析篇(1):java中的Class.forName()
    UVa1471
    Uva11572
    Uva11134
    Uva10755
    Floyd判圈法
    Java泛型-通配符的上限和下限问题
    Codeforces 384E-线段树+dfs序
    codeforcesRound378C-dfs+树状数组
  • 原文地址:https://www.cnblogs.com/hithink/p/7347820.html
Copyright © 2020-2023  润新知