网易数据挖掘笔试题

 

第一部分 填选题

(选择题全都是不定项选择)

1. e1, e2, e3, e4按顺序依次入栈,以下可能的出栈顺序有()

A. e2, e3, e4, e1

B. e1, e2, e4, e3

C. e3, e2, e4, e1

D. e2, e4, e3, e1

ABCD


2. 运算式X=A+B*(C-D)/E可能的后缀表达式()

A. XABCDE/-*+=

B. XABC-DE/*+=

C. XABCD-*E/+=

D. XAB+CD/E-*=

画出表达式树然后后序遍历(*和+可交换左右子树),只有C满足


3. 非稳定排序有()

A. 冒泡排序 B归并排序 C快速排序 D堆排序 E希尔排序

冒泡是稳定的,归并无需交换也是稳定的,快牌需要非相邻交换不稳定,堆排是选择排序的变种也需要非相邻交换不稳定,希尔的不同插入排序过程中元素可能被交换也是不稳定的,答案CDE。


4. 一个有n个结点的四叉树,每一个结点都有4个指向子节点的指针,问有多少个空指针_______。

答:初始1个结点,4个空指针,每多1个结点则多3个空指针。4+3*(n-1)=3n+1


5. 一个函数,求运行结果

  1. int func(int i)  
  2. {  
  3. unsigned int temp = i;  
  4. temp = (temp & 0x55555555) + (temp & 0xaaaaaaaa)>>1);  
  5. temp = (temp & 0x33333333) + (temp & 0xcccccccc)>>2);  
  6. temp = (temp & 0x0f0f0f0f) + (temp & 0xf0f0f0f0)>>4);  
  7. temp = (temp & 0xff00ff) + (temp & 0xff00ff00)>>8);  
  8. temp = (temp & 0xffff) + (temp & 0xffff0000)>>16);  
  9. return temp;  
  10. }  
int func(int i)
{
unsigned int temp = i;
temp = (temp & 0x55555555) + (temp & 0xaaaaaaaa)>>1);
temp = (temp & 0x33333333) + (temp & 0xcccccccc)>>2);
temp = (temp & 0x0f0f0f0f) + (temp & 0xf0f0f0f0)>>4);
temp = (temp & 0xff00ff) + (temp & 0xff00ff00)>>8);
temp = (temp & 0xffff) + (temp & 0xffff0000)>>16);
return temp;
}
问func(0x7f530829)输出多少()

A15 B16 C17 D18

函数实现的是二进制下1的个数,一共15个选A。


6. 进程和线程的区别()

A. 操作系统只能调度进程,不能调度线程

B. 线程可以共享内存地址空间,进程不能

C. 线程可以共享内存数据,进程不能

D. 进程可以用IPC进行通信,线程不行

操作系统可以调度线程;进程可以通过共享内存进行通信;进程的进程间通信IPC不一定适用于线程(关于进程线程通信,可以看看wonder的这篇总结http://blog.csdn.net/wonderwander6642/article/details/8008241)。答案D。


7. 关于段页式管理,哪个说法是正确的()

A. 每个进程一个段表,一个页表

B. 每个进程一个段,一个页

C. 每个进程一个段表,每段一个页表

D. 每个进程一个页表

为实现段页式存储管理,系统应为每个进程设置一个段表,包括每段的段号,该段的页表始址和页表长度。每个段有自己的页表,记录段中的每一页的页号和存放在主存中的物理块号。C


8. 关于TCP协议,哪个说法是错误的()

A. 当连接关闭过程中,两端socket都要经过TIME_WAIT状态

B. 一个established的TCP连接,shutdown可以让主动调用端进入半关闭

C. TCP协议默认保证了当一端崩溃,另一端能自动检测失效

D. 只有established的连接可以收发信息,其他都不能

主动关闭的Socket端会进入TIME_WAIT状态,并且持续2MSL(maximum segment lifetime最大分节生命期)时间长度;

举个例子,说明客户端shutdown关闭socket过程:客户端调用shutdown,客户端向服务器发送了FIN,服务器确认ACK,然后发送完tcp对列中的数据PSH ACK,客户端确认ACK,然后向客户端发送FIN标志,客户端确认ACK。与closesocket关闭连接不同,shutdown关闭了发送数据通道,而没有关闭接收数据通道,因此主动调用端近日半关闭;

对于每个TCP连接,TCP管理4个不同的定时器。
(1)重传定时器用于当希望收到另一端的确认。
(2)坚持定时器使窗口大小信息保持不断流动,即使另一端关闭了其接收窗口。
(3)保活定时器可检测到一个空闲连接的另一端何时崩溃或重启。
(4) 2MSL定时器测量一个连接处于TIME_WAIT状态的时间。

答案A


9. 关于主键Primary Key和索引index,以下说法错误的有()

A. 唯一索引列允许为NULL

B. 一个关系表中的外键必为另一表的主键

C. 一个关系表只能有一个唯一性索引

D. 索引只用于查询操作,对插入操作影响不大

如果某列有多行包含 NULL 值,则不能在该列上创建唯一索引。同样,如果列的组合中有多行包含 NULL 值,则不能在多个列上创建唯一索引。在创建索引时,这些被视为重复的值。而主键的值不可重复,也不可为空(NULL)。

 

主键

外键

索引

定义:

唯一标识一条记录,不能有重复的,不允许为空

表的外键是另一表的主键外键可以有重复的可以是空值

该字段没有重复值,但可以有一个空值

作用:

用来保证数据完整性

用来和其他表建立联系用的

是提高查询排序的速度

个数:

主键只能有一个

一个表可以有多个外键

一个表可以有多个惟一索引

错误的有C


10. 数据库中事务隔离分为4个级别,其中允许“不可重复读”的有()

A. SERIALIZABLE 

B. READ COMMITTED

C. READ UNCOMMITTED

D. REPEATABLE READ

事务的隔离级别,从级别低到高依次为:

READ UNCOMMITTED 幻像读、不可重复读和脏读都允许。111
READ COMMITTED 允许幻像读、不可重复读,但不允许脏读。110
REPEATABLE READ 允许幻像读,但不允许不可重复读和脏读。InnoDB默认级别。100
SERIALIZABLE 幻像读、不可重复读和脏读都不允许。000

关于脏读,不可重复读,幻象读定义可以参阅http://blog.csdn.net/memray/article/details/8051893

答案BC


11. 如果F(n)表示数列的第n项,其中定义如下

F(1)=1, F(2)=2, F(n)=F(n-1)+F(n-2) (n>=3)

请写出一个函数求解F(n),并列出运算复杂度,要求运算复杂度小于O(n^2)。

答:编程实现题,只要不用F(n){F(n)=F(n-1)+F(n-2);}这种暴力递归就行(复杂度O(2^n))就行。


第二部分 专业知识(简答题)

1. 数据预处理在数据挖掘中是一个重要的步骤,请你谈谈你对数据预处理的理解

2. 请说出你对中文分词的理解,并谈谈它的难点和切分算法

3. 请列举并说明几个知名的分类算法

4. 请阐述K-均值聚类算法

5. 如果设计一个商品推荐系统,请谈谈你的思路

6. 请你谈谈你对观点挖掘的理解

网易互联网产品类笔试基础题还是比较细节的,有些知识点忘记了就有点答不上来。数据挖掘岗位的专业题比较专一点,没有学过数据挖掘背景的同学可能比较吃亏。

欢迎大家多多讨论吧~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值