HarmonyOS应用开发者高级试题2025年7月部分单选题(带答案)

1.作为应用开发者,你使用hiAppEvent订阅了崩溃事件。应用崩溃后,从onReceive接口返回的AppEventInfo中()属性可以获取崩溃调用信息。

D. Params

2.某个应用开发了一个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 {

依次调用如下方法4次启动UIAbilityA,value分别是"test""test""testA""testA",则当前运行期UIAbiLifunction testSpecified(context, value){

let want: Want ={

D. 3个

3.通过aa工具拉起com.example.test的EntryAbility,并传参给EntryAbility,具体参数是number类型的key1,1key2,2和string类型的key3,teststring

[key4,

那边下面那个aa 命令是正确的

""

B.aa start -b com.example.test -a EntryAbility --pi key1 1 --pi key2 2 --ps key3 testString -- psn key4

4一个应用的一个UIAblity,其exported字段配置为false,以下哪个场景可以拉起这

个UIAbility.

D.caller应用在后台,申请了长时任务,有STARTINVISIBLE_ABILITY权限;

5.下面的配置存在有几处错误

module.json5配置文件:

'module":{

"name": "entry"

"abilities":[

{

"name":"EntryAbility""srcEntry":./ets/entryability/EntryAbility.ets"

.··"skills":[

f

entities":["entity.system.home

"actions":

"ohos.want.action.home

entities":

"entity.system.home

"actions":[

"ohos.want.action.home

"metadata":[

"name":

"ohos.entry.shortcuts"

"resource":

"profile:shortcutsconfig"在/resources/base/profile/日录下配置shortcutsconfig.json配置文件:shortcuts":[′shortcutId":"label":"shortcutLabel"icon":"profile:shortcuts_config" 在/resources/base/profile/日录下配置shortcuts_config.json配置文件: shortcuts":[ 'shortcutId": "label":"shortcutLabel"icon":"profile:shortcutsconfig"在/resources/base/profile/日录下配置shortcutsconfig.json配置文件:shortcuts":[′shortcutId":"label":"shortcutLabel"icon":"media:shortcutIcon"

"wants":[

"bundleName":"com.ohos.hello"

"moduleName":

"abilityName":

EntryAbility

D.1

6下面的配置存在有几处错误()

app.json5配置文件:

{

"app": {

"bundleName": "com.example.myapplication",

"vendor": "example",

"versionCode": 1000000,

"versionName": "1.0.2",

"icon": "media:appicon","label":"media:app_icon", "label": "media:appicon","label":"string:app_name",

"bundleType": "app"

}

}

module.json5配置文件:

{

"module": {

"name": "feature",

// ...

"atomicService": {

复制代码
  "preloads":[

    {
      "moduleName":"feature"
    }
  ]
}

}

}

D.2

5.在编译构建HAP时,会从HAP模块及依赖的模块中收集资源文件,如果不同模块下的资源文件出现重名冲突时,会按照优先级进行覆盖,现在有一个HAP依赖了两个HAR,依赖配置如下所示:

// oh-package.json5

"dependencies":

"dayjs": "^1.10.4"

"lottie":"^2.0.0'

在资源覆盖时,以下优先级排序正确的是()

C.AppScope>HAP包自身模块>dayjs模块>lottie模块

6.张工在使用DevEco Studio开发Harmonyos应用时,遇到了代码编译警告和错误。为了提高开发效率,哪一项正确描述了张工如何利用DevEcostudio的Quick rix功能来有效管理和修复代码中的问题?

C.张工通过双击Shift键打开搜索框,输入"problems"打开问题工具面板,双击具体告警条目可直接跳转到问题代码行。接着,将光标置于告警位置,利用弹出的悬浮窗选择合适的修复建议或点击"More actions"以查看更多修复选项。

7.项目需要为不同的设备形态(如手机、智能手表)提供定制化构建。请说明如何在DevEco studio中设置不同的构建配置,以生成针对不同设备的nap包?

D.在模块级别build-profile.json5定义多个target在每个target的config/deviceType中定义不同的设备类型

8.在开发HarmonyOS应用工程时,随着业务的发展,现在需要创建一个模块,关于在 DevEco Studio中创建Module,下列选项哪种方式是错误的?

B.在hvigor目录下,单击鼠标右键,选择New>Module...,创建新的Module,此时module将创建在该文件目录下。

9.小李正在使用DevEco Studio进行Harmony0S应用的开发工作,他需要对一个频繁被调用的函数calculateData()进行重构,为了帮助小李高效地找到calculateData()函数的所有引用位置,并确保重构时考虑周全,以下哪个步骤是正确的使用DevEco Studio的"Find Usages"功能的操作方法

D.小李只需将光标定位在calculateData(函数名上,右键点击并选择"Find Usages",或者直接使用快捷键Alt+ F7(macOS为Option+F7),DevEco Studio会自动列出该函数在项目中的所有引用位直。

10.在使用DevEco Studio的Profiler进行Harmony0S应用性能优化的流程中,以下哪个步骤12最恰当地描述了开发者利用Profiler工具进行性能问题识别、定位、优化及验证的完整过程

A.利用"Realtime Monitor"初步识别性能瓶颈,创建深度分析任务定位根因,根据分析结果优化代码再用"Realtime Monitor"验证优化效果

11.在使用DevEco Studio的Profiler进行Harmony0S应用或服务性能分析时,面对应用出现卡顿、加载慢等性能瓶颈问题,以下哪个描述最贴切地说明了"Time场景分析任务"的功能及其对开发者优化流程的帮助

A.Time场景分析任务展示热点区域内的CPU和进程级调用栈耗时情况,支持代码跳转,助力开发者快速定位并优化耗时较长的代码段

12.在一个包含多个模块(如entry、feature、service、library等)的大型Harmony0S应用项目中,如果某个模块feature对另外一个公共库模块library有依赖,如何通过DevEco Studio正确配置项目依赖关系

A. 在feature的oh-package,json5文件的dependencies字段中配置library的依赖

13.开发者开发了一个应用,该应用只有一个hap包,其module.ison5中abilities的配置如下所示,包含1个UIAbility(无Web组件)、1个FormExtensionAbility组件、

1个WorkSchedulerExtensionAbility组件,那么该应用在运行过程中,

最多会存在几个应用进程,

abilities":[

{

"EntryAbility""name"

"./etc/entryability/Entr"srcEntry'

"$string:EntryAbility"description"

"exported":ture

extensionAbilities":

"ClockFormExtensionAbility'"name":

"srcEntrance":"./ets/form/ClockHormE

"type":" form"

"name":"TipWorkSchedulerExtensionAbi

C.3个

14.ArkTS支持以下哪些函数

B.object.keys();

15.可以通过下面那个接口拉起导航类的垂域面板.

D. startAbilityByType

16.HAR(Harmony Archive)是Harmony0S提供的共享包,以下关于HAR的描述错误的是

A.HAR不支持使用page页面

17.在编译构建HAP时,会从HAP模块及依赖的模块中收集资源文件,如果不同模块下的资源文件出现重名冲突时,会按照优先级进行覆盖,现在有一个HAP依赖了两个HAR,依赖配置如下所示:

// oh-package.json5

"dependencies":

"dayjs": "^1.10.4"

"lottie":"^2.0.0'

在资源覆盖时,以下优先级排序正确的是()

C.AppScope>HAP包自身模块>dayjs模块>lottie模块

18.张工在使用DevEco Studio开发Harmonyos应用时,遇到了代码编译警告和错误。为了提高开发效率,哪一项正确描述了张工如何利用DevEcostudio的Quick rix功能来有效管理和修复代码中的问题?

C.张工通过双击Shift键打开搜索框,输入"problems"打开问题工具面板,双击具体告警条目可直接跳转到问题代码行。接着,将光标置于告警位置,利用弹出的悬浮窗选择合适的修复建议或点击"More actions"以查看更多修复选项。

19.在一个包含多个模块(如entry、feature、har、hsp等)的大型Harmony0s应用项目中,如果要对某个静态共享模块构建出静态构建包产物,如何通过DevEco studio进行构建

A.选中har模块,点击build菜单栏make module'har

20.项目需要为不同的设备形态(如手机、智能手表)提供定制化构建。请说明如何在DevEco studio中设置不同的构建配置,以生成针对不同设备的hap包?

D.在模块级别build-profile.json5定义多个target在每个target的config/deviceType中定义不同的设备类型

21.在开发HarmonyOS应用工程时,随着业务的发展,现在需要创建一个模块,关于在 DevEco Studio中创建Module,下列选项哪种方式是错误的?

B.在hvigor目录下,单击鼠标右键,选择New>Module...,创建新的Module,此时module将创建在该文件目录下。

22.在一个包含多个模块(如entry、feature、service、library等)的大型Harmony0S应用项目中,如果某个模块feature对另外一个公共库模块library有依赖,如何通过DevEco Studio正确配置项目依赖关系

A. 在feature的oh-package,json5文件的dependencies字段中配置library的依赖

23.项目中包含多个模块和数千行代码。随着开发的深入,项目中的ArkTS源代码文件逐渐积累了大量import语句,其中不乏未使用的import以及不规范的排序情况,关于DevEco studio的编辑器的"optimize Imports",以下说法正确的是

C可以在菜单栏中依次点击"Code">"ReformatCode"来达到优化import的目的,因为"Optimizelmports"功能已整合进"Reformat Code"中。

24.使用promptAction.showToast如何设置显示在其他应用之上?

D.ToastShowMode,TOP MOAST

25.为了使isShow参数值与半模态界面的状态同步,可以使用下列那种方式双向绑定参数?

D. Column() {

Button("transition modal 1")

.onClick(() => {

this.isShow = true

})

.fontSize(20)

.margin(10)

.bindSheet($$this.isShow, this.myBuilder(), {height: this.sheetHeight, dragBar: this.showDragBar, backgroundColor: Color.Green, onAppear: () => {console.log("BindSheet onAppear.")}, onDisappear: () => {console.log("BindSheet onDisappear.")}})

}

.justifyContent(FlexAlign.Center)

.width('100%')

.height('100%')

26.下面哪种转场效果在入场动画时,表现为从透明度为0、相对于组件正常显示位置x方向平移100vp的状态,到默认的透明度为1、相对于组件不平移的状态,且透明度动画和平移动画的动画时长均为2000ms

B.TransitionEffect.OPAClTY.animation({duration.2000}).combine(TransitionEffect.translate({x:100}))

27.在方舟字节码的函数调用规范中,前三个参数表示的含义分别是

B. 函数对象本身、new.Target、this

28.下面关于方舟字节码格式PREF_IMM16_V8_V8描述正确的是

A. 16位前缀操作码,16位立即数,2个8位寄存器

29.下面关于方舟字节码格式IMM16_ID16_IMM8描述正确的是

C.8位操作码,16位立即数,16位id,8位立即数

30.以下关于垂直滚动Grid组件使用cachedcount属性的说明正确的是

D.设置cachedCount为1,则Grid在显示范围上下各缓存1个Gridltem

31.以下示例代码中可以进行动画的属性有哪些?

struct MyComponent {

@State compwidth: number = 100;

@State compHeight: number = 100;

@State compRadius: number = 32;

build() {

Column() {

}

.backgroundColor("#ffcb3b3b")

.width(this.compwidth) //1

.height(this.compHeight) // 2

.animation({ curve: Curve.Ease, duration: 200 })

.borderRadius(this.compRadius) //3

.onClick(() => {

this.compwidth += 10;

this.compHeight += 10;

this.compRadius += 4;

复制代码
  showToast(`宽度${this.compwidth}`+`高度${this.compHeight}`+`圆角${this.compRadius}`)

})

B. 1、2、3

32.ArkTS支持以下哪个函数?

D. Object.values();

33.以下哪个装饰器用来表示并发共享对象。

D. @Sendable

34.作为一个应用开发者,想搭建运维平台,想在应用内定时读取当前的内存信息,可以通过()接口来实现。

B. hiDebug

35.以下哪些赋值语句在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()

D a2

36.依次点击A、B、C、D四个按钮,其中不会触发Ui刷新的是

复制代码
  Button("C")
    .onClick(() => {
      this.nameList[0].name = "Jim";
    })

37.开发者小李遇到了一个复杂的问题,该问题仅在特定的代码执行路径上出现,且难以复现。他使用的是C++进行核心算法开发,代码的逻辑密集且对性能要求极高,DevEco studio为C/C++开发者提供的高级调试能力,以下哪个能力可以帮助小李查看代码历史执行路径,回溯到关键的变量状态

D.反向调试能力:允许开发者在调试过程中回退回到之前的代码行或断点,不仅查看过去的堆栈信息,还能重现历史的全局、静态和局部变量状态,帮助深入理解代码历史行为,特鄙视对于复杂逻辑和难以浮现的bug定位至关重要