基础认证题库请移步:HarmonyOS应用开发者基础认证题库
注:有读者反馈,题库的代码块比较多,打开文章时会卡死。所以笔者将题库拆分,以20道题为一组,题库目录如下,读者可以按需跳转。如果对您的阅读产生不便,笔者在这里向大家说声抱歉,请各位读者原谅。该题库已整理完毕,笔者不再更新。笔者连续考了三次,都过了,所以答案应该没什么太大问题。有需要题库文档的可以自取。祝各位读者好运(๑¯ω¯๑)。如果各位读者有什么内推的工作机会,也可以悄悄告诉笔者,笔者不胜受恩感激
序号目录:
- 单选题
HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 单选题序号1
HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 单选题序号2
HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 单选题序号3
HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 单选题序号4
HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 单选题序号5 - 多选题
HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 多选题序号1
HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 多选题序号2
HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 多选题序号3 - 答案纯享版
- HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 答案纯享版
题库文档链接(自取):https://pan.baidu.com/s/153tDk4dVv_MmLEyzOqW9hQ?pwd=xkgr
注:题目是乱序,每次考试,选项的顺序都不同
单选题题库 - 序号2
21、在一个包含多个模块(如entry、feature、har、hsp等)的大型HarmonyOS应用项目中,如果要对某个静态共享模块构建出静态构建包产物,如何通过DevEco Studio进行构建
A、选中har模块,点击build菜单栏build hap(s)
B、选中hap模块,点击通过菜单栏make module ‘hap’
C、选中har模块,点击build菜单栏make module 'har'
D、选中hsp模块,点击通过菜单栏make module ‘hsp’.
构建HAR-配置构建-编译构建-DevEco Studio | 华为开发者联盟 (huawei.com)
22、want参数的entities匹配规则错误的是
A、调用方传入的want参数的entities不为空,待匹配应用组件的skills配置中的entities不为空且包含调用方传入的want参数的entities,则entities匹配成功。
B、调用方传入的want参数的entities不为空,待匹配应用组件的skills配置中的entities为空,则entities匹配失败。
C、调用方传入的want参数的entities为空,待匹配应用组件的skills配置中的entities为空,则entities匹配成功。
D、调用方传入的want参数的entities为空,待匹配应用组件的skills配置中的entities不为空,则entities匹配失败。
显式Want与隐式Want匹配规则-信息传递载体Want-Stage模型应用组件-Stage模型开发指导-Ability Kit(程序框架服务)-应用框架 | 华为开发者联盟 (huawei.com)
23、HAR(Harmony Archive)是HarmonyOS提供的共享包,以下关于HAR的描述错误的是
A、HAR可以作为二方库和三方库提供给其他应用使用,如果需要对代码资产进行保护时,建议开启混淆能力。
B、HAR不支持在设备上单独安装/运行,只能作为应用模块的依赖项被引用。
C、HAR不支持使用page页面。
D、HAR不支持引用AppScope目录中的资源。在编译构建时,AppScope中的内容不会打包到HAR中,因此会导致HAR资源引用失败。
HAR-应用程序包开发与使用-应用程序包基础知识-开发基础知识-基础入门 | 华为开发者联盟 (huawei.com)
24、应用开发中使用的各类资源文件,需要放入特定子目录中存储管理,以下关于资源说法错误的是
A、base目录是默认存在的目录,二级子目录element用于存放字符串、颜色、布尔值等基础元素,media、profile存放媒体、动画、布局等资源文件。
B、rawfile目录,支持创建多层子目录,子目录名称可以自定义,文件夹内可以自由放置各类资源文件。目录中的资源文件会被编译成二进制文件,并赋予资源文件ID。
C、resfile目录,应用安装后,resfile资源会被解压到应用沙箱路径,通过Context属性resourceDir获取到resfile资源目录后,可通过文件路径访问。
D、stage模型多工程情况下,共有的资源文件放到AppScope下的resources目录。
资源分类与访问-基础入门 | 华为开发者联盟 (huawei.com)
25、应用程序开发调试过程中,经常需要安装新应用进行调测,下面安装应用操作错误的是
A、bm install -p ohosapp.hap -r
B、bm install -p /data/app/
C、bm install -p ohosapp.hap
D、hdc install -p ohosapp.hap
hdc-调试命令-调测调优-系统 | 华为开发者联盟 (huawei.com)
26、一个应用的一个UIAblity,其exported字段配置为false,以下哪个场景可以拉起这个UIAbility。(不确定,把所有选项列出)
A、caller应用在后台,有START_INVISIBLE_ABILITY权限;
B、caller应用在后台,有START_ABILITY_FROM_BACKGROUND权限;
C、caller应用在后台,申请了长时任务,有START_INVISIBLE_ABILITY权限;
D、caller应用在后台,申请了长时任务,有START_ABILITY_FROM_BACKGROUND权限;
ArkTS组件错误码-ArkTS组件-Scenario Fusion Kit(融合场景服务)-应用服务 | 华为开发者联盟 (huawei.com)
27、一个应用有2个UIAbility组件,其module.json中abilities标签的配置如下方代码。(不确定,把所有选项列出)
在手机设备上,执行如下操作后:
1.启动UIAbility1,然后back键返回销毁UIAbility1;
2.启动UIAbility2,然后back键返回销毁UIAbility2;
3.启动UIAbility2,然后back键返回销毁UIAbility2;
进入多任务列表,能看看到该应用的几个任务视图:
"abilities": [ { "name": "UIAbility1", "srcEntry": "./ets/entryability/Ability1.ets", "description": "$string:EntryAbility_desc", "icon": "$media:icon", "label": "$string:Ability1_label", "startWindowIcon": "$media:icon", "startWindowBackground": "$color:start_window_background", "exported": true, "launchType": "multiton" }, { "name": "UIAbility2", "srcEntry": "./ets/entryability/Ability2.ets", "description": "$string:Ability2_desc", "icon": "$media:icon", "label": "$string:Ability2_label", "startWindowIcon": "$media:icon", "startWindowBackground": "$color:start_window_background", "exported": true, "launchType": "singleton", "removeMissionAfterTerminate": true }, ]
A、0个
B、1个
C、2个
D、3个
module.json5配置文件-应用配置文件(Stage模型)-开发基础知识-基础入门 | 华为开发者联盟 (huawei.com)
28、某个应用开发了一个UIAbilityA,其启动模式是specified,并且对应的AbilityStage的实现如下:(不确定,把所有选项列出)
import AbilityStage from '@ohos.app.ability.AbilityStage'; import type Want from '@ohos.app.ability.Want' export default class MyAbilityStage extends AbilityStage { this.instanceIndex = 0; onAcceptWant(want: Want): string { if (want.abilityName === 'UIAbilityA') { if (want.parameters && want.parameters.instanceKey === 'test') { return `test_instance_` + this.instanceIndex++; } else { return `test_instance`; } } return 'MyAbilityStage'; } }
// 依次调用如下方法4次启动UIAbilityA,value分别是"test" "test" "testA" "testA",则当前运行期UIAbility实例有几个 function testSpecified(context, value){ let want: Want = { deviceId: '', bundleName: 'com.samples.stagemodelabilitydevelop', abilityName: 'UIAbilityA', moduleName: 'entry', parameters :{ instanceKey: value } }; context.startAbility(want). then(() => { hilog.info(DOMAIN_ NUMBER, TAG, 'Succeeded in starting UIAbilityA.'); }).catch((err: BusinessError) => { hilog.error(DOMAIN_ NUMBER, TAG, `Failed to start UIAbilityA. Code is ${err.code}, message is ${err.message}`) }) }
A、1个
B、2个
C、3个
D、4个
29、通过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 --pi key2 2 --ps key3 testString --ps key4
B、aa start -b com.example.test -a EntryAbility --pi key1 1 key2 2 --ps key3 testString --psn 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
aa工具-调试命令-调测调优-系统 | 华为开发者联盟 (huawei.com)
30、应用发生崩溃,()接口可以获取到崩溃时调用栈
A、hiAppEvent
B、hiLog
C、hiTraceMeter
D、hiDebug
崩溃事件介绍-崩溃事件-系统事件-事件订阅-HiAppEvent使用指导-Performance Analysis Kit(性能分析服务)-调测调优-系统 | 华为开发者联盟 (huawei.com)
31、hiAppEvent提供的Watcher接口,()属性不配置,会导致编译报错,产生"ArkTS Compiler Error".
A、triggerCondition
B、name
C、onReceive
D、onTrigger
32、为了提高性能,所以List组件支持懒加载,可以通过配置cachedCount属性设置缓存列表项的数量。当我们不设置List的属性cachedcount时,该属性的默认值是?
A、0
B、1
C、2
D、3
List-容器组件-基于ArkTS的声明式开发范式-ArkTS组件-ArkUI(方舟UI框架)-应用框架 | 华为开发者联盟 (huawei.com)
33、我们需要避免在逐帧调用的接口中执行耗时操作,下面哪个选项不属于上述的接口?
A、onAreaChange
B、onScroll
C、onTouch
D、aboutToReuse
自定义组件的生命周期-自定义组件-基于ArkTS的声明式开发范式-ArkTS组件-ArkUI(方舟UI框架)-应用框架 | 华为开发者联盟 (huawei.com)
34、关于ArkUI的ForEach和LazyForEach,下列说法错误的是?
A、LazyForEach需要配合cachedCount和组件复用一起使用,以达到性能的最优表现。
B、当在滚动容器中使用了LazyForEach,框架会根据滚动容器可视区域按需创建组件,当组件滑出可视区域外时,框架会进行组件销毁回收以降低内存占用。
C、长列表滚动场景,优先使用ForEach。
D、ForEach和LazyForEach会根据定义的键值生成规则为数据源的每个数组项生成唯一键值,并创建相应的组件。
35、关于自动化测试描述正确的是:
A、XTS子系统是认证测试套件的集合,当前包括acts(application compatibility test suite)应用兼容性测试套件,后续会拓展dcts(device compatibility test suite)设备兼容性测试套件等。
B、Fuzz测试就是通过构造不规则的输入,从而触发程序的某种bug;Fuzz测试属于白盒测试。Fuzz测试也叫做模糊测试,通过输入非法字段,并观察软件是否异常来实现。一方面可以通过向软件输入非法字段,另一方面也可以通过向网络服务发送异常报文。
C、DT(开发者测试)就是UT,可看护的范围包括边界值问题、空指针或赋值错误,内部业务逻辑问题等等。
D、自动化测试因提高效率,减少重复工作的特性而被广泛采用;自动化测试可以替代手动测试在处理复杂、难以预测的用户交互或特殊边界条件。
OpenHarmony开发者文档 - XTS认证子系统 - 《华为鸿蒙操作系统(OpenHarmony) v1.0 开发者文档》 - 书栈网 · BookStack
36、以下关于HAP(Harmony Ability Package)说法正确的是()
A、DevEco Studio会在编译构建时,不需要对HAP进行一致性校验。
B、HAP是应用安装和运行的基本单位,在DevEco Studio工程目录中,一个HAP对应一个Module。应用打包时,所有的Module都只能生成.hap文件。
C、应用工程如果包含多个Module,在应用市场上架时,会将多个.hap文件打包成一个.app文件。
D、应用工程编出的app文件中,只能包含一个hap文件。
HAP唯一性校验逻辑-配置构建-编译构建-DevEco Studio | 华为开发者联盟 (huawei.com)
37、某App有A、B、C、D四个团队分别负责ModuleA、ModuleB、ModuleC和ModuleD四个业务模块,随着业务的发展,ModuleA需要跳转到ModuleB、ModuleC的页面,ModuleB需要跳转到ModuleC、ModuleD的界面,ModuleC需要跳转到ModuleA的界面,ModuleD需要跳转到ModuleB和ModuleC的界面。由于复杂的依赖关系,导致一旦有变化就需要知会各个团队,所以该团队的架构师想要解耦各个业务模块,以下哪些做法是不推荐的()
// 图片略
A、在RouterModule中采用路由表方式解耦各个业务模块。
B、采用RouterModule作为中介者并用动态import解耦各个业务模块。
C、可以采用Navigation作为页面导航根容器,将其放在entry中,其他Module的页面作为Navigation的子页面。
D、采用静态import方式引入对应跳转的页面。
动态import-应用程序包开发与使用-应用程序包基础知识-开发基础知识-基础入门 | 华为开发者联盟 (huawei.com)
38、以下对系统兼容性的理解正确的是
A、 应用不需要关注系统的兼容性变化,那都是系统开发人员需要关注的事情
B、安全法律法规等不可控因素会导致系统非兼容性变更,开发者需要积极适配
C、系统能力都会保持绝对的兼容性,不能因为任何非兼容性的修改而导致开发者成本上升
D、已发布的系统能力有可能会发生非兼容性变更,比如新增特性或修改问题导致的行为不兼容,这种情况下应用需要关注changelog并进行适配。
39、在moduleA(HAP)类型中有一个图片名为image.png,在moduleB(HAR类型)也存在一个图片名为image.png,而moduleA依赖于moduleB,那么在moduleA的编译产物hap包中,image.png存在情况是:
A、仅存在moduleA的image.png
B、两者都存在
C、仅存在moduleB的mage.png
D、两者都不存在
HAR-应用程序包开发与使用-应用程序包基础知识-开发基础知识-基础入门 | 华为开发者联盟 (huawei.com)
40、关于代理提醒开发使用的接口是
A、使用publishReminder发布一个提醒类通知,使用cancelReminder取消一个指定的提醒类通知
B、使用startBackgroundRunning申请任务,使用stopBackgroundRunning取消任务
C、使用requestSuspendDelay申请任务,使用getRemainingDelayTime获取任务剩余时间
D、使用startWork申请任务,使用stopWork取消任务,使用getWorkStatus获取任务状态
代理提醒-Background Tasks Kit(后台任务开发服务)-应用框架 | 华为开发者联盟 (huawei.com)