1.1 使用C语言将一个1G字节的字符数组从头到尾全部设置为字符“A”,在一台典型的当代PC上,需要花费的CPU时间的数量级最接近:
A 0.001秒 B 1秒 C 100秒 D 2小时
1.2 在某些极端要求性能的场合,我们需要对程序进行优化,关于优化,以下说**确的是:
A 将程序整个用汇编语言改写会大大提高程序性能。
B 在优化前,可以先确定哪部分代码最为耗时,然后对这部分代码使用汇编语言编写。使用的汇编语句数目越少,程序就运转越快。
C 使用汇编语言虽然可能提高了程序性能,但是降低了程序的可移植性和可维护性 ,所以应该绝对避免。
D 适当调整汇编指令的顺序,可以缩短程序运行的时间
1.3对如下C语言程序在X86 PC上面运行时候的输出叙述正确的是:
char *f()
{
char X[512];
sprinf (X, "hello world");
return X+6;
}
main()
{
printf("%s", f());
}
A 程序可能崩溃,也可能输出hello world
B 程序可能崩溃,也可能输出hello
C 程序可能崩溃,也可能输出world
D程序一定崩溃
1.4. 双败淘汰赛和淘汰赛相仿,也是负者出局,但负一场后并未被淘汰,只是跌入负者组,在负者组再负者(即总共已负两场)才被淘汰。现在有10个人参加双败淘汰赛,假设我们取消最后的胜者组冠军VS负者组冠军的比赛,那么一共需要举行多少场比赛?
A. 16 B. 17 C. 18 D. 19 E. 20
1.5.加入某主机安装了2GB内存,在其上运行的某支持MMU的32位Linux发行版中,一共运行了X,Y,Z三个进程,下面关于三个内存使用程序的方式,哪个是可行的?
A. X,Y,Z的虚拟地址空间都映射到0~4G虚拟地址上
B. X在堆上分配总大小为1GB的空间,Y在堆上分配200MB,Z在堆上分配500MB,并且内存映射访问一个1GB的磁盘文件。
C . X在堆上分配1GB,Y在堆上分配800MB,Z在堆上分配400MB
D . 以上为访问方式都是可行的
1.6 .当你使用TCP协议进行编程时,下列问题哪个是必须由程序员考虑和处理的?
A . 乱序数据包的重发 B. 数据传输过程中的纠错
C. 网络拥塞处理 D . 发送数据的格式和应用层协议 |