1. 使用深度优先算法遍历下图,遍历的顺序为()
A ABCDEFG B ABDCFEG
C ABDECFG D ABCDFEG
分析:
概念题,答案C
2. 输入序列ABCABC经过栈操作变成ABCCBA,下面哪些是可能的栈操作( )
A. push pop push pop push pop push push push pop pop pop
B. push push push push push push pop pop pop pop pop pop
C. push push push pop pop pop push push pop pop push pop
D. push push push push pop push pop push pop pop pop pop
分析:
A:ABCCBA
B:CBACBA
C:CBACBA
D:ABCCBA
答案AD
3. 下列关键码序列哪些是一个堆( )
A. 90 31 53 23 16 48 B 90 48 31 53 16 23
C 16 53 23 90 3148 D.16 31 23 90 53 48
分析:
A是大堆,D是小堆.
答案AD
4. 稀疏矩阵压缩的存储方法是:()
A 三元组 B 二维数组 C 散列 D 十字链表
分析:
答案AD.
5. 二叉树的后序排列DBEFCA,中序排列DBAECF,那么对其做先序线索化二叉树,节点E的线索化指向节点()
A BC B AC C DF D CF
分析:
前序排列ABDCEF
前驱是C,后继是F.
答案D
6. 线性结构的是()
A 串 B 链式存储栈 C顺序存储栈 D 顺序存储二叉树
分析:
概念题,答案AC
7. Linux命令是哪些()
A ls B mkdir Cmagnify D man
分析:
据说magnify是放大镜实用程序...
在Windows下测试成功...
在Linux下...真心搞不懂...无法考证...难道老版本的某个桌面版有?
答案ABD
8. Unix系统中,适合任意两个进程通信的是()
A FIFO B PIPE C Message Queue D sharememory
分析:
A:先入先出?
B:管道
C:消息队列
D:共享内存
答案BCD
9. Windows系统中,不适合进程通讯的是()
A 临界区 B 互斥量 C 信号量 D 事件
分析:
临界区只能用于线程通讯
BCD可以用来跨进程通讯
答案A
10. 下面的内存管理模式中,会产生外零头的是()
A 页式 B段式C 请求页式 D 请求段式
分析:
页式会产生内零头
段式会产生外零头
答案BD
11. Linux执行ls,会引起哪些系统调用()
A nmap B read C execve D fork
分析:
fork一个新进程->read目录
答案BD
12. a 是二维数组,a[i][j]的指针访问方式为:()
A *(a+i+j) B *(*(a+i)+j) C *(a+i)+j D *a+i+j
分析:
a->a[0]地址的值
(a+i)->a[i]地址的值
*(a+i)->a[i][0]地址的值
*(a+i)+j->a[i][j]地址的值
*(*(a+i)+j)->a[i][j]的值
答案B
13 输出以下结果:
#define add(a,b) a+b;
Intmain()
{
Printf(“”,3*add(4,7));
}
A 33 B 19 C 25 D 49
分析:
3*4+7=19
答案B
14 对于以下代码,char * p= new char[100]
A p 和 new出来的内存都在栈上
B p 和 new出来的内存都在堆上
C p在栈上 new出来的在堆上
D p在堆上 new出来的在栈上
分析:
基础题,答案C
15 进程A读取B进程中的某个变量(非共享内存),可行的方式()
A 进程向消息队列写入一个包含变量内容的消息,B进程从队列中读出
B 通过本地环路通信
C 如果A、B 非亲属,那么A通过命名管道把这个变量的地址发给B进程
D 如果 B是A 进程,那么B直接读取变量内容即可
分析:
概念记忆,没理解...
答案AC
16 使用 send发送大量小的数据包,说法正确的是()
A 带宽利用率低 B 网卡吞吐很高 C 网卡中断频繁 D 进程上下文切换频繁
分析:
暂时无能
17 TCP的握手与分手 可能出现的情形是()
A 握手需要3次通信
B 分手需要进行4次通信
C Fin和ACK 在同一包里
D ACK 和SYN 在同一包里
分析:
A:握手SYN->SYN,ACK->SYN,ACK
B:分手FIN->ACK->FIN->ACK
答案ABD
19. 新窗口打开网页,以下哪个()
A _self B _blank C _top D _parent
分析:
答案B
20.二进制数01011011转化为十进制为()
A 103 B 91 C 171 D 71
分析:
64+16+11=91
答案B
21 版本控制软件是哪些()
A bugzilla B subversion C Git D loadrunner
分析:
答案BC
22 Select A,B from Table1 where A between 60 and 100 order by B,下面哪些优化sql性能()
A 字段A 建立hash索引,字段B btree索引
B 字段A 建立hash索引,字段B不建立索引
C 字段A 建立btree索引,字段B不建立索引
D 字段A 不建立 索引,字段B建立btree索引
分析:
B-tree可以用来快速搜索范围
hash对排序没什么帮助
选C
23 数据索引的正确是()
A 1个表只能有一个聚族索引,多个非聚族索引
B 字符串模糊查询不适合索引
C 哈希索引有利于查询字段用于大小范围的比较查询
D 多余的索引字段会降低性能
分析:
A聚族索引与物理存储有关,只能建立一个,故对
B一定是错的,如果是右模糊,还可以建立类似字典的数据结构,如果是左右模糊,明显并没有十分合适的方法
C哈希利用分桶模式,故对
D明显对
答案ACD
24 CPU与外设的传输数据的方式是()
A 程序方式 B中断 C DMA D 通道方式
分析:
答案ABCD
25 式子7*15=133成立,则用的是几进制()
A 6 B 7 C 8 D 9
分析:
7*13 = 91
91=64+3*8+3*1
答案C
26. MySQL中表test选择10条到20条记录的语句是()
分析:
答案SELECT * FROM test LIMIT 9,11
27. 若信号S为9,则S经过15次P和14次V,S为()
分析:
答案8
28. 页面走向:4 3 2 1 4 3 5 4 3 2 1 5 4,当分配的内存物理快数4(开始为装入),采用LRU淘汰算法,产生多少次缺页()
分析:
4->1
3 4->2
2 3 4->3
1 2 3 4->4
4 1 2 3
3 4 1 2
5 3 4 1->5
4 5 3 1
3 4 5 1
2 3 4 5->6
1 2 3 4->7
5 1 2 3->8
4 5 1 2->9
答案9
29. 评估算法优势,通常从()和()两个方面考察
分析:
答案时间复杂度和空间复杂度
30. G是一个邻接表,以V1为起点,深度优先遍历序列V1V2V3V6V5V4,从V1开始的广度优先遍历序列是()
分析:
答案V1->V2->V5->V4->V3->V6
31.20*20*20的魔法,8000个小正方体,如果剥取最外一层,还剩下多少个方块()
分析:
答案18的3次方
32.
(1)如果A投硬币是正面的,B给A 1美金
(2)如果A投的是反面,就再投,为正面,B给A 2美金
(3)如果还是反面,就再投,为为正面,B给A 4 美金
(4)假设A投的是反面,就投到正面为止,B就给A 的2的(n-1)次方
如果A、B玩这样的硬币游戏,A至少要给B多少钱B才不会亏钱()
分析:
每种条件0.5,轮次n...需要给0.5*n美金
33.左轮手枪,左轮手枪,有6个弹巢,两颗子弹放进相邻的弹巢,拨动转轮,然后拿着这把枪朝我自己扣动,但我还活着,现在轮到你了,你有两种选择
(1)在扣动一次转轮,把枪对准自己,扣动扳机
(2)不拨动转轮,直接对准自己,扣动扳机
假设你还不想死,你选择哪种()原因()
分析:
扣动一次 死的几率是1/3
不扣动,死的几率是1/4
答案2
附加题:
34.描述mapreduce的执行过程,最好用画图的方式表示。
分析:
简单说,
先执行完map,产生中间结果,再执行reduce
详细点说,
客户端先向master Server发送请求,再让Chunk Server进行调度,map数据.
再reduce数据,将分布结果处理完,返回客户端.
比如:
map输入:
Work 1:You are a student.
Work 2:I am one student.
Work 3:He is a student.
map输出:
Work 1:{"You",1},{"are",1},{"a",1},{"student",1}
Work 2:{"I",1},{"am",1},{"one",1},{"student",1}
Work 3:{"He",1},{"is",1},{"a",1},{"student",1}
reduce输入:
Work 1:{"You",1}
Work 2:{"are",1}
Work 3:{"a",1},{"a",1}
Work 4:{"student",1},{"student",1},{"student",1}
Work 5:{"I",1}
Work 6:{"am",1}
Work 7:{"one",1}
Work 8:{"He",1}
Work 9:{"is",1}
reduce输出:
Work 1:{"You",1}
Work 2:{"are",1}
Work 3:{"a",2}
Work 4:{"student",3}
Work 5:{"I",1}
Work 6:{"am",1}
Work 7:{"one",1}
Work 8:{"He",1}
Work 9:{"is",1}
35.数据库A的ID从20120120300001到20120120399999,更新ID从00001到99999,递增加1,不重复,不间断(并保持高并发的性能)
分析:
应该逆序进行事务即可,待会验证一下