2015-03-22 网易笔试(数据挖掘方向)——邮件事业部
答案正在更新,有想法的也可以留言............ 一:单选题 1:下列程序的输出结果为() #include <iostream.h> void main() { int n[][] = {10,20,30,40,50,60}; int (*p)[3]; p = n; cout<<[0][0] << "," <<*( p[0] + 1) << "," <<(*p)[2]<<endl; } A: 10,30,50 B: 10,20,30 C: 20,40,60 D: 10,30,60 解析: n[2][3] = { 10,20,30, 40,50,60 }; *( p[0] + 1) = p[i][j] (与此类似的形式还有 *( *( p+i ) + j )) 故等于20 (*p)[2]:*p指的是首行 2代表第三列 所以为 30 答案选B 2:存储以下数据,占用字节最多的是() A: 0 B: '0' C: " 0 " D: 0.0 解:int 在不同位数的计算机上表现出的长度不一样,其长度至少为2字节(在16位的计算机上),在32位的计算机上其长度为4字节,64位的计算机上长度为8字节 char 字段字节长度为8 “0”的长度为2 0.0的长度为8 3: 栈和队列共同的特点是 A: 只允许在端点处插入和删除 B: 都是先进后出 C: 都是先进先出 D: 没有共同点 解:栈和队列都是数据结构中的一种,栈是先进后出,其删除和插入数据只能在端点处进行,对列是先进先出型,插入和删除数据也只能在端点处进行,另外一个比较混淆的点是 栈通常用于深度遍历, 而队列用于广度遍历。 4: 任何一颗二叉树的叶节点在前序,中序,后序遍历序列中的相对次序 A: A和B 右方 B: A 和B祖先 C: A 和B左方 D: A 是B子孙 解:这道题题目的意思给的太迷乱了,所以我的理解也不一定正确,我的理解是A和B是两个叶子节点,共有一个父结点,所以无论是前序,中序还是后序遍历中,A总是在B的左边,所以选择C 5:下列关于MapReduce的说法正确的是? A: MapReduce有多个输入路径时,文件类型必须保持一致 B: 可以使用Counter观察MR Job运行的各种细节数据 C; 使用TextInputFormat时,Mapper的key类型为Text,value类型为LongWritable D: 以上都正确 解:MapReduce有多个输入路径时不需要保证文件类型一致,可以使用MultipleInouts类来指定多个Mapper函数,只要一个Map函数来处理一种类型的文件即可。 MapReduce Counter为提供我们一个窗口:观察MapReduce job运行期的各种细节数据 使用InputFormat时Mapper的key为LongWritable,表示偏移量,Text表示一行的文本 故选择 B 6:PCA降维中用到的算法是: A: 牛顿法 B: sgd C: svd D: Cutting-Plane 解:牛顿法:迭代算法 sgd:梯度下降算法 svd:推荐算法(Singular Value Decomposition) Cutting-Plane:列生成算法 其实小编对这几个算法并不大懂,所以具体的还望大神指导,具体答案小编目测是选B 7: A: 0.59 0.514 B: 1.14 1.02 C: 0.59 1.02 D; 0.514 0.59 解:B 8:请选出用于无监督学习问题的方法 A: SGD B: 反向传播 C: BFGS D: 幂迭代 解:D SGD:梯度下降算法 反向传播:Backpropagation algorithm,简称:BP算法,是一种监督学习算法,常被用来训练多层感知机 BFGS拟牛顿法,详情参考 幂迭代:聚类算法 9:Python中的浅拷贝会创建一个新的对象,但他包含的是对原始对象中包含项的引用,下列哪个操作不涉及浅拷贝 A: copy() B: list() C: 完全切片方法 D: 赋值(=) 解:答案选D 推荐一篇便于理解浅拷贝和深拷贝的文章:点击阅读 思路一:利用切片操作和工厂方法list方法拷贝就叫浅拷贝,只是拷贝最外围的对象本身,内部的元素都只是拷贝了一个引用而已。 思路二:利用copy中的deepcopy方法进行拷贝就叫做深拷贝,外围和内部元素都进行了拷贝对象本身,而不是引用。 但是对于数字,字符串和其他原子类型对象等,没有被拷贝的说法,即便是用深拷贝,查看id的话也是一样的,如果对其重新赋值,也只是新创建一个对象,替换掉旧的而已。 10:有一个文件ip.txt ,每行一条ip记录,共若干行,下列哪个命令可以实现统计出现次数最多的前三个ip及其次数 A: uniq -c ip.txt | sort -rn | head -n 3 B: sort ip.txt | uniq -c | sort -rn | head -n 3 C: cat ip.txt | count -n | sort -rn | head -n 3 D: cat ip.txt | sort | uniq -c | sort -rn | top -n 3 解:B linux基本命令具体自行百度 二:多选题 11:ls -l 显示如下 -rwxrw-r-- 1 aaa bbb 0 3月 4 11:21 ccc 下列那些说法是正确的/ A: 该文件是个目录 B: 该文件拥有者所在的组用户有权限修改文件 C: 该文件的权限数字表示为764 D: 该文件的拥有者是bbb 解:BC 参考 12:下列属于线性分类器的是 A: 决策树 B; 带和核函数的SVM C: logistics回归 D: 感知器 解:BCD 线性分类器:单层感知器网络、贝叶斯 非线性分类器:多层感知器网络、决策树 SVM本身是线性分类器,带核函数之后相当于把低维空间的数据映射到高维空间,之后就可以用线性分类器进行分类了 13: 下列常用的机器学习模型中那些属于生成模型 A: 朴素贝叶斯 B: 隐马尔可夫 C: 感知机 D: 决策树 解:B 朴素贝叶斯和隐马尔可夫是生成模型 感知机,决策树是判别模型 关于生成模型和判别模型结束 14:下列说法正确的是 A:StringBuilder是线程不安全的 B: java类可以同时用abstract 和 final声明 C: HasnMap中,使用get(key)==null 可以判断这个hashmap是否包含这个key D: volatike关键字不保证对变量操作的原子性 解:A,C,D abstract类是抽象类,必须做父类 15:Python中怎样替换一个字符串 A: String模块的sub函数 B: re模块的replace()函数 C: re模块的subn()函数 D: re模块的sub()函数 解:B,C,D A中string模块meiyousub方法,有replace函数 16:Spark中的RDD的持久化操作,下面说法正确的是? A: 调用persist()之后不需要主打unpersist() B: MEMORY_ONLY_SEP模式比MEMORY_ONLY模式快 C: OFF_HEAP模式不需要序列化数据 D: MEMORY_ADD_DISK模式当内存放马不下数据时会将部分数据存储到磁盘中 解:B,C,D 楼主不懂Spark,是百度之后的答案,仅供参考 17:对154个元素组成的有序表进行二分法查找,可能的比较次数为: A: 10 B: 8 C: 4 D: 1 解:画一个二叉树共八层,所以小于等于8即可 B,C,D 18:有一棵二叉树的前序遍历和后序遍历分别是1,2,3,4和4,3,2,1,则该二叉树的中序遍历可能是 A: 1,2,3,4 B: 2,3,4,1 C: 3,2,4,1 D: 4,3,2,1 解:C,D 19:已知logistic回归分类器的分类阀值是0.5,训练集中正负类比例为3:1,预测性能中正类的precision为0.88 recall为0.81 ,以下那些处理手段可能提高预测结果中正类的recall A: 降低分类判断的阀值为0.3 B: 训练集中正负类的训练比例调整为6:1 C: 加大logistic回归的正则项的权重值 D: 降低logistic回归的正则项的权重值 解: 20:以下随机变量的概率图模型,那些图是满足p( c,b | a) = p(c | a)p(b |a ) A: B: C: D: 解:A,C(楼主不太懂的路过,,,,,) 三:主观题 21: 解: 22: 解: 23:请描述Java的Thread类中的start()和run()两个方法的区别? 解: 24:(1)在SVM模型中,核函数的作用是什么?存在哪几种核函数 (2)对于SVM模型来说,松弛变量有何作用? 25:现在有两种类型的文字新闻:体育新闻和财经新闻各10000条(已分好类),想以此作为训练样本实现一个这两种新闻的自动分类器,请描述如何实现(从如何将一条新闻转化为一条用于训练的特征向量) 解: