【HarmonyOS应用开发者高级认证部分题库】
一、单选题(1-32题)
- 以下关于 Taskpool 和 Worker 的描述正确的是
A. 开发者需要自行管理 taskpool 的数量及生命周期
B. TaskPool 支持任务延时执行
C. TaskPool 和 Worker 的任务执行时长上限都是无限制
D. Worker 自行管理生命周期,开发者无需关心任务负载高低
- 以下有关自定义组件 @ComponentV2 描述正确的是
A. @Prop 能在 @ComponentV2 声明
B. @State 能在 @ComponentV2 声明
C. @Param 能在 @ComponentV2 中声明
D. @Link 能在 @ComponentV2 声明
- 下面不是自定义组件冻结功能的原理
A. 当之前处于 inactive 状态的自定义组件重新变为 active 状态时,状态管理框架会对其执行必要的刷新操作,确保 UI 的正确展示。
B. 启用后,系统将仅对处于激活状态的自定义组件进行更新,这使得 UI 框架可以尽量缩小更新范围,仅限于用户可见范围内(激活状态)的自定义组件,从而提高复杂 UI 场景下的刷新效率
C. 自定义组件冻结功能适用于 ForEach,但不支持 LazyForEach
D. 开发者通过设置freezeWhenInactive属性,即可激活组件冻结机制
- 下面关于状态管理 V2 版本中 @Provider 和 @Consumer 装饰器的描述错误的是
A. alias 是唯一匹配的 key,如果缺省 alias,则默认属性名为 alias
B. @Consumer 允许本地初始化,当找不到 @Provider 的时候使用本地默认值
C. @Provider 支持从父组件进行初始化
D. @Provider 和 @Consumer 装饰数据类型需要一致
- 以下关于组件内和全局 @Styles 装饰器的描述正确的是
A. 全局 @Styles 优先级高于组件内 @Styles
B. @Styles 方法在全局定义时不能使用this关键字
C. 框架会优先查找全局 @Styles,找不到时再查找组件内 @Styles
D. @Styles 方法在组件内定义时必须添加function关键字
- 按下图的组件树,hitTestBehavior属性均为默认,用户点按动作发生在组件 5 上,则最终收集到的响应链及先后关系是?

A. 5,3,1,2,4
B. 5,3,1
C. 7,6,5,4,3,2,1
D. 5
- ArkUI 在 NDK 中提供接口创建组件 / 设属性,但 NDK 创建的组件需 ArkTS 侧组件挂载,哪个组件可挂载 NDK 创建的 UI 组件?
A. Navigation
B. Row
C. ContentSlot
D. Column
- 在 Column 容器中,使用alignItems(HorizontalAlign.End)时,子元素会如何排列?
A. 垂直方向居中对齐
B. 水平方向右对齐
C. 水平方向左对齐
D. 水平方向居中对齐
- 在 Flex 布局中,哪个属性决定子元素是否换行?
A. justifyContent
B. direction
C. wrap
D. alignItems
- 项目需要同时进行应用和元服务的开发,并针对当前项目工程中的代码可以分别构建出应用和元服务的包,如何在 DevEco Studio 中设置不同的构建配置,达成这个目的
A. 在模块级别build-profile.json5定义两个target,将两个target的bundleType分别设置成app和atomicService
B. 在工程级别build-profile.json5定义两个product,将两个product的bundleType分别设置成app和atomicService
C. 修改工程级别的AppScope/app.json5中的bundleType值为app
D. 修改工程级别的AppScope/app.json5中的bundleType值为atomicService
- 在使用 DevEco Studio 的 Profiler 进行 HarmonyOS 应用性能优化的流程中,以下哪个步骤最恰当地描述了开发者利用 Profiler 工具进行性能问题识别、定位、优化及验证的完整过程
A. 利用 “Realtime Monitor” 初步识别性能瓶颈,创建深度分析任务定位根因,根据分析结果优化代码,再用 “Realtime Monitor” 验证优化效果
B. 在发现应用性能不佳时,直接查看代码逻辑,凭经验修改后,利用 Profiler 的 “Realtime Monitor” 确认资源消耗是否降低
C. 首先使用 “Realtime Monitor” 实时监控,观察应用资源消耗,一旦发现 CPU 或内存异常,直接修改代码并重新编译
D. 仅通过创建深度分析任务,利用perf数据详细分析性能瓶颈,修改代码后,不需再进行验证直接发布应用
- 开发者张工想要高效地管理 HarmonyOS 设备中的文件,包括查看文件列表、进行文件搜索、新建及删除操作,以及在设备与 PC 间传输文件,而无需使用命令行工具。以下哪个选项最能准确概括张工能通过哪个工具直接在 DevEco Studio 界面完成上述所有操作
A. DevEco Studio 的Log面板
B. DevEco Studio 的Device File Browser
C. DevEco Studio 的Terminal面板
D. DevEco Studio 的Project Explorer
- 项目需要为不同的设备形态(如手机、智能手表)提供定制化构建。请说明如何在 DevEco Studio 中设置不同的构建配置,以生成针对不同设备的hap包?
A. 在工程级别build-profile.json5定义多个product,在每个product的config/deviceType中定义不同的设备类型
B. 在模块级别build-profile.json5定义多个target,在每个target的config/deviceType中定义不同的设备类型
C. 在工程级别build-profile.json5定义多个product,在每个product的config/distributionFilter中定义不同的设备类型
D. 在模块级别build-profile.json5定义多个target,在每个target的config/distributionFilter中定义不同的设备类型
- 同一个组织内部的多个应用之间,建议使用集成态的以下哪个实现代码和资源的共享?
A. HAP
B. HSP
C. APK
D. HAR
- 下面关于AppStorage的使用说法错误的是
A. 当@StorageProp(key)装饰的数值改变被观察到时,修改不会被同步回AppStorage对应key的属性中
B. @StorageLink(key)装饰的变量改变时仅会同步回AppStorage中,不会引起所属的自定义组件的重新渲染
C. @StorageProp和@StorageLink不支持装饰Function类型的变量
D. @StorageProp和@StorageLink的参数必须为string类型
- AppStorage是应用全局的 UI 状态存储,下面关于AppStorage的描述正确的是
A. 当@StorageProp(key)中的数据改变,会同步修改AppStorage中对应的属性
B. AppStorage中的属性可以被双向同步,这些数据只能保存在本地
C. AppStorage是在应用启动的时候会被创建的,应用中的每个UIAbility对应一个AppStorage对象
D. AppStorage提供应用状态数据的中心存储,这些状态数据在应用级别都是可访问的
- 应用程序开发调试过程中,经常需要安装新应用进行调测,下面安装应用操作错误的是
A. bm install -p ohosapp.hap -r
B. bm install -p ohosapp.hap
C. hdc install -p ohosapp.hap
D. bm install -p /data/app/
- 通过aa工具拉起com.example.test的EntryAbility,并传参给EntryAbility,具体参数是number类型的[key1, 1] [key2,2] 和string类型的[key3, testString] [key4,“”],下面哪个aa命令是正确的:
A. aa start -b com.example.test -a EntryAbility --pi key1 1 key2 2 --ps key3 testString --psn key4
B. aa start -b com.example.test -a EntryAbility --pi key1 1 --pi key2 2 --ps key3 testString --ps key4
C. aa start -b com.example.test -a EntryAbility --pi key1 1 --pi key2 2 --ps key3 testString --psn key4
D. aa start -b com.example.test -a EntryAbility --pi key1 1 --pi key2 2 --ps key3 testString --psn key4 "
- hiAppEvent提供的()接口,可以用于获取崩溃信息
A. write
B. clear
C. configure
D. addWatcher
- 当使用状态变量进行 ArkUI 组件间数据通信时,若两个组件无直接嵌套关系(非父子 / 祖孙)但同属一页,最佳装饰器是?
A. AppStorage
B. LocalStorage
C. @Provide+@Consume
D. @State+@Link
- 以下关于持续集成的描述,哪项错误?
A. 持续集成可用于大型项目(数十个项目组),即使各组开发进度不统一也适用。
B. 持续集成(CI, Continuous Integration)指频繁(一天多次)将代码集成到主干。
C. 持续集成就是持续编译,二者本质相同。
D. Martin Fowler 曾说:“持续集成无法消除 Bug,却能让 Bug 更易发现和修复。”
- 关于自动化测试,描述正确的是?
A. DT(开发者测试)等同于 UT,可覆盖边界值、空指针 / 赋值错误、内部业务逻辑等问题。
B. 自动化测试因提效、减少重复工作被广泛采用,可完全替代手动测试处理复杂交互或特殊边界场景。
C. XTS 子系统是认证测试套件集合,当前包含 acts(application compatibility test suite),后续将拓展 dcts(device compatibility test suite)等。
D. Fuzz 测试通过构造不规则输入触发程序 Bug,属于白盒测试;又名模糊测试,可通过输入非法字段或向网络服务发异常报文实现。
- Web 组件中,哪个接口可允许网页加载过程中的 HTTP 链接?
A. onHttpErrorReceive
B. blockNetwork
C. mixedMode
D. onSslErrorEventReceive
- 代理提醒开发使用的接口是?
A. 用 publishReminder 发布提醒通知,用 cancelReminder 取消指定提醒。
B. 用 requestSuspendDelay 申请任务,用 getRemainingDelayTime 获取任务剩余时间。
C. 用 startBackgroundRunning 申请任务,用 stopBackgroundRunning 取消任务。
D. 用 startWork 申请任务,用 stopWork 取消任务,用 getWorkStatus 获取任务状态。
- 使用 AVPlayer 作为播放器时,在 onState 状态变化中调用 reset() 接口,播放器会进入哪种状态?
A. prepared
B. idle
C. initialized
D. playing
- 以下哪项不是 AREngine 的核心功能?
A. 渲染
B. 运动跟踪
C. 环境理解
D. 语音识别
- 单个实况窗的生命周期最长不超过( )小时,超过则系统判定实况窗结束。
A. 6
B. 10
C. 8
D. 4
- 关于代理提醒,描述正确的是?
A. 适用于后台长运行、用户可感知的任务(如后台音乐、导航、设备连接),通过长时任务避免应用进程挂起。
B. 适用于实时性高、耗时短的任务(如状态保存)。
C. 代理提醒指应用退后台或进程终止后,系统会代理应用做相应的提醒。适用于定时提醒业务,当前支持的提醒类型包括倒计时、日程类。
D. 对实时性要求不高、可延迟执行的任务,系统提供了延迟任务,即满足条件的应用退至后台后被放入执行队列
- Web 组件对于不同来源页面的加载,以下说法正确的是?
A. 加载本地页面和网络页面有不同的配置与方法。
B. 加载本地页面无需任何权限。
C. 加载网络页面仅支持固定几个网站。
D. 加载本地页面和网络页面使用相同接口。
- Web 组件加载网络页面时,对于页面中的链接跳转,以下说法正确的是
A. 会被 Web 组件拦截并禁止跳转
B. 遵循网页自身的链接跳转规则
C. 只能跳转到同域名下的页面
D. 跳转后会新开一个 Web 组件实例
- 获取指定文件系统的总空间大小的方法是以下哪个?
A. getSize()
B. getCurrentBundleStats()
C. getFreeSize()
D. getTotalSize()
- 创建文件选择器DocumentViewPicker实例,调用以下哪个接口拉起FilePicker界面进行文件保存?
A. selects()
B. save()
C. saves()
D. querys()
二、多选题(33-49题)
- ArkUI 提供了以下哪些应用级别的状态管理方案,可用于实现应用级别和 UIAbility 级别的数据同步?
A. Prop
B. LocalStorage
C. State
D. AppStorage
- 以下哪种场景,会触发Image组件的OnComplete回调事件(假设加载地址是有效的)
A. 组件宽高变化
B. 系统设置中深浅色模式发生变化
C. 图源发生变化,比如从$r(“app.media.IMG_8809”)切换成$r(“app.media.IMG_1100”)
D. 页面首次加载
- 以下关于弹窗说法正确的是
A. 当需要给指定的组件提示时可以选择Popup
B. 当需要完全自定义内容、行为、样式时,可以使用浮层(OverlayManager)将 UI 展示在页面之上
C. Toast适用于短暂的提示场景
D. TipsDialog、SelectDialog等是系统提供的一类高级组件,方便开发者根据场景选择,但自定义能力差
- 以下关于 ArkUI 线性布局中子元素在交叉轴上的对齐方式的描述错误的是
A. Column容器内子元素可以使用VerticalAlign进行交叉轴上的对齐
B. alignSelf属性的优先级低于alignItems属性
C. alignItems属性用于设置所有子元素在交叉轴上的对齐方式
D. Row容器内子元素可以使用HorizontalAlign进行交叉轴上的对齐
- 项目组开发的 HarmonyOS 应用工程,为了保护 hap 代码资产,如何在 DevEco Studio 中启用混淆的功能,并设置相应的混淆规则
A. 在混淆规则配置文件obfuscation-rules.txt中进行混淆规则的配置
B. 在混淆规则配置文件consumer-rules.txt中进行混淆规则的配置
C. release模式下将buildOption/arkOptions/ruleOptions/enable设置为false
D. release模式下将buildOption/arkOptions/ruleOptions/enable设置为true
- Code Linter 针对 ArkTS/TS 代码进行最佳实践 / 编程规范方面的检查,最佳实践 / 编程规范方面的检查规则可以配置,针对codelinter的配置项以下哪些说法是正确的
A. ignore:配置无需检查的文件目录,其指定的目录或文件需使用相对路径格式,相对于code-linter.json5所在工程根目录,例如:build//*。
B. ruleSet:配置检查使用的规则集,规则集支持一次导入多条规则。
C. files:配置待检查的文件名单,如未指定目录,规则适用于所有文件,例如:["/.ets", "**/.js", “**/*.ts”]。
D. rules:可以基于ruleSet配置的规则集,新增额外规则项,但是无法修改ruleSet中规则默认配置
- 多个 HAP/HSP 共用的代码和资源放在同一个 HSP 中,可以提高代码和资源的作用有
A. 可多态性
B. 可重用性
C. 可维护性
D. 可独立性
- 动态共享包 HSP 不支持独立发布,而是跟随其宿主应用的 APP 包一起发布,与宿主应用的()相同。
A. 包名
B. 生命周期
C. 资源
D. 运行进程
- 应用要通过 Health Service Kit 查询用户的跑步记录,展示用户的跑步轨迹。下面关于数据权限申请说法正确的是
A. 调用requestAuthorizations申请用户授权时,在AuthorizationRequest的readDataTypes中传入锻炼记录数据类型
B. 申请 Health Service Kit 服务时,应用需申请锻炼记录概要、锻炼记录详情数据的读权限
C. 申请 Health Service Kit 服务时,应用需申请锻炼记录概要、锻炼记录详情数据、锻炼记录位置详情数据的读权限
D. 调用requestAuthorizations申请用户授权时,在AuthorizationRequest的writeDataTypes中传入锻炼记录数据类型
- @ohos.net.connection的哪个 API 可以获取网络 ip 信息?
A. on(‘netCapabilitiesChange’)
B. on(‘netConnectionPropertiesChange’)
C. connection.getNetCapabilities
D. connection.getConnectionProperties
- 关于SeekMode的说法正确的有
A. SEEK_PREV_SYNC: 表示跳转到指定时间点的上一个关键帧,建议快进的时候用这个枚举值
B. SEEK_NEXT_SYNC耗时较多
C. SEEK_CLOSEST耗时较多
D. SEEK_CLOSEST: 表示跳转到距离指定时间点最近的帧
- 使用组件复用之后,还是没有显著提升列表滑动场景的性能,属于组件复用未生效可能的原因有?
A. 复用的自定义组件中使用if等条件渲染语句导致结构不相同,未使用reuseId标记
B. 页面嵌套了过多自定义组件
C. 没有在aboutToReuse更新关联的状态变量数据
D. 在aboutToReuse回调函数中更新了冗余的状态变量
- 哪些是持续集成最佳实践?
A. 通常项目上会有一个专职 Ops,在项目可以发布的时候手动触发部署流程,或者需要传递很多参数,让 Pipeline 运行起来。
B. 频繁提交代码:鼓励开发人员经常提交小的代码更改,以便更快地发现问题。
C. 代码审查:在集成前进行代码审查,及时发现潜在问题。
D. 构建相同代码的 Pipeline 运行多次,得到结果不同。比如,基于同一代码基线,一条 Pipeline 构建了 5 次,只要最后一次通过即可。
E. 自动化构建:确保构建过程是完全自动化的,减少人为错误。
F. 快速反馈机制:让开发人员能迅速得知集成结果和测试状态。
G. 全面的测试套件:包括单元测试、集成测试、功能测试等,以提高代码质量。
- 在处理 Web 组件的网络请求相关操作时,可能会用到以下哪些对象或接口?
A. WebResourceResponse
B. WebResourceRequest
C. onInterceptRequest
D. onHttpAuthRequest
- UDMF 针对部分标准化数据类型定义的标准化数据结构有以下哪些?
A. HTML
B. OpenHarmony/AppItem
C. Hyperlink
D. PlainText
- 以下有关滑动场景白块问题的说法正确的是
A. 设置cachedcount到合适的值,有助于减少白块
B. 白块是由于图片异步下载 / 解码等产生的,因此文字不会出现白块
C. 将图片的url入参换成pixelmap入参,可以彻底消除白块
D. 只要设置图片的syncload属性为true,就可以彻底消除白块
- hiAppEvent中订阅的 24h 功耗器件分解统计事件包含哪些类型数据
A. 每小时后台使用时长
B. 每小时 CPU 器件后台耗电量预估值
C. 每小时 GPU 器件后台耗电量预估值
D. 每小时前台使用时长
E. 每小时 wifi 器件前台耗电量预估值
F. 每小时 CPU 器件前台耗电量预估值
G. 每小时 DDR 器件前台耗电量预估值,单位为毫安秒
每次考试的题可能不会完全一样,通过这份题可以看一下哪些知识点还需要了解一下
之后会在评论区公布答案