当前位置: 代码迷 >> 数据仓库 >> 二零一五年机器学习/数据挖掘面试总结
  详细解决方案

二零一五年机器学习/数据挖掘面试总结

热度:90   发布时间:2016-05-05 15:36:38.0
2015年机器学习/数据挖掘面试总结

                                   2015年机器学习/数据挖掘面试总结

       明年硕士毕业,今年开始找工作。在北方呆的太久,想回湿润的南方。
       第一站(3月份),阿里数据挖掘实习生面试。个人觉得,阿里的面试是最人性化的,几乎不需要提前准备什么。不需要刷题,不需要死记硬背一些概念。他们看重的是你的项目经历和解决实际问题的能力。每一场面试都不难,但是面试的次数是我所知道的公司中最多的。面试的题目有:
1)自我介绍。突出自己的特色就好,废话少说。
2)项目经历。先简述,后详述。一般要描述这个项目的背景,需求,你是怎么做的,结果如何。然后,面试官就会问与其他人相比,你的创新在哪儿,你遇到过哪些坑,你觉得还可以往哪方面改进。如果你是和别人合作的项目,面试官还会问你们是怎样分工的。
3)协同过滤主要有哪些?基于物品的和基于用户的。
4)一道组合数学题。10盏灯,灭三盏,两头的必须亮着,不能灭掉相邻的两盏灯,问组合数?C(6,3) = 20 。
5)PCA有什么用?降维。

       第二站(7月8日),百度商业搜索部门面试。这是我最不堪回首的面试经历。面试官和我的交流很少,沉默寡言,说话很直接。面试结束后,我自我感觉还算良好,问他觉得我怎么样,他很直接地说,很差。我心碎了一地,默默地告诉自己失败是成功之母,然后回去梳理知识。面试题目有:
1)反转链表。一上来就要求在纸上写代码,要求是反转链表。好简单的一道题!我说有递归和非递归解法,先写了递归,然后写了非递归算法,检查三遍,没问题,很开心的交卷。结果因为第一次在纸上写代码,写的可谓是龙飞凤舞,被面试官狠狠的鄙视了,说我的代码写得太丑了。回去后,我在电脑上又写了一遍,感觉也不是很丑啊。http://blog.csdn.net/u011300443/article/details/46804339
2)排列数的生成算法。http://blog.csdn.net/u011300443/article/details/46884681
3)项目经历。他问我用过哪些模型,我说用过GBDT,RF,LR,SVM。然后他接着问SVM原理是什么,SVM核函数的作用。SVM是在给定的数据集上找一个超平面,使得支持向量(超平面两边距离超平面最近的点)到超平面的距离最大。SVM通过引入核函数,巧妙地解决了在高维空间中的内积运算,从而很好地解决了非线性分类问题。
        第三站(7月31日),百度大数据研发部门面试。第一面有两个面试官,第二面的面试官很拽的感觉。面试题目有:
1)最长公共子序列。我一不留神写成求编辑距离的算法了。
2)字符串转整数。
3)哈夫曼编码。给出每个词的频率,为每个词的编码,使得平均编码长度最短。
4)虚函数机制。
       第四站(8月19日),京东面试。面试题目有:
1)设计O(n)空间复杂度的均值平滑算法。
2)最大连续乘积子串。用动态规划求解。
       第五站(8月20日),百度网络搜索部门面试。面试官平易近人,交流起来很舒心。经常聊着聊着,就开始兴奋起来,感觉不像是一场面试,更像是一次朋友的交谈。末了,我还问面试官怎么看待公司喜欢招“熟练工”的问题?他说他们部门更看重项目经历和思维能力,他们部门的员工更像艺术家,而非工程师。面试题目有:
1)给你54张扑克牌,判断是否是顺子。Hash算法。
       第六站(8月27日),阿里搜索部面试。阿里的面试官真的很nice,很有耐心。8月26号,我手机快没电了而且静音了。8月27号早上,面试官给我打电话,因为手机静音所以没听到,结果打了几次后,把我手机打没电了。粗心的我一直没意识到手机没电了,直到下午5点给手机充电时才发现面试官给我的短信。我赶紧回了过去,约在晚上7点半面试。面试官有了早上的经验,提前半小时(7点)开始打我电话,我又没收到,后来发现是忘记取消手机静音了。我还收到面试官发过来的一条略带调侃的短信“又打不通了哦”,一个“哦”字让我的心略略安稳了一些。后来,我打电话给他,他还说以为是我的手机出了问题,然后主动和我聊起了我名字的含义,缓解了我紧张的情绪,才开始进入正题。面试题目有:
1)说一下随机森林的执行过程。
2)基尼指数和信息增益的区别。
3)GBDT和RF的优缺点。
4)他:你有什么想问我的?
我:你们是不是核心部门?
他:当然是的。为什么想去核心部门?
我:我喜欢做有挑战性的工作。
他:如果你能把非核心部门变成核心部门,不是更有挑战性吗?
我:有道理。
————————————————————————————————————
以下,是小猴子遇到的腾讯面试题,非常感谢他的无私奉献。:)
腾讯面试
1)有25匹马 ,5个跑道,一次只能比5匹马,得到跑得最快的前3,至少需要比几次?
答:7次。
2)一个文件中包含超大的N个数,求最大的K个数?
答:最小堆,时间复杂度为N log k 。
3)一个数据流中,如何采样得到100个数,保证采样得到的100个数是随机的?
答:蓄水池抽样算法。
4)如何解决特征共线性的问题?
答:可以利用PCA,特征降维,去除冗余特征和噪声特征。
5)为什么RF和GBRT比LR效果好?
答:混合模型的优势,分别是bagging和boosting的思想,LR毕竟是单模型,而且特征不保证与label是线性的,需要特征转换和拟合。
6)LR正则化L1和L2的区别?
答:L1正则化产生稀疏解,将不相关特征对应的权重设为0,去除不相关特征,进行特征选择,L2正则化进行特征权重衰减。L1正则是拉普拉斯先验,L2正则是高斯先验。两者都能达到防止过拟合,增加模型的泛化能力的目的。

————————————————————————————————————
      找工作和找对象差不多,都是双向选择。被拒不代表你不好,也许是因为你们彼此不适合。找一份最适合你的工作,找一个最适合你的伴侣,人生就很美满了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

  相关解决方案