一线互联网公司机器学习岗位面试经验

从9月18号开始投实习简历到10月21号,差不多一个月的时间,面了三个互联网公司,有研发岗和算法岗,有的拿到了internship, 也有的被惨虐;会有面试通过的惊喜,也有一轮游的不甘;对结果的无法控制和等待过程中的焦虑,更会有对自身的不自信,相信每个面试的人都经历过,但无论如何实习这件事算是过去了,希望自己在接下来的路依旧不卑不亢,努力前行。


一、 某度内容推荐平台架构岗面试总结(拿到internship)
时间:9月18号–9月28号
由于有玩的不错的同学腾二在这家公司,于是就直接内推了,从投递简历到三面结束共10天,不得不说其效率还是挺高的。其实本想是和腾二一样做web开发岗,当时面试准备的也是和web开发相关的,但由于之前没咋做过项目,servlet、session等知识不会,就被转到推荐平台架构设计岗了,最终通过面试,也是挺幸运的。下面总结下面试内容:

  • 一面:
    一面是个姐姐,之前听腾二说它的部门经理是学姐,然后我就以为是她,就一个劲称呼她学姐,可惜后来才知道不是。她问的比较基础,建议大家要熟悉考研408的知识,这样至少不会一轮游。
    1. 介绍项目
      参加过天池大数据竞赛,所以这个问的比较细,这个比赛前前后后被问了有四次。虽然感觉一次比一次表述的好一些,但还是缺乏有力的总结,比如为什么用RF模型,这个模型比别的好在哪里,适用场景有哪些,优缺点是啥;特征工程的时候,为什么要这样处理,这样处理有什么好处;你自己的创新点在哪里?总而言之就是细节一定要把握好,多问问自己那块为什么这样做,针对可能会被问到的问题都准备下。
    2. 数据库知识
      由于自己学过慕课网的数据库实战项目课程,对mysql有一定的了解,故在简历中刻意提到了这些。mysql数据库的索引优化,sql优化,常用sql语句的书写也要懂(嵌套的,稍微复杂些的也要会),熟悉下较流行的数据库,比如memcache,redis等。(主从复制原理也要懂,,多线程访问数据库)
    3. 网络
      tcp协议三次握手四次挥手,http协议包含哪些请求,tcp对应协议,udp对应协议
    4. 编程语言
      java的hashMap、hashTable等必问题,java虚拟机的GC回收算法,和C/C++区别等等
    5. 数据结构
      两个编程题,判断单链表有没有环,并输出第一个环节点;找两个链表的公共节点。

总体来说,一面不是很难,这些需要大家有目的性的积累。


  • 二面
    二面是个男的,具体职位不清楚,但感觉比较难,个人面完后觉得要跪。问的网络方面的东西比较多,涉及到的原理性知识也偏多了些。

  1. 项目:

    各种细节吧,每个人关注的点不一样,所以还是要把项目屡清楚,创新点、逻辑、多问几个为什么等等。
    还问了我如何处理负载均衡,我回答的不好。

  2. 网络:

    浏览器输入www.baidu.com会发生什么?(说的越详细越好),这个问题可以看出一个人对网络的熟悉程度,根据这个问题,牵扯到了许多,比如常见路由选择协议及底层原理,ARP/RARP协议,html界面如何返回,servlet /session等等,由于这些我之前不太了解,感觉面的很差。

  3. 数据结构:

    就一个,全排列算法

  4. 编程语言:

java必问的那些,GC算法,多线程(最好有多线程项目,会是亮点

二面完个人感觉很差,因为网络那块的知识感觉被虐惨了,但是数据结构方面问的其实不难,感觉复习的时候复习到树那块的知识就足够了。算法部分推荐大家看july的《编程之法》,不多,很系统。

  • 三面

三面基本上没有问技术,问了两个智力题,然后就问了下实习时间,介绍了下他们做的内容,以及自己要去的话会做啥等等。但是由于自己的时间问题,不能满足他们实习6个月的要求,所以很遗憾,最终没能去成。




二 、某一线互联网机器学习岗面试总结(一轮游)

机器学习岗还是很有挑战性性的,对机器学习算法理论要求比较高。这次面试主要围绕两个大数据竞赛,问了很多比赛中模型的细节,穿插着问了常用的分类、聚类模型原理、适用场景等问题。由于是第一次面算法岗,理论部分准备的不是特别充分,导致一轮被挂,没有觉得遗憾。以下是建议:

对常用模型要有熟悉的理解,从理论到应用,从推导公式,到深入理解,一个环节都不能少。要熟悉的理论知识:决策树、贝叶斯、逻辑回归、RF、GBDT、xgboost、KNN、k-means、adboost,甚至正则项L0、L1、L2的作用。


下面说说面试中被问到的:

  • 决策树:信息增益、信息增益率、GINI系数。

    信息增益用来度量属性划分样本的能力,信息增益越大,树的划分情况越好,越简洁,高度越低。

    信息增益率:信息增益比上分裂信息熵,为了解决信息增益作为衡量指标的一个缺点(参考jiawei han那本书)

    gini系数:用来度量分布不均匀性(不纯),总的类别越杂乱,gini指数越大,所以要找最小gini指标。
    贝叶斯:贝叶斯原理,朴素贝叶斯。

    注意若某属性A是连续值的情况,gini系数和信息增益都如何处理。

  • 贝叶斯定理:

    朴素贝叶斯: 掌握某属性是连续值情况如何处理(高斯分布),遇到0概率值怎么办(拉普拉斯校准)。若属性之间不是相互独立的怎么办?(贝叶斯网络)

  • k-means缺陷,knn如何制定k,kd树原理。

  • L0、L1、L2范式
    参照下面两篇博客:
    http://blog.csdn.net/zouxy09/article/details/24971995/
    http://blog.csdn.net/vividonly/article/details/50723852

  • 随机森林
    http://www.36dsj.com/archives/21036

天池大数据竞赛大神bryan机器学习岗面试经验及资料整理




三 、某小公司机器学习岗面试总结(internship)

这家面的是一家小公司,由于不是前两场电话面试,而是face-to-face,所以问的更具体一些。

主要还是问了天池的竞赛,不过又细化到了python下scikit-learn包API如何调用、参数如何设置等问题,当然RF等模型原理还是少不了问的,还问了模型的输入和输出等。日后我会整理出一篇关于天池竞赛思路的博客,以便下次面试使用。还有C++的多继承的缺点,java为什么要有接口。剩下的就是白板面试,现场写算法。总而言之,face-to-face问的更细,问的也最久,虽然是小公司,但是面试压力还是挺大的。


最后,祝愿大家能够不断努力,证明自己,找到自己喜欢的岗位。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值