易学智能

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1365|回复: 0

成都爱奇艺面经,算法工程师

[复制链接]

17

主题

17

帖子

79

积分

注册会员

Rank: 2

积分
79
发表于 2018-9-15 09:21:40 | 显示全部楼层 |阅读模式
投了爱奇艺的校招,发了笔试通知,有事没有来得及做,错过了爱奇艺的校招笔试,结束了爱奇艺的校招。
十二月爱奇艺进行了补招---重庆专场。总共有两面。
一面:
1、老规矩,自我介绍,从研一说到了现在。
2、面试官问了从比赛项目中随机的选取了一个进行了询问,对比赛做了一个详细的阐述,问了几个问题,然后进行了详细的回答
3、问了常用的机器学习的算法,说了一下xgboost,randomForest等一些常用的算法。再问了一下GBDT和xgboost 的差异性,详细了比较了GBDT和xgboost的差异,并对差异做了分析。
4、基础算法部分:给定范围1到1亿的不重复数字,给定一个1M的内存,找到这些数字中缺失的数字。分析:限定了内存,不可能将数字进行排序操作,如果强制排序,那1M的内存放不下1亿的数字,这也是限定内存的原因,这种解决方案直接排除。想采用数组,将数字保存为数组下标,结果被面试官打了回来。最后想到了MapReduce原理,将1到1亿范围进行分段,分成很多段,拿出一部分的内存保存区间的上下标,然后从每段中找到不属于下标间的数字,然后取出来,查找该数字所属于的区间,并将替换的数字取出,循环进行,直到每个区间的数字都属于自己的区间。然后对每个区间进行查找,找到本区间所缺少的数字,最后合并所有区间的数字,然后就是整个缺少的数字。
二面:
1、每次面试第一步都是老规矩
2、介绍了一个天池大数据的比赛,从头到位阐述了一遍,然后面试官问了很多的问题,对其问题进行了解答,这一块聊了很久,都快掏空了。
3、可能第2部分花费的时间太多了,就给了一个简单的编程撕撕。给了一个字符串,让字符串中的字符之间进行交换,最后判断该字符串是否是折叠字符串,即回文字符串。然后给我写了一个掉用函数,然后就开始了我的手撕。上来就一顿暴力,标记了字符串的开始i和结尾j,核对开始和结尾是否相同,如果不同,然后在i和j之间是否存在和i相同的,如果存在不同flag自增,最后遍历完,对flag进行判断,如果大于1就证明存在两个不同的,就不是,如果小于或者等于1,就证明可以转化为回文字符串。然后把代码交给了面试官并做了解释,没想到最后得到了一句,还有不这么暴力的解法吗?马上想到了另一种,直接判断字符串中每个字符在字符串中的个数,然后统计字符的个数为奇数的数量,如果大于1,证明存在两个单的字符,这样就不是回文串,否则经过交换能转化为回文串。
4、完了都快到中午一点了,由于时间的原因叫回去等结果。
等消息。。。

转载自:https://www.nowcoder.com/discuss/64680
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|易学智能

GMT+8, 2024-9-21 15:48 , Processed in 0.011217 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表