网易linux面试题,网易招聘笔试题+答案解析

网易游戏2011笔试:

1、对于一个内存地址是32位、内存页是8KB的系统。0X0005F123这个地址的页号与页内偏移分别是多少?

页号:0x2F。也就是地址0x0005F123除以8K的商.

页内偏移: 地址0x0005F123除以8K的余数0x1123

2、如果X大于0并小于65536,用移位法计算X乘以255的值为?

X*255=X*(256-1)=(X<<8)-X 这里的括号不能少,因为移位运算符的优先级较低

3、一个包含n个节点的四叉树,每个节点都有四个指向孩子节点的指针,这4n个指针中有   3n+1      个空指针

解:n个节点的树有n-1条边,而4n个指针有总共会产生4n条边,那么就有4n-(n-1)个空指针。

4、以下两个语句的区别是:int*p1 =newint[10];

int*p2 =newint[10]();

p1指向10个整型空间的首地址,每个整型空间里的值未初始化(为垃圾值),p2指向10个整型空间的首地址,每个整型空间里的值初始化为0。

5、

计算机在内存中存储数据时使用了大、小端模式,请分别写出A=0X123456在不同情况下的首字节是,大端模式:0x12 小端模式0x56     X86结构的计算机使用小端模式

大端模式:0x12,小端模式:0x56,X86采用的是小端模式。大端模式(又称大尾模式)是“低对高,高对低”,即低地址存储高字节,高地址存储低字节。小端模式是“低对低,高对高”。

6、在游戏设计中,经常会根据不同的游戏状态调用不同的函数,我们可以通过函数指针来实现这一功能,请声明一个参数为int *,返回值为int的函数指针:

int  (*p) (int *);

7、下面程序运行后的结果为:

char str[] = "glad to test something";     char *p = str;

p++;

int *p1 = static_cast(p);

p1++;

p = static_cast(p1);

printf("result is %s\n",p);

static_cast (expression)输出:to test something

8、在一冒险游戏里,你见到一个宝箱,身上有N把钥匙,其中一把可以打开宝箱,假如没有任何提示,随机尝试,问:

(1)恰好第K次(1=

(2)平均需要尝试多少次。

b16b212cd456230f6fc73e0f6fa1666c.gif

9、头文件中ifndef / define / endif 是做什么用的?

宏定义。    预编译时防止头文件被重复包含

10、

代码里有时可以看到extern “C”,这语句是做什么用的?

表示用C风格的编译器来编译函数。

11、在下列乘法算式中,每个字母代表0~9的一个数字,而且不同的字母代表不同的数字:

ABCDEFGH

*           AJ

------------------

EJAHFDGKC

+BDFHAJEC

------------------

CCCCCCCCC

请写出推导的过程。

12、输入格式:第一行输入N(N<=100)表示流通的纸币面额数量;第二行N个纸币的具体表示的面额,从小到大排列,取值【1,10^6】。输出格式:输出一个整数,表示应该发行的纸币面额,这个整数是已经发行的所有纸币面额都无法表示的最小整数。(已经发行的每个纸币面额最多只能使用一次)

a98ec2db9a61a70c212527d436873672.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值