1、2020下半年基础知识(上午题)
1、某计算机系统的CPU主频为2.8GHz。某应用程序包括3类指令,各类指令的CPI(执行每条指令所需要的时钟周期数)及指令比例如’下表所示。执行该应用程序时的平均CPI为( );运算速度用MIPS表示,约为( )。
A、25 B、3 C、3.5 D、4
A、700 B、800 C、930 D、1100
答案是CB
机器字长:CPU一次能处理数据的位数,与CPU寄存器的位数有关
CPU主频(时钟频率,单位是HZ,GHZ):CPU内数字脉冲信号的振动频率,脉冲信号的作用(指挥CPU内部所有的部件一步一步工作的一个节奏)
CPU时钟周期:每个脉冲信号的时间,单位通常是微秒或纳秒,CPU主频和时钟周期互为倒数
CPI:每一条指令执行需要多少个时钟周期,该指标影响因素(主存的负载、指令具体的实现)比较多,因此一般会采用平均CPi
执行一条指令的耗时=CPI*CPU时钟周期
(K|M)IPS:每秒执行多少个指令,IPS=主频/平均CPI
平均CPI=35%*4+45%2+20%*6=3.5
IPS=主频/平均CPI=2.8G/3.5=8乘以10的8次方,MIPS=8乘以10的2次方
2、路由协议称为内部网关协议,自治系统之间的协议称为外部网关协议,以下属于外部网关协议的是( )。
A、RIP B、0SPF C、 BGP D、UDP
答案是C
这题不应该错,用排除法,A和B是有名的路由协议,D是传输层协议,因此选C
3、某表达式的语法树如下图所示,其后缀式(逆波兰式)是( )。
A、abcd-+* B、ab-c+d* C、abc-d*+ D、ab-cd+*
答案是C
二叉树法:将最终进行的运算符记为根节点,将两边的表达式分别记为左右子树,依次进行直到所有的运算符与数字或字母标在一棵二叉树上。然后对二叉树进行后序遍历即可。
本题答案其实只要后序遍历就能得出。
4、用C/C++语言为某个应用编写的程序,经过( )后形成可执行程序。
A、预处理、编译、汇编、链接 B、编译、预处理、汇编、链接
C、汇编、预处理、链接、编译 D、链接、预处理、编译、汇编
答案是A
5、对数组A=(2,8,7,1,3,5,6,4)用快速排序算法的划分方法进行一趟划分后得到的数组A为( )(非递减排序, 以最后一个元素为基准元素)。进行一趟划分的计算时间为( )。
A、(1,2,8,7,3,5,6,4) B、(1,2,3,4,8,7,5,6)
C、(2,3,1,4,7,5,6,8) D、(2,1,3,4,8,7,5,6)
A、0(1) B、0(Ign) C、0(n) D、0(nlgn)
答案是C C
快速排序思想:
1、从数组中选取一个元素作为基准值(一般是第一个),将待排序的数组分成左右两部分,左边的部分小于基准值,右边的部分大于基准值;
2、使用左右两个指针向中间移动(可以约定右指针先移动),左边的指针移到到比基准值大的下标时停下,右边的指针移动到比基准小的下标时停下, 然后双方交换数组元素,继续向左、向右移动;
3、当左右指针重合时,有两种情况:
- 基准值大于重合处元素:将基准值与重合处元素交换,一轮结束,以重合处下标为分界线,分成左右两部分,递归排序;
- 基准值小于等于重合处元素:将基准值与重合处上一个元素交换,一轮结束,以重合处上一个下标为分界线,分成左右两部分,递归排序;
6、某简单无向连通图G的顶点数为n,则图G最少和最多分别有( )条边。
A、n,n2/2 B、n-I,n*(n-1)/2 C、n,n*(n-1)/2 D、n-1,n2/2
答案是B
连通图不一定要成环,只要连通即可,因此最少n-1条边
2、2019上半年基础知识(上午题)
1、某系统由3个部件构成,每个部件的千小时可靠度都为R,该系统的千小时可靠度为(1-(1-R)的平方)乘以R,则该系统的构成方式是(4)。
A.3个部件串联 B.3个部件并联
C.前两个部件并联后与第三个部件串联
D.第一个部件与后两个部件并联构成的子系统串联
答案是C
可靠度R是一个百分数。
串联的话则要求都可靠才可靠,因此串联系统可靠度=R乘以R乘以R。
并联则只要有一个可靠就可靠,可以先计算三个都不可靠的概率为(1-R)乘以(1-R)乘以(1-R),其它的都是可靠的,因此并联系统可靠度=1-(1-R)的三次方
以此类推,答案C的可靠度是(1-(1-R)的平方)乘以R
2、以下关于RISC(精简指令系统计算机)技术的叙述中,错误的是(6)。
A.指令长度固定、指令种类尽量少
B.指令功能强大、寻址方式复杂多样
C.增加寄存器数目以减少访存次数
D.用硬布线电路实现指令解码,快速完成指令译码
答案是B
RISC技术:精简指令集计算机
- 28规律:当指令太多,然而典型程序中80%的语句仅用到20%的指令,使用频率高的指令会因为指令集庞大导致运行速度变慢
- RISC只包含一些简单指令,复杂指令的功能由简单指令来组合
- 指令长度固定、格式种类少、寻址方式少
- 只有LOAD/STORE指令能访存
- CPU中有多个通用寄存器
- 采用流水技术,一个时钟周期内完成一条指令(Cisc由于指令功能复杂,规整性不好,不利于采用流水线技术来提升性能。Risc指令集,指令相对规整,功能简单,适合采用流水线技术来提高性能)
- 采用组合逻辑实现控制器:硬布线逻辑
CISC:复杂指令集计算机
- 指令集庞大
- 指令长度不固定、格式种类多、寻址方式多
- 访存指令不受限制
- CPU中有专用寄存器
- 大多数指令需要多个时钟周期才能完成
- 采用微程序控制器:存储程序逻辑
3、某项目的活动持续时间及其依赖关系如下表所示,则完成该项目的最少时间为(18)天
A.43 B.45 C.50 D.55
答案是D
这个题不是找最短路径,如果是找最短路径,那答案应该是B。
但这个是项目活动依赖图,每一步都要走到,因此需要计算所有路径的天数之和,然后取最大的那个。为什么取最大的,因为每一条路径都要完成,所以总的天数按持续时间最长的那条路径算。
4、以编译方式翻译C/C++源程序的过程中,(21)阶段的主要任务是对各条语句的结构进行合法性分析。
A.词法分析 B.语义分析 C.语法分析 D.目标代码生成
答案是C
词法分析阶段依据语言的词法规则,对源程序进行逐个字符地扫描,从中识别出一个个“单词”符号,主要是针对词汇的检查。
语法分析的任务是在词法分析的基础上,根据语言的语法规则将单词符号序列分解成各类语法单位,如“表达式”“语句”和“程序”等。语法规则就是各类语法单位的构成规 则,主要是针对结构的检查。
语义分析阶段分析各语法结构的含义,检查源程序是否包含语义错误,主要针对句子含义的检查
5、以下关于极限编程(XP)的最佳实践的叙述中,不正确的是(30)。
A.只处理当前的需求,使设计保持简单
B.编写完程序之后编写测试代码
C.可以按日甚至按小时为客户提供可运行的版本
D.系统最终用户代表应该全程配合XP团队
答案是C
极限编程提倡小型版本发布,每一轮迭代大约2周,所以选项“可以按日甚至按小时为客户提供可运行的版本”错误
6、已知模块A给模块B传递数据结构X,则这两个模块的耦合类型为(32)。
A.数据耦合 B.公共耦合 C.外部耦合 D.标记耦合
答案是D
数据耦合:一个模块访问另一个模块时,彼此之间是通过简单数据参数 (不是控制参数、公共数据结构或外部变量) 来交换输入、输出信息的。
公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。
外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。
标记耦合 :一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。本题描述的是标记耦合。