数据挖掘实习面试

1. 两个方向:

现在能做的也就是,Web开发,分前后段,前端js,后端c#,sql,和数据挖掘,算法部分c++,数据部分Python,Hadoop。

2. 简历上两个错误:

一个是GBDT写成了GBRT,GBDT核心是BOOST迭代过程,重视错误分类。随机森林是大家来决策取众数。二是邮箱的后缀.cn写成了.com。

3.不会:

不会就是不会,不需要解释。我不会Python,我不会Linux,我不熟C++。

4.第一轮电话面试

第一轮就是问到了迪杰斯特拉算法,问题的关键是边松弛,广度优先+损失度量函数。第二是快排,快排的核心是选一个基准和递归的调用。递归是核心。两个问题都很基本。最后就是解释一下机器学习中的逻辑回归算法。

5.第二轮技术面试:

5.1 Hadoop:因为做过阿里巴巴的大数据竞赛,而且他们也是做类似的事情 ,所以对此很感兴趣。

解释一下Hadoop的MapReduce的map和reduce过程。Hadoop就是解决了大数据问题,大到一台计算机无法进行存储,一台计算机无法在要求的时间内进行处理的可靠存储和处理问题。Hadoop框架的核心是:HDFS和MapReduce。HDFS分布式文件系统,为数据提供了存储,类似于阿里的ODPS,MapReduce提供了计算,一个job分为map和reduce两个阶段,采用分治思想。Map函数接受一组数据并将其转换成一个键/值对列表,输入域中的每个元素对应一个键/值对。Reduce函数接受Map函数生成的列表,然后根据他们的键合并同类项。经典实例就是Wordcount,单词计数。看了下面的两幅图,才发现自己之前的理解是错的,map映射是一个分工的过程,reduce减少也就是一个合并的过程。最后再给一个博客的参考链接:http://blog.csdn.net/opennaive/article/details/7514146;清楚明白。


5.2 算法编程:一个九宫格从左上角到右下角的所有走法。

递归解法,就是把一个问题分解成子问题,然后找出最小子问题。动态规划还需要找出问题的求解顺序。

5.3 扩展一个栈Stack,实现三个函数,min(), pop(), push(), 要求时间复杂度是O(1).

因为时间上要求快了,所以考虑牺牲空间换取时间,而且负责度是O(1),不能遍历,所以考虑增加空间,思路是把当前最小值存起来,并且在pop和push操作的时候维护它:a. 如果有比当前最小值大的元素入栈,当前最小值不变;b. 如果有比当前最小值小的元素入栈,当前最小值变为新加入元素。c. 如果有比当前最小值大的元素出栈,当前最小值不变。d.如果有和当前最小值的元素相同出栈,当前最小值变为当前最小值入栈之前那个最小值,当前最小值退出。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值