网易研发类笔试题和面试题答案(二)
5。
1) 例举Linux下多线程编程常用的pthread库提供的函数名并给出简要说明(至少给出5个)
2) pthread库提供哪两种线程同步机制,列出主要API
3) 使用pthread库的多线程程序编译时需要加什么连接参数?
3。2 网易校园招聘笔试题
Char array[] = “abcde”; char* s = array;
Cout<
-------------------------------------------------------------------------------------------
什么是用户级线程和内核级线程?区别。
-------------------------------------------------------------------------------------------
从C++文件到生成exe 文件经过哪三个步骤?
-------------------------------------------------------------------------------------------
有个二维数组 A(6*8),每个元素占 6 字节,起始地址为 1000,请问最后一个元素 A[5][7]的起始地址为??? 数组A占内存大小为??? 假设以行优先,则A[1][4]起始地址为??? 1。 6*8*6=288
2。 1000+(5*8+7)*6=1000+(5+7*6)*6=1282
3。 1000+(1*8+4)*6=1072
4。 1000+(4+7*6)*6=1276
-------------------------------------------------------------------------------------------
用C语言把双向链表中的两个结点交换位置,考虑各种边界问题。
Struct Node
{
Node *Pv;
Node *next;
}
Void exchange(Node *node1,Node *node2)
{
}
-------------------------------------------------------------------------------------------
*。dll,*。lib,*。exe 文件分别是什么,有什么区别?
exe是直接作为进程执行,lib是在运行前就已经载入了的,dll在运行时可以随意被加载的。
-------------------------------------------------------------------------------------------
如右图所示,一个n*m 的矩阵M中,标记0为白色区域,标记 1为黑色区域,白色区域代表可以行走的区域,黑色区域代表阻挡,可以看到,如果在这个矩阵中只向上,下,左,右移动,那么有某些白色区域是不能到达的,我们称为这样的矩阵不是全相通的。
(1) 如何验证一个矩阵是不是全相通?请给出算法思路。
(2) 计算出你的算法的空间复杂度和时间复杂度
(3) 用C/C++编写出代码,并在适当地方加上注释。
-------------------------------------------------------------------------------------------
附加题(20):使用八叉树算法把24位真彩色转化成 256色。24位真彩色包括 R,G,B颜色,每种颜色8 位。
-------------------------------------------------------------------------------------------
有 11 盆花,围成一圈,要求每次组合时,每盆花相邻的两盆花与上次不同,请问有多少排列方法?
-------------------------------------------------------------------------------------------
集合问题,一个村有70 人,进行PVP比赛,共有 4个职业:骑士,牧师,法师,刺客。
已知有34人报名骑士,24人报名牧师,13人报名法师,32人报名刺客,12人既报名骑士又报名牧师,13人既报名牧师又报名法师,……
3 人报名骑士,牧师和法师,……
请问有多少人没有报名?以上数字为捏造。
-------------------------------------------------------------------------------------------
Void foo(int source* src,int *dest,int N)
{
Int count[256],index[256],i;
For(I = 0;i<256;i++) count[i] = 0;
For(I = 0;i
Index[0] = 0;
For(I = 1;i<256;i++) index[i] = index[ i-1] + coun
For(I = 0;i
{
Dest[index[source[i]]] = source[i];
Index[source[i]] = index[source[i]]+1;
}
}
nt main()
{
Int src[] = {3,5,3,6,10,8};
Int dest[] = {0,0,0,0,0,0}
Int N = 6;
Foo(source,dest,N);
}
Dest的结果为?
改错题
Char values[] = “NetEase”;
Int main()
{
Char *buf;
Int d = -1;
Unsigned int ss = sizeof(values)/sizeof(value[0]);
If(d<=ss)
{
Scanf(“%s %d”,buf,d);
Printf(“%s,%s(%d)\n”,values,buf,d);
If(d = 666)
Printf(“you are lucky!”);
}
Return 0;
}
-------------------------------------------------------------------------------------------
2 只宠物合成,1只有 5技能,1 只有4 技能,每个技能有 a%概率遗传,请问刚好有7 个技能遗传成功的概率是?
-------------------------------------------------------------------------------------------
Public class A
{
A(){cout<<”1”;}
A(A &a){cout <<”2”;}
~A() {cout<<”3”;}
}
Public class B
{
B(){cout <<”4”;}
B(B &b){cout<<”5”;}
~B(){cout<<”6”;}
}
Int main()
{
A* pa = B(A());
Delete pa;
Return 0;
} 输出结果为?
3。6 网易笔试题整理(部分含答案)
1。10个人分成4组 有几种分法?
如图:
7 8 9 10
6 1 2 11
5 4 3 12
16 15 14 13
设“1”的坐标为(0,0) “7”的坐标为(-1,-1) 编写一个小程序,使程 序做到输入坐标(X,Y)之后显示出相应的数字。
3。#include
//example input and output
//in 1 2 3 out 1 3 1
//in 123456789 2 100 out 123456789 100 21
long mex(long a,long b,long c)
{ long d;
if(b==0) return 0;
if(b==1) return a%c;
d=mex(a,b/2,c); d*=d;这里忘了;d*=mex(a,b%2,c);d%=c;
return d;
}
int main(void)
{ long x,y,z;
while(1)
{ if(scanf(%d %d %d,&x,&y,&z)>3) return 0;
if(x<0) { printf("too small\n");continue;}
if(y<0) { printf("too small\n");continue;}
if(z<1) { printf("too small\n");continue;}
if(y>z) { printf("too big\n");continue;}
if(z>1000000010) {printf("too big\n");continue}
printf(%d %d %d,x,z,mex(x,y,z);
}}
根据这个程序,当已知一个输入,算出输出,如:输入 1 3 1 则输出 1 2 3 输入 123456789 100 21 输出 123456789 2 100
4。写出对“知之者不如好之者,好之者不如乐之者”的理解。
5。用中文写出尽可能多的中文语句、,要求包含有“都”的意思(all、both之意),但不能有“都”字 全部,大部分,很多,所有,极其多,
6。new/delete和malloc/free的区别,并说说你在什么情况下会自另行建立自己的内存分配机制。
前者是操作符,适合用在c++中,用于解决动态分配问题,可以自动调用构造函数,析构函数。后者没有这个功能,只是函数。
7。求极限lim(x-[x]),x趋于-3。
8。比较两个电路的可靠性。
9。编程题:输入一个正整数,若该数能用几个连续正整数之和表示,则输出所有可能的正整数序列。
10。有两个字符串 str1和str2,写一个函数实现在str1中查找str2的初始位置。要求不区分大小写。
11。在字符串S中寻找最长的字符串x,条件是x存在于S中。即是如:abcabcdcd中的abc。
12。求Fibonacci数列中第k个与前面所有数互质的数(除前面两个数 1,1 )。
13。有100个真币和一个假币,只知道真币与假币不等重,要求只称两次,得出是真币重还是假币重。
14。证明题:给出n个互不相同的分数数列a1/b1,a2/b2… an/bn ,证明(a1 + a2 + … + an) / (b1 + b2 + … + bn) 的值在数列a1/b1,a2/b2… an/bn 数列的最大值和最小值之间。 15。证明题:在三角形中,假设等角对等边,证明大角对大边。
16。文学题:在以下的空白中填入相应的词(蔼、断、淡、泰)并解释其含义。
自处超然,处事 然,无事澄言,处事 言,得意 然,失意 然。
17。问答题:为什么现在的计算机采用二进制?而不是八进制或十六进制?你认为以后的计算机会采用几进制?
18。程序设计题:给出若干个单词,组成字典,要求查找速度最快。
19。有b1/a1,b2/a2,。。。。,bn/an 共n个分数,分母同号,证明:
(b1+b2+。。。+bn)/(a1+a2+。。。+an)的值在上面n个分数值最大制和最小值之间。
20。证明:三角形中大边对大角,已知等边对等角
21。为什么计算机中多用二进制,16进制也用在程序中。你认为有没有可能回出现多进制的计算机,为什么
22。一个没有拷贝构造函数和重载=运算符的String类,会出现什么问题,如何解决?