- 0
- 0
- 约1.07万字
- 约 24页
- 2026-02-09 发布于四川
- 举报
软件构件技术期末考试试题B卷及答案
一、单项选择题(每题2分,共20分。每题只有一个正确答案,请将正确选项填入括号内)
1.在构件化开发中,下列哪项最能体现“黑盒复用”的核心思想?()
A.通过继承扩展构件功能
B.仅依赖构件接口进行集成
C.直接修改构件源码适应新需求
D.在构件内部嵌入脚本语言
答案:B
解析:黑盒复用强调使用者无需了解构件内部实现,仅通过契约化接口完成集成,从而降低耦合度并提高可替换性。
2.对于CORBA构件模型,下列描述错误的是()
A.IDL用于定义跨语言接口
B.POA负责将对象引用映射到具体servant
C.GIOP/IIOP协议保证异构网络传输
D.CCM容器必须运行在轻量级线程池之上
答案:D
解析:CCM(CORBAComponentModel)容器对线程模型无强制要求,可由厂商提供多种策略,如每请求一线程、固定线程池或实时调度线程。
3.在EJB3.2规范中,若一个无状态会话Bean需要暴露RESTful服务,最佳做法是()
A.在业务方法上追加@RemoteHome
B.使用@WebService并绑定JAX-WS端口
C.使用@Path与@Produces标注,并部署到支持JAX-RS的容器
D.实现java.rmi.Remote接口并手动注册RMIregistry
答案:C
解析:EJB3.2与JAX-RS天然整合,@Path、@GET、@Produces等标准注解可直接加在Bean类或方法上,容器负责生命周期与REST路由。
4.关于OSGibundle生命周期状态转换,正确的顺序是()
A.INSTALLED→RESOLVED→STARTING→ACTIVE→STOPPING→UNINSTALLED
B.INSTALLED→STARTING→RESOLVED→ACTIVE→STOPPING→UNINSTALLED
C.INSTALLED→ACTIVE→RESOLVED→STOPPING→UNINSTALLED
D.INSTALLED→RESOLVED→ACTIVE→STOPPING→STARTING→UNINSTALLED
答案:A
解析:OSGi规范明确bundle必须先被解析(RESOLVED)才能进入启动流程;STARTING为瞬时过渡状态,随后进入ACTIVE;停止时先进入STOPPING,最后可回到RESOLVED或直接UNINSTALLED。
5.在基于SpringBoot的构件装配中,若希望某个@Configuration类在仅存在特定Bean时才被处理,应使用的条件是()
A.@ConditionalOnMissingBean
B.@ConditionalOnBean
C.@Profile(dev)
D.@Primary
答案:B
解析:@ConditionalOnBean(value=Foo.class)表示当容器已存在Foo类型的Bean时,当前配置类才生效,实现精细化装配。
6.对于.NETCore的gRPC服务,下列关于proto文件的说法正确的是()
A.proto3不允许定义自定义选项
B.服务接口一旦发布不可追加新方法
C.使用oneof字段会自动生成C#可空引用类型
D.通过dotnet-grpc工具可生成服务端基类与客户端代理
答案:D
解析:dotnet-grpcCLI工具读取.proto文件后,利用Grpc.Tools包在编译期生成Base类与Client类;proto3支持自定义选项,接口可向后兼容新增方法,oneof与可空引用无直接映射关系。
7.在微服务构件拆分原则中,最不推荐的做法是()
A.按限界上下文划分服务边界
B.共享数据库,服务间直接访问对方表
C.使用领域事件实现最终一致性
D.将稳定领域模型封装为独立jar并版本化
答案:B
解析:直接跨服务访问数据库表会暴露内部实现,导致耦合与演化困难,违背高内聚低耦合原则。
8.关于WebAssembly(Wasm)构件的安全沙箱机制,下列说法错误的是()
A.线性内存与宿主环境隔离
B.只能通过导入函数访问系统调用
C.支持运行时动态加载并链接多个wasm模块
D.自动授予与宿主JavaScript同等的DOM访问权限
答案:D
解析:Wasm默认无法访问DOM,需通过JS胶水代码显式导入宿主函数;这种能力隔离正是其安全模型核心。
9.在Serverless构件冷启动优化中,下列策略效果最显著的是()
A.将运行时从Node18降至Node12
B.把函数内存从512MB调到128MB
C.采用ProvisionedCon
原创力文档

文档评论(0)