1
1 设顺序循环队列Q[0: M-1]的头指针和尾指针分别为F和R.头指针F总是指向队头元素的前一位置.尾指针R总是指向队尾元素的当前位置.则该循环队列中的元素个数为() 2 A、 (R-F+M)%M 3 B、 R-F 4 C、 (F-R+M)%M 5 D、 F-R
正确答案: A
A 待处理数据的状态
B 处理器的速度
C 问题的规模
D 程序所占空间
正确答案: A C
解析:
比如说快排,初始数据的顺序影响快排的时间复杂度。
3、
1 int f(int x) 2 return ((x>2) ? x*f(x-1) : 3); 3 } 4 int i; 5 I=f(f(2)):
A 30 B 无限递归 C 9 D 2160
正确答案: C
4、有关操作系统常用调度算法叙述正确的是()
A、FCFS调度算法不利于短作业
B、SPF调度算法不利于短作业
C、HRN调度算法不利于长作业
D、HRN调度算法既利于短作业又有利于长作业
正确答案: A D
2.短作业优先调度算法 (SPF): 就是优先调度并处理短作业,所谓短是指作业的运行时间短。而在作业未投入运行时,并不能知道它实际的运行时间的长短,因此需要用户在提交作业时同时提交作业运行时间的估计值。
3.最高响应比优先算法(HRN):FCFS可能造成短作业用户不满,SPF可能使得长作业用户不满,于是提出HRN,选择响应比最高的作业运行。响应比=1+作业等待时间/作业处理时间。 因此选D;
4. 基于优先数调度算法(HPF):每一个作业规定一个表示该作业优先级别的整数,当需要将新的作业由输入井调入内存处理时,优先选择优先数最高的作业。
5、promise的状态有()
A 、Unfulfilled
B 、Pause
C 、Resolved
D 、Rejected
正确答案: C D
答案:
- 一个promise可能有三种状态:等待(pending)、已完成(fulfilled)、已拒绝(rejected)
- 一个promise的状态只可能从“等待”转到“完成”态或者“拒绝”态,不能逆向转换,同时“完成”态和“拒绝”态不能相互转换
- promise必须实现then方法(可以说,then就是promise的核心),而且then必须返回一个promise,同一个promise的then可以调用多次,并且回调的执行顺序跟它们被定义时的顺序一致
- then方法接受两个参数,第一个参数是成功时的回调,在promise由“等待”态转换到“完成”态时调用,另一个是失败时的回调,在promise由“等待”态转换到“拒绝”态时调用。同时,then可以接受另一个promise传入,也接受一个“类then”的对象或方法,即thenable对象。
6、下面的哪个选项是自底向上分析方法()
递归下降分析法 预测分析法 LL( 1)分析法 算符优先分析法
正确答案: D
解析:
在信号位开始时不改变信号极性,表示辑”1” 模拟数据转换为数字信号 在信号位中电平从高到低跳变表示0 数字数据转换为数字信号
正确答案: B C
8、关于中间件特点的描述.不正确的是()
A 中间件运行于客户机/服务器的操作系统内核中,提高内核运行效率
B 中间件应支持标准的协议和接口
C 中间件可运行于多种硬件和操作系统平台上
D 跨越网络,硬件,操作系统平台的应用或服务可通过中间件透明交互
正确答案: A
解析:
中间件位于操作系统之上,应用软件之下,而不是操作系统内核中
A、resolve()和reject都是直接生成一个进入相应状态的promise对象,其参数就是进入相应状态时传递过去的参数,可以在完成回调的参数中得到
B 、Promise.resolve(value),Promise.reject(reason)是Promise构造器上还直接提供了一组静态方法
C、在调用then方法或者catch方法时都是异步进行的,但是执行速度比较快
D、Promise构造器的prototype上还有两个方法,分别是then和catch。这两个方法的参数也是回调函数,这些函数会在Promise实例进入不同状态后被调用。Then对应到resolve,catch对应到reject
正确答案: D
10、KMP算法下,长为n的字符串中匹配长度为m的子串的复杂度为()
A 、O(N) B、O(M+N) C、O(M+LOGM) D、O(N+LOGM)
正确答案: B
解析:
1 private static int Bf(int[] a, int[] b) { 2 int i =0,j=0; 3 while(ib.length){ 4 if(a[i]==b[j]){ 5 i++; 6 j++; 7 }else{ 8 i = i - j+1; 9 j=0; 10 } 11 } 12 if(j>=b.length){ 13 return i - b.length+1; 14 }else{ 15 return 0; 16 } 17 }
A、归并排序
B、选择排序
C、希尔排序
D、插入排序
正确答案: D
解析:
A、-rw-r--r-- B、rw-r--r-- C、-rwxr--r-- D、rwxr- -rw-
正确答案: A
13、下列说法正确的是()
A、二维以上的数组其实是一种特殊的广义表
B、数组一旦建立,结构的元素个数和元素间的关系就不再变化
C、数组是一种线性结构,因此只能用来存储线性表
D、数组采用顺序存储方式表示
正确答案: A B D
14、为了提高数据库的性能,需要针对系统设计基准测试进行压力测试,那么进行压力而是时需要考虑以下哪些指标()
A、可扩展性
B、响应时间
C、开发性
D、吞吐量
正确答案: A B C D
15、假如在MySQL中有存储过程proc1(员工编号,月份)用来查询员工的工资,两个参数类型均为字符类型,则下列调用存储过程的方法正确的是()
A、call Proc1(‘emp001’ ,’ 201601’ ); B、exec Proc1(‘emp001’ ,’ 201601’ ); C、call Proc1(‘emp001’ ,null); D、call Proc1(‘emp001’ ,);
正确答案: A C
解析:
存储过程的调用用call语句: CALL 存储过程名 ( 参数列表 )
CALL 语句调用一个先前用CREATE PROCEDURE创建的程序。
CALL 语句可以用声明为OUT或的INOUT参数的参数给它的调用者传回值。
存储过程名称后面必须加括号,哪怕该存储过程没有参数传递
16、利用时间重叠概念实行并行处理的是()
A、多处理机
B、流水处理机
C、相联处理机
D、并行(阵列)处理机
正确答案: B
17、下列关于策略处理规则描述正确的是()
A、如果子容器的某个策略被配置,则此配置值会覆盖由其父容器所传递下来的配置值
B、当组策略的用户配置和计算机配置冲突的时候,优先处理用户配置
C、组策略的配置值是有累加性的
D、系统是先处理计算机配置,再处理用户配置
正确答案: A C D
18、设哈夫曼树中的结点总数为49,若用二叉链表作为存储结构,则该哈夫曼树中总共有多少个空指针域()
51 52 50 49
正确答案: C
解析:
一共有 n个节点。那么每一个节点都有两个域,共有2n个。一共有多少个分支呢?每一个节点都有父节点(除了根节点)那么就会有n-1个分支。那么空指针的域就是2n - (n-1) = n+1;那么就会有n+1个空指针域。也就是50个。不管是不是满二叉树,这个结论都是正确的。
19、Linux中包括两种链接:硬链接(Hard Link)和软连接(Soft Link),下列说法正确的是()
A、软连接可以跨文件系统进行连接,硬链接不可以
B、当删除原文件的时候硬链接文件仍然存在,且内容不变
C、硬链接被删除,磁盘上的数据文件会同时被删除
D、硬链接会重新建立一个inode,软链接不会
正确答案: A
20、在java中重写方法应遵循规则的包括()
A、访问修饰符的限制一定要大于被重写方法的访问修饰符
B、可以有不同的访问修饰符
C、参数列表必须完全与被重写的方法相同
D、必须具有不同的参数列表
正确答案: B C
解析:
A、LinkedList
B、ArrayList
C、Vector
D、Hashtabie
正确答案: C D
22、下列有关java构造跟使用叙述正确的是()
构造器的返回值为vold类型
如果一个源文件中有多个类,那么构造器必须与公共类同名
构造器可以有0个,1个或一个以上的参数
每个类可以有一个以上的构造器
正确答案:BCD
23、
1 public class Test{ 2 static int cnt = 6; 3 static{ 4 cnt += 9; 5 } 6 public static void main(string[] args){ 7 System.out.println(“cnt =” + cnt); 8 } 9 static{ 10 Cnt /=3; 11 }; 12 }
A、Cnt=5 B、Cnt=2 C、Cnt=3 D、Cnt=6
正确答案: A
解析:
静态块中的代码按写的顺序首先依次执行,执行于方法前
24、
b = 2*a/ 4 a = "one" print(a,b)
执行下列语句后的显示结果是什么()
A、10 B、one0.5 C、error D、one 0
正确答案:C
25、
1.bit = input("Enter a binary digit:") 2.if bit = 0 or 1: 3. print "your input is" ,bit 4.else 5. print "your input is invalid"
以上程序要求用户输入二进制数字0/1并显示之,请指出程序中的错误:()
A、4 B、5 C、3 D、2
正确答案: A D
26、下列有关this指针使用方法的叙述正确的是()
A、保证基类保护成员在子类中可以被访问
B、保证基类私有成员在子类中可以被访问
C、保证基类共有成员在子类中可以被访问
D、保证每个对象拥有自己的数据成员,但共享处理这些数据的代码
正确答案: D
27、设有定义char *p[]={"Shanghai","Beijing","Honkong"};则结果为j字符的表达式是()
A、*p[1] +3 B、*(p[1] +3) C、*(p[3] +1) D、p[3] [1]
正确答案: B
28、
1 void func(char *p) 2 { 3 p=p+1; 4 } 5 int main() 6 { 7 char s[]={‘1’,’2’,’3’,’4’}; 8 func(s); 9 printf(“%c”,s); 10 return 0; 11 }
A、2 B、编译错误 C、1 D、无法确定
正确答案: C
题目似乎有错误......
29、以下字符串定义与赋值中,正确的是()
A、char s[80] = {"A", "B" ,"C"} B、char s[80]; s = {'A', 'B','C'} C、char s[80]; s = "ABC"; D、char s[80] ="ABC";
正确答案: D
30、在MySQL中,下列关于出发机器的描述正确的是()
A、MySQL的触发器只支持行级出发,不支持语句级触发
B、触发器可以调用将数据返回客户端的存储程序
C
C、在MySQL中,使用new和old引用触发器中发生的记录内容
D、在触发器中可以使用显示或者隐式方式开始或结束事务的语句
正确答案: A C
31、对于工资表结构如下(员工编号,姓名,部门,工资),如果要对查询的结果按照部门升序与工资降序进行排序,则下列排序正确的是()
A、order by部门,工资
B、order by部门,工资desc
C、order by部门 asc,工资desc
D、order by部门desc,工资desc
正确答案: B C
32、为了提高数据的查询效率,需要在数据库中建立索引,则下列设计索引的原则描述正确的是()
A、在频繁进行排序或分组(即进行group by 或order by操作)的列上建立索引
B、考虑列中指的分布,列的基数越大,索引的效果越好
C、在select关键字后选择列表的列上,建立索引
D、在表中,索引越多越好
正确答案: A B
33、网络地址为172.16.0.0,采用子网掩码255.255.224.0 .以下说法正确的是()
A、其中一个子网的广播地址为:172.16.32.255 B、其中一个子网的广播地址为:172.16.128.255 C、划分了8个有效子网 D、划分了6个有效子网
正确答案: C
解析:
根据子网掩码可以知道网络号有多少位,主机号有多少位!
255.255.224.0
1111 1111 1111 1111 1110 0000 0000 0000
网络号有19位,主机号有13位
有效子网:block size = 256-224 = 32 ;
34、对下列常见的各种网络术语描述正确的是()
A、ADNS是一种用于TCP/IP应用程序的分布式数据库,因此它在TCP/IP体系中处于应用层 B、TFTP是一种文件传递应用程序,它使用的传输层协议是TCP C、Ping是对两个TCP/IP系统连通性进行测试的基本工具,它利用CMP进行基本的请求的应答 D、Telnet 是标准的提供远程登录功能的应用,可以在不同OS系统的主机之间运行
正确答案: C D
35、Arthur最近搬到了新的别墅,别墅特别大,原先的桌子显得比较小,所以他决定换一张新的桌子。他买了一张特别大的桌子,桌子是由很多条桌腿进行支撑的,可是回到家之后他发现桌子不稳,原来是桌子腿长度不太相同。他想要自己把桌子修理好,所以他决定移除掉一些桌腿来让桌子变得平稳。桌子腿总共有n条腿,第i条腿长度为li,Arthur移除第i桌腿要花费代价为di。假设k条腿桌子平稳的条件:超过一半桌腿能够达到桌腿长度的最大值。例如:一条腿的桌子是平稳的,两条腿的桌子腿一样长时是平稳的。请你帮Arthur计算一下是桌子变平稳的最小总代价。
1 大体思路是把先把输入的腿长映射到一个106维的腿长数目数组,数组中的值为对应腿长的的数目。然后从后往前遍历 2 没碰到一个腿长,将比他高的腿长砍掉,同时计算还需要砍多少桌腿,对剩余的桌腿排序砍掉对应部分,然后计算最小值。 3 #include4 #include 5 #include 6 using namespace std; 7 8 int main() 9 { 10 int n; 11 while(cin>>n) 12 { 13 vector<int >l,d,d_cut; 14 int a[106]={0}; 15 int li,di; 16 for(int i=0;i ) 17 { 18 cin>>li; 19 l.push_back(li); 20 a[li]++; 21 } 22 int minCost=0; 23 for(int i=0;i ) 24 { 25 cin>>di; 26 d.push_back(di); 27 minCost+=di; 28 } 29 for(int i=105;i>0;i--) 30 { 31 int cost=0; 32 d_cut.clear(); 33 if(a[i]) 34 { 35 int cutLegNum=l.size()-a[i]; 36 for(int j=i+1;j<=105;j++) 37 { 38 cutLegNum-=a[j]; 39 } 40 cutLegNum-=(a[i]-1); 41 for(int k=0;k ) 42 { 43 if(l[k]<i) 44 d_cut.push_back(d[k]); 45 if(l[k]>i) 46 cost+=d[k]; 47 } 48 if(cutLegNum>0) 49 { 50 sort(d_cut.begin(),d_cut.end()); 51 for (int k = 0; k ) 52 cost+=d_cut[k]; 53 if(cost<minCost) 54 minCost=cost; 55 } 56 } 57 } 58 cout< endl; 59 } 60 return 0; 61 }
36、现有一个n个整数的序列,你要做的就是交换两个数的位置直到整个序列按照升序排列,那么将这个整数序列排好序,需要交换多少次?例如,1,2,3,5,4,我们只需要交换一次,即将5和4交换即可。
1 #include2 #include 3 4 using namespace std; 5 6 classSolution 7 { 8 public: 9 intMinChange(vector<int>& array,intlen) 10 { 11 if(len<1) 12 { 13 return0; 14 } 15 16 intcount = 0; 17 18 for(inti = 0; i < len;i++) 19 { 20 for(intj = i + 1; j < len;j++) 21 { 22 if(array[i]>array[j]) 23 { 24 count++; 25 } 26 } 27 } 28 29 returncount; 30 } 31 }; 32 intmain() 33 { 34 intn = 0; 35 cin >> n; 36 vector<int>array; 37 inttemp = 0; 38 for(inti = 0; i < n;i++) 39 { 40 cin >> temp; 41 array.push_back(temp); 42 } 43 44 Solution s; 45 cout << s.MinChange(array,n); 46 return0; 47 }