爱奇艺机器学习算法实习面试总结

2018/3/9更新,实习已录用,很开心!大家有问题可以问我。

2018.3.1面试了爱奇艺机器学习算法实习生岗位,面了2个小时左右,两轮;现在把问题分享给大家,希望对大家以后的面试有帮助

第一轮面试问题:

(1)冒泡算法代码书写和复杂度分析:

本人非科班出身,数据结构/算法熟悉,但是没有具体练习过,只是用python写过选择排序,结果是大概过程写出来了;然后让我分析了一下冒泡算法最好的结果,n:这个复杂度由来是:利用标志位,做完第一轮循环之后,判断标志位,如果是是True,结果循环;n^2复杂度:由于冒泡算法第一轮循环是遍历元素,第二轮是进行相邻元素之间的位置调换,进行排序,在最糟糕的情况下,复杂度为(n(n-1)/2)=n^2

(2)Java接口interface和类class区别

JAVA学了一个月,大概了解一点;

接口中的方法不能有方法体;接口不能实例化对象;
接口只能用implements实现,而不能用extends继承,但是接口继承接口时要用extends;
一个类可以实现多个接口,只能继承一个类;
实现接口的类必须要实现接口中的方法,但继承类可以不重写父类中的方法;
接口的关键字是interface,类是class
(3)提问简历的论文发表
这个具体给他阐述了算法过程,迭代要求,让面试官理解了我的算法情况等;
(4)写代码,要求输入两个字符串,然后进行hash编码,并且相同索引部分放置相同数据,进行相似度比较,然后写SQL,要求把一个字段的最大3个数找出来;考察我的之前实习
记得当时用Python写了5分钟,他比较满意,SQL语句采用降序排列,限制top3即可,还是很简单的,代码的例子如下:select vv1,vv2 from tablename order by vv1 desc limit 3;
第一轮主要是这些问题,然后面试官希望我多看看视频,对机器学习有一个整体的把握,其实相关的书籍和视频都看了几遍,相关公式自己也推了几遍,只是实习竞赛和项目里面用的算法还是比较有倾向性,并没有大范围的进行使用,希望我更加熟悉java,当然也肯定了我的python 能力,也肯定了我的勤奋和努力,这个我会再接再厉的,然后他让我等一会,面二面;,希望我更加熟悉java,当然也肯定了我的python 能力,也肯定了我的勤奋和努力,这个我会再接再厉的,然后他让我等一会,面二面;
5分钟之后,来了第二个面试官,进行面试,这次面试主要是一些考察特征处理、思维的发散性和严谨性。
(6)自我介绍:
这个就大概说了一下课程情况,能实习多久,来多少天,研究方向、实习经历和论文情况;
(7)如果给你一个数据文档,内容是记录当天和第二天的一些用户搜索情况,你如何找出相同的搜索问题和从这些数据中,如何把学生群体挖掘出来;
当时我的回答是:听过数据去重,形成哈希数组,然后进行问题匹配,找到两天都被提出的问题;针对学生画像挖掘,首先从搜索问题入手,找出搜索教辅比较多的用户、然后再观察用户的活跃情况,具体到哪天什么时候活跃,周六周日的活跃情况,然后进行用户画像,找出学生群体;
(8)挖掘白领上下班时间和wifi是公共wifi还是私人wifi
个人回答:就上海这个地区而言,白领上下班观影大约集中在地铁上,通过对这段时间的数据分析,可以找到大概的白领上下班时间,然后面试官又问:如果是开车和其他乘坐方式的上下班用户,你如何进行挖掘,对其上下班时间,个人回答还是观察其个人的APP活跃时间,进行推理,然后通过其他辅助信息,强化推理,具体的解决方法,面试官也没有具体说明,只是对我的回答还算满意,但是还有不足;
针对wifi问题:首先观察wifi的用户量和流量,一般私有WIFI的连接数少(举例低于20),公共wifi的连接数较大,然后公共wifi的流量比较大,周一周五上班时间基本全天都在活跃,而私有wifi活跃程度并没有这么高;
(9)特征处理方法,问了我在kaggle上做的几个项目;问特征是如何进行处理的:比如连续类特征,你是进行直接的数字编码还是one-hot编码,我回答在处理过程中都用过,然后你做算法时,是如何选择特征的;我回答是:通过特征之间的相关性,特征与标签之间的相关性,进行特征组合选取,在通过交叉验证,迭代完成最优特征选择;
然后接着问:如果存在时间序列的特征在里面,用交叉验证是否会影响特征集合选择的过程,我回答是:通过重复试验和10-1交叉验证,能够去避免时间序列特征对算法的影响,因为在进行随机交叉和重复之后,这些信息影响能够被降低的。
(10)如何在一个几十甚至几百T的文件中,搜索文件,找出无重复的数据;
我的回答:通过对数据进行切片,分片处理,去重;然后进行组合,再去一次重;但是面试官说:如果两个切片文件切的相似,但是文件内容不相似,进行最后组合的过程中,还是会产生极大的数据运算量,我想了一会,并没有想到很好的解决方法。如何有同学有很好的解决方法,请指教,不胜感激

(11)如何在小样本上进行电影票房的预测

首先分析这个问题,数据量几十,太少了,难度大;然后考虑到用线性回归来做,对数据预处理和特征工程,选择合理的特征等等,其实个人还是没什么信息,因为样本太少了,然后面试官又说,如果票房存在跳跃增长,这些数据肯定不能放弃,因为本身数据就少,然后我的回答是通过自己添加一些特征来补充这方面信息,接着问,如果又要考虑节假日等情况呢,我想到的还是稀疏编码,补充信息,然后我问面试官有没有什么好办法,但是她没有回答,因为我确实没什么信息,对这个问题。

以上就是个人爱奇艺的面试过程,在最后问了一下面试官;我有什么不足,也是吸取上次携程面试的经验,她说:我需要恶补spark和hadoop技术,因为我只是看了技术文档,写了点小代码,但是实际中还是需要自己很强的代码能力,第二方面:是需要多使用模型,扩展自己的思维;特征工程的能力稍有不足,有待加强;还有就是代码能力需要再加强。这次面试收获还是很多的!
补充:python类中__init___作用:初始化作用
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值