软件开发小测试,好久没有复习嵌入式相关知识,都生疏了!来测试一下,看看你对“她”还有多少记忆。
1、设有两个事务T1,T2,其并发操作如下所示,下面评价正确的是()
步骤 T1 T2
1 读A=100
2 读A=100
3. A=A+10写回
4. A=A-10
A.该操作不能重复读
B.该操作不存在问题
C.该操作读"脏"数据
D.该操作丢失修改
2、对以下数据结构中data的处理方式描述正确的是()
struct Node
{
int size;
char data[0];
};
A.data将会被编译成一个char *类型指针
B.全部描述都不正确
C.编译器会认为这就是一个长度为0的数组,而且会支持对于数组data的越界访问
D.编译器会默认将数组data的长度设置为1
3、在使用锁保证线程安全时,可能会出现活跃度失败的情况,活跃度失败主要包括
A.死锁
B.饥饿
C.活锁
D.以上全部
4、#include
void main(){
int n[][3] = {10,20,30,40,50,60};
int (*p)[3];
p=n;
cout<
}
上面程序的输出结果是
A.10,30,50
B.10,20,30
C.20,40,60
D.10,30,60
5、设fp已定义,执行语句fp=fopen("file","w");后,以下针对文本文件file操作叙述的选项正确的是:
A.可以随意读和写
B.只能写不能读
C.可以在原有内容后追加写
D.写操作结束后可以从头开始读
【多选】
6、假设系统按单值方式运行且采用短作业优先算法,有J1,J2,J3,J4共4个作业同时到达,则以下哪几种情况下的平均周转时间为10分钟?
A.执行时间J1:1分钟 J2:5分钟 J3:9分钟 J4:13分钟
B.执行时间J1:1分钟 J2:4分钟 J3:7分钟 J4:10分钟
C.执行时间J1:2分钟 J2:4分钟 J3:6分钟 J4:8分钟
D.执行时间J1:3分钟 J2:6分钟 J3:9分钟 J4:12分钟
7、在linux+gcc下,关于以下代码,正确的是()
std::string& test_str()
{
std::string str="test";
return str;
}
int main()
{
std::string& str_ref=test_str();
std::cout<
return 0;
}
A.编译警告
B.返回局部变量的引用,运行时出现未知错误
C.正常编译且运行
D.把代码里的&都去掉之后,程序可以正常运行
8、截止JDK1.8版本,java并发框架支持锁包括?
A.读写锁
B.自旋锁
C.乐观锁
D.排他锁
参考答案:
1~5:DCDBB 6~8:BC ABD ABC
Copyright © 2004-2024 华清远见教育科技集团 版权所有
京ICP备16055225号-5,京公海网安备11010802025203号