网易2013校园招聘笔试题集锦

时间:2021-09-17 18:54:49
  第一部分(必做):计算机基础类
(所有的选择题都是多项选择)

1、假设进栈次序是e1, e2, e3, e4,那可能的出栈次序是()
A、e2, e4, e3, e1
B、e2, e3, e4, e1
C、e3, e2, e4, e1
D、e1, e2, e4, e3

2、表达式X=A+B*(C-D)/E的后缀表示形式可以是()
A、XAB+CDE/-*=
B、XA+BC-DE/*=
C、XABCD-*E/+=
D、XABCDE+*/=
3、以下排序算法是非稳定排序的是()
A、冒泡排序      B、归并排序       C、快速排序         D、堆排序      E、希尔排序
4、一个包含n个结点的四叉树,每一个节点都有4个指向孩子节点的指针,这4n个指针有(3*n+1)个空指针.
4*n-(n-1) = 3*n+1
5、请问func(0x7f530829)的返回值是()
int func(unsigned 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;
}
A、15            B、16            C、17           D、18
函数实现的是求二进制表示的时候,1的个数,一共15个
最开始把每一个位看做一个节点,相邻节点值相加,结果用两个位表示。。。
然后每两个位看做一个节点,相邻节点值相加,结果用四个位表示。。。
以此类推,直到只剩下一个节点。。。
6、进程和线程的差别有()
A、操作系统只调度进程,不调度线程
B、线程共享内存地址空间,进程不共享
C、线程可以共享内存数据,但进程不可以
D、进程间可以通过IPC通信,但线程不可以
7、关于段页式管理中,地址映像表是()
A、每个进程一张段表,一张页表
B、进程的每个段一张段表,一张页表
C、每个进程一张段表,每个段一张页表
D、每个进程一张页表,每个段一张段表
8、关于TCP协议,下面哪种说法是错误的()
A、TCP关闭连接过程中,两端的socket都会经过TIME_WAIT状态
B、对一个Established状态的TCP连接,调用shutdown函数可以让主动调用的一方进入半关闭状态
C、TCP协议默认保证了当TCP的一端发生意外崩溃(当机、网线断开或路由器故障),另一端能自动检测到连接失效
D、在成功建立连接的TCP上,只有在Established状态才能收发数据,其他状态都不可以。
9、关于主键Primary Key和索引index的说法哪些是错误的?()
A、唯一索引的列允许为NULL值
B、一个关系表中的外键必定是另一表中的主键
C、一个表中只能有一个唯一性索引

D、索引主要影响查询过程,对数据的插入影响不大
10、数据库的事务隔离级别一般分为4个级别,其中可能发生“不可重复读”的事物级别有()
A、SERIALIZABLE
B、READ COMMITTED
C、READ UNCOMMITTED

D、REPEATABLE READ
11、如果F(n)为该数列的第n项,那么这句话可以写成如下形式:
F(1)=1,F(2)=1,F(n)=F(n-1)+F(n-2) (n>=3)
请实现该函数F(n)的求解,并给出算法复杂度,要求算法复杂度小于O(n^2)。
思路:使用矩阵的二分求幂可以明显加快速度,减少空间复杂度。

       第二 部分(必做):程序设计
1、下面的程序的输出是什么?
#include<stdio.h>

int main(void)
{
int n;
char y[10] = "ntse";
char *x = y;
n = strlen(x);
*x = x[n];
x++;
printf("x=%s\n",x);
printf("y=%s\n",y);
return 0;
}
输出:
x=tse
y=
因为n=4,则*x = x[n];  的功能是将x指向的第一个字符n修改为\0,这样y字符串就结束了,所以第二输出为空,x++操作后,x指向第二个字符t,所以第一个输出为:tse。
2、请给出下面程序的输出结果,并说明原因。
#include<iostream>
#include<vector>
using namespace std;

template<class t>
class array
{
public:
array(int size);
size_t getVectorSize()
{
return _data.size();
}
size_t getSize()
{
return _size;
}
public:
vector<t> _data;
size_t _size;
};

template<class t>
array<t>::array(int size) : _size(size) , _data(_size)
{ }



int main(void)
{
array<int> *arr = new array<int>(3);
cout<<arr->getVectorSize()<<endl;
cout<<arr->getSize()<<endl;

return 0;
}
原因:




数据挖掘岗位    第三部分 专业知识(简答题)
1、数据预处理在数据挖掘中是一个重要的步骤,请你谈谈你对数据预处理的理解
2、请说出你对中文分词的理解,并谈谈它的难点和切分算法
3、请列举并说明几个知名的分类算法
4、请阐述K-均值聚类算法
5、如果设计一个商品推荐系统,请谈谈你的思路
6、请你谈谈你对观点挖掘的理解

最新笔试题