HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 单选题序号2

基础认证题库请移步:HarmonyOS应用开发者基础认证题库


注:有读者反馈,题库的代码块比较多,打开文章时会卡死。所以笔者将题库拆分,单选题20个为一组,多选题10个为一组,题库目录如下,读者可以按需跳转。如果对您的阅读产生不便,笔者在这里向大家说声抱歉,请各位读者原谅。完整的md文档,等读者把题库整理完,会将网盘链接发出。

序号目录:


注:题目是乱序,每次考试,选项的顺序都不同

单选题题库 - 序号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

@ohos.hiviewdfx.hiAppEvent (应用事件打点)-ArkTS API-Performance Analysis Kit(性能分析服务)-调测调优-系统 | 华为开发者联盟 (huawei.com)


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)


  • 27
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值