高级的题库更新之后,专业性更强了,不是真正从事这一行的,很难做出来。本人就是个小菜鸡,有一些题,我也不想不明白。题目的答案我尽可能的找到出处,如果读者发现错误或有补充建议,欢迎评论或私信笔者。笔者这篇就当抛砖引玉,各位读者可以当作考试的一个参考
注:有读者反馈,题库的代码块比较多,打开文章时会卡死。所以笔者将题库拆分,以20道题为一组,题库目录如下,读者可以按需跳转。如果对您的阅读产生不便,笔者在这里向大家说声抱歉,请各位读者原谅。该题库已整理完毕,笔者不再更新。笔者连续考了三次,都过了,所以答案应该没什么太大问题。有需要题库文档的可以自取。祝各位读者好运(๑¯ω¯๑)。
81、开发者在编写ArkUI代码时,想要提前预览下所编写的组件的效果,下述哪个组件可以使用DevEco Studio Previewer正常预览?
// A
@Preview
@Component
struct LinkSample {
@Link message: string;
build() {
Text(this.message)
}
}
// B
@Preview
@Component
struct ConsumeSample {
@Consume name: string;
build() {
Text(this.name)
}
}
// C
import { add } from 'libnative.so';
@Preview
@Component
struct NativeSample {
count: number = add(1, 2);
build() {
Text(`current count is ${this.count}`)
}
}
// D
@Preview
@Component
struct TitleSample {
@StorageProp('title') title: string = 'PlaceHolder';
build() {
Text(this.title)
}
}
A、A
B、B
C、C
D、D
82、ArkUI组件复用的作用机制是减少了什么时间从而降低了丢帧率?
A、数据挂载时间
B、组件销毁时间
C、组件节点渲染时间
D、组件节点和对象的创建时间
组件复用最佳实践-开发高性能ArkUI-性能优化-性能 | 华为开发者联盟 (huawei.com)
83、关于代码门禁理解正确的是:
A、代码门禁则是在代码合并之前就验证代码来保护主干分支的完整性。通过这种方式,可以保护主分支代码避免因合码导致的构建中断,以确保master分支代码始终是可部署的,并且不会因明显的错误而影响到你正在并行开发的同事工作。
B、门禁级检查的范围和版本级检查的范围保持一 致,尽可能多的在MR[禁阶段就拦截防护住问题,保障问题可以及时清理掉。
C、代码门禁是一项代码质量保障措施。目的是要求开发人员提交的代码必须满足一些要求才 能合入代码仓库。门禁必须强制要求包括编译通过、单元测试覆盖率达标、代码静态检查无告警、全量功能测试用例、DFX专项测试都通过。
D、标准CI构建是在代码合并后检查已提交代码的功能完整性,这种方法会导致代码合并到master后编译失败导致没有可用版本部署。通过提高滚动构建的频度就可以代替代码门禁,保障代码主干及时发现并解决问题。
84、下面关于方舟字节码格式PREF_IMM16_V8_V8描述正确的是
A、8位操作码,8位立即数,2个8位寄存器
B、16位前缀操作码,16位立即数,8位寄存器
C、16位前缀操作码,16位立即数,2个8位寄存器
D、8位操作码,8位立即数,16位id,8位寄存器
方舟字节码基本原理-学习ArkTS语言-基础入门 | 华为开发者联盟 (huawei.com)
85、以下哪些赋值语句在ArkTS中是合法。
class A {
v: number = 0;
}
class B extends A {
u: string = '';
}
class C {
v: number = 0;
}
let a1: A = new C();
let a2: A = new B();
let a3: B = new A();
let a4: C = new B();
A、a1
B、a2
C、a3
D、a4
86、Text组件不支持以下哪种使用方式?
// A
@Entry
@Component
struct styledStringDemo {
scroll: Scroller = new Scroller();
mutableStyledString: MutableStyledString = new MutableStyledString("test hello world", [{
start: 0,
length: 5,
styledKey: StyledStringKey.FONT,
styledValue: new TextStyle({ fontColor: Color.Pink })
}]);
controller1: TextController = new TextController();
async onPageShow() {
this.controller1.setStyledString(this.mutableStyledString)
}
build() {
Column() {
Text(undefined, { controller: this.controller1 })
}.width('100%')
}
}
// B
@Entry
@Component
struct TextExample {
build() {
Column({ space: 8 }) {
Text('textShadow').fontSize(9).fontColor(0xCCCCCC).margin(15).width('90%')
}
}
}
// C
@Entry
@Component
struct styledStringDemo {
scroll: Scroller = new Scroller();
layout: TextLayoutManager = new TextLayoutManager()
controller1: TextController = new TextController();
async onPageShow() {
this.controller1.setLayout (this.layout)
}
build() {
Column() {
Text (undefined, { controller: this.controller1 })
}.width('100%')
}
}
// D
@Entry
@Component
struct SpanExample {
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Start, justifyContent: FlexAlign.SpaceBetween}){
Text() {
Span('In Line')
Span(' Component')
Span(' !')
}
}.width('100%').height(250).padding({ left: 35, right: 35, top: 35 })
}
}
A、A
B、B
C、C
D、D
87、当前您在开发一个ArkTS、Stage模型的HarmonyOS工程,关于当前ArkTS工程目录结构,下列选项说法错误的是?
A、AppScope > app.json5:应用的全局配置信息。
B、oh-package.json5:描述依赖配置,如:依赖覆盖(overrides)、 依赖关系重写(overrideDependencyMap)和参数化配置(parameterFile)等。
C、build-profile.json5:应用级编译构建任务脚本。
D、entry > src > main > module.json5:Stage模型模块配置文件,主要包含HAP的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息。
构建第一个ArkTS应用(Stage模型)-快速入门-基础入门 | 华为开发者联盟 (huawei.com)
88、当您开始开发一个应用/服务时,首先需要根据工程创建向导,创建一个新的工程,工具会自动生成对应的代码和资源模板。关于新建工程,下列选项说法正确的是?
A、应用包名(Bundle name)必须为以点号(.)分隔的字符串,且至少包含三段,每段中仅允许使用英文字母、数字,如“com.example.myapplication”
B、创建用于Lite Wearable设备的工程,可以选择Native C++工程模板。
C、工程文件本地存储路径(Save location)允许包含中文字符。
D、Compatible SDK是兼容的最低API Version。
创建Lite工程-工程管理-DevEco Studio | 华为开发者联盟 (huawei.com)
89、在编译构建HAP时,会从HAP模块及依赖的模块中收集资源文件,如果不同模块下的资源文件出现重名冲突时,会按照优先级进行覆盖,现在有一个HAP依赖了两个HAR,依赖配置如下所示:
// oh-package.json5
{
"dependencies": {
"dayjs": "^1.10.4"
"lottie": "^2.0.0"
}
}
在资源覆盖时,以下优先级排序正确的是()
A、HAP包自身模块>lottie模块>dayjs模块>AppScope
B、AppScope>HAP包自身模块>lottie模块>dayjs模块
C、AppScope>HAP包自身模块>dayjs模块>lottie模块
D、HAP包自身模块>dayjs模块>lottie模块>AppScope
HAR-应用程序包开发与使用-应用程序包基础知识-开发基础知识-基础入门 | 华为开发者联盟 (huawei.com)
90、作为一个应用开发者,想搭建运维平台,想在应用内定时读取当前的内存信息,可以通过()接口来实现。
A、hiLog
B、hiChecker
C、hiAppEvent
D、hiDebug
使用Hidebug获取调试信息(ArkTS)-Hidebug使用指导-Performance Analysis Kit(性能分析服务)-调测调优-系统 | 华为开发者联盟 (huawei.com)
91、如果要实现Row组件内的子元素均匀排列,且第一个元素与行首对齐,最后一个元素与行尾对齐,需要使用justifyContent的哪个枚举值
A、SpaceBetween
B、End
C、SpaceEvenly
D、Start
线性布局 (Row/Column)-构建布局-开发布局-UI开发 (ArkTS声明式开发范式)-ArkUI(方舟UI框架)-应用框架 | 华为开发者联盟 (huawei.com)
92、在一个包含多个模块(如entry、feature、 service、 library等)的大型HarmonyOS应用项目中,如果某个模块feature对另外一个公共库模块library有依赖,如何通过DevEco Studio正确配置项目依赖关系
A、在feature的build-profile.json5文件的dependencies字段中配置library的依赖
B、在feature的oh-package.json5文件的dependencies字段中配置library的依赖
C、无需配置,直接在代码中编写import xxx from ‘library’
D、在library的oh-package.json5文件的dependencies字段中配置feature的依赖
93、开发者小李遇到了一个复杂的问题,该问题仅在特定的代码执行路径上出现,且难以复现。他使用的是C++进行核心算法开发,代码的逻辑密集且对性能要求极高,DevEco Studio为C/C++开发者提供的高级调试能力,以下哪个能力可以帮助小李查看代码历史执行路径,回溯到关键的变量状态
A、代码静态分析:提供静态代码检查工具,通过语法和逻辑分析帮助预防潜在错误,但不涉及运行时问题定位
B、传统调试模式:仅允许在当前断点暂停代码执行,查看调用堆栈和当前变量信息,但无法追溯历史执行状态
C、反向调试能力:允许开发者在调试过程中回退回到之前的代码行或断点,不仅查看过去的堆栈信息,还能重现历史的全局、静态和局部变量状态,帮助深入理解代码历史行为,特别是对于复杂逻辑和难以复现的bug定位至关重要
D、实时代码修改与运行时效果查看:支持在调试过程中修改代码并立即查看修改效果,适用于快速迭代,但不聚焦于问题追溯
反向调试-Native代码调试-代码调试-应用/服务调试-DevEco Studio | 华为开发者联盟 (huawei.com)
94、在开发HarmonyOS应用工程时,随着业务的发展,现在需要创建一个模块,关于在DevEco Studio中创建Module,下列选项哪种方式是错误的?
A、鼠标移到工程目录顶部,单击鼠标右键,选择New > Modul…,开始创建新的Module,此时该module将创建在工程根目录下。
B、在工程根目录下创建一 个新的Directory, 可在该目录下单击鼠标右键, 选择New > Module… 创建新的Module,此时module将创建在该文件目录下。
C、选中工程目录中任意文件, 然后在菜单栏选择File >New > Module… ,开始创建新的Module,此时该module将创建在工程根目录下。
D、在hvigor目录下,单击鼠标右键,选择New > Module... 创建新的Module,此时module将创建在该文件目录下。
95、一个应用项目工程中,模块依赖关系如下图所示,那么在最终编译结果.app文件中,存在的编译产物是:
A、A.hap + B.har + D.hsp
B、A.hap + B.har + C.har + D.hsp
C、A.hap + D.hsp + C.har
D、A.hap + D.hsp
96、小华正在使用DevEco studio开发一款基于HarmonyOS的ArkUI应用,该应用需要实现一个功能,即当用户点击按钮时,通过ArkTS/JS API调用系统的分享功能。小华对具体的API调用细节不太熟悉,如何通过DevEco Studio快速查阅相关的API文档。
A、小华在代码编辑区直接键入分享功能相关的API调用代码,如arkuigetShare(),然后按F1键,期望编辑器能自动跳转到该API的文档页面。
B、小华将鼠标悬停在编辑器中已经键入或打算键入的API调用(例如@system.router.push)上,等待编辑器自动弹出悬浮提示框,显示该API的简要信息和不同版本参数说明。随后,点击提示框右下角的“Show in API Reference”链接,直接跳转到详尽的API参考文档页面。
C、小华右键点击代码编辑区,选择“Find Usages”选项,试图从其他地方引用该API的实例中学习如何使用分享功能。
D、小华应该先停止编码工作,打开浏览器,手动搜索关键词“HarmonyOS ArkUI分享API”, 在官方网站的文档页面中寻找相关API的使用方法。
97、WebSocket连接开发步骤描述错误的是
A、根据URL地址, 发起WebSocket连接
B、(可选)订阅WebSocket的打开、消息接收、关闭、Error事件
C、导入需要的webSocket模块
D、创建一个WebSocket连接 ,返回一个WebSocket对象
E、调用Session.start方法开启metadata数据输出
F、使用完WebSocket连接之后,主动断开连接
WebSocket连接-Network Kit数据传输能力-Network Kit(网络服务)-网络-系统 | 华为开发者联盟 (huawei.com)
98、关于静态检查描述错误的是
A、静态检查可以检测代码中的语法错误和潜在的逻辑错误,也支持检测代码在运行时现的错误,因此静态检查可以替代动态测试。
99、关于长时任务开发使用的接口是
A、使用startBackgroundRunning申请任务,使用stopBackgroundRunning取消任务
100、张工在使用DevEco Studio开发HarmonyOS应用时,遇到了代码编译警告和错误,为了提高开发效率,哪一项正确描述了张工如何利用DevEco Studio的“Quick Fix”功能来有效管理和修复代码中的问题?()
A、张工通过双击Shift键打开搜索框入"problems"打开问题工具面板,双击具体告警条目可直接跳转到问题代码行。接着,将光标置于告警位置,利用弹出的悬浮窗选择合适的修复建议或点击"More actions"以查看更多修复选项