Bootstrap

鸿蒙OS应用开发试题

1.作依次调用如下方法4次启动U

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

A.eventType

B. name

C. domain

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 ={

A. 4个

B. 1个

C. 2个

D. 3个

3.通过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-- psn key4 “”

B.aa start -b com.example.test -a EntryAbility --pi key1 1 --pi 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 -- ps key4

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

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

个UIAbility.

A.caler应用在后台,有START INVISIBLE ABILITY权限;

B.caller应用在后台,申请了长时任务,有START ABILITY FROM BACKGROUND权限:

C.caller应用在后台,有START ABILITY FROM BACKGROUND权限

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

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

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:shortcuts_config"

在/resources/base/profile/日录下配置shortcuts_config.json配置文件:

shortcuts":[

'shortcutId":

"label":"shortcutLabel"icon":"$media:shortcutIcon"

"wants":[

"bundleName":"com.ohos.hello"

"moduleName":

"abilityName":

EntryAbility

A.4

B.3

C.2

D.1

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

app.json5配置文件:

{

app":{

bundleName":"comexample.myapplication"

'vendor":"example",

"versionCode":1000000,

versionName":"1.0.2",

"icon":"$media:app icon",

"label”:"$string:app name",

"bundleType":"app

}

module.json5配置文件:

{

"module":{

"name":"feature"

/ /...

atomicService:{

preloads:[

{

   moduleName:feature

}

       ]

      }

     }

}

A.4

B.3

C.1

D.2

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

// oh-package.json5

"dependencies":

"dayjs": “^1.10.4"

"lottie":“^2.0.0'

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

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

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

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

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

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

A.张工在代码编辑界面看到红色波浪线标记的错误时,直接右键点击错误代码,选择“DeleteLine”以移除错误代码行,从而“修复”问题

B.张工应该首先使用Ctrl +Shift +F快捷键全局搜索问题,然后手动在搜索结果中找出代码警告和错误的原因及位置。

  1.  张工通过双击Shift键打开搜索框,输入"problems“打开问题工具面板,双击具体告警条目可直接跳转到问题代码行。接着,将光标置于告警位置,利用弹出的悬浮窗选择合适的修复建议或点击“More actions”以查看更多修复选项
  2.  张工只需在代码编辑界面按下F1键,DevEcoStudio会自动识别当前光标所在行的错误并直接修复。

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

A.在工程级别build-profile.ison5定义多个product,在每个product的config/deviceType中定义不同的设备类型

B.在工程级别build-profile.json5定义多个product,在每个product的config/distributionFilter中定义不同的设备类型

C.在模块级别build-profilejson5定义多个target,在每个target的config/distributionFilter中定义不同的设备类型

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

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

A.在工程根目录下创建一个新的Directory,可在该目录下单击鼠标右键,选择New> Module...,创建

新的Module,此时module将创建在该文件目录下。

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

C.选中工程目录中任意文件,然后在菜单栏选择File > New> Module...,开始创建新的Module,此时该module将创建在工程根目录下。

D.鼠标移到工程目录顶部,单击鼠标右键,选择New>Module...,开始创建新的Module,此时该module将创建在工程根目录下。

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

D A.小李应将光标置于calculateData()函数的名称上,按下Ctrl+Shift+F(macOs为Command + Shift+F)全局搜索该函数名,然后在搜索结果中筛选出真正的调用位置。

B.小李应当在项目目录树中找到calculateData(函数所在的文件,直接双击打开文件,然后逐行扫描代码以手动查找该函数的所有调用位置。

小李应该在菜单栏中选择“Navigate”>“Class”来打开类浏览器,从中找到calculateData0)函数,并)

C.在此界面中手动检查所有引用。

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

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

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

B.首先使用“Realtime Monitor”实时监控,观察应用资源消耗,一旦发现CPU或内存异常,直接修改代码并重新编译

C.在发现应用性能不佳时,直接查看代码逻辑,凭经验修改后,利用Profiler的“Realtime Monitor”确认资源消耗是否降低

D.仅通过创建深度分析任务,利用perf数据详细分析性能瓶颈,修改代码后,不需再进行验证直接发布应用

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

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

B.Time场景分析任务专注于内存管理,帮助开发者监控应用内存泄漏,但对解决卡顿和加载耗时问题帮助有限

C.Time场景分析任务在应用诞行时,通过显示所有函数执行的耗时排序列表,辅助开发者手动对比寻找耗时最短的函数进行优化

D.Time场景分析任务仅提供应用/服务运行时的CPU使用率概览,帮助开发者粗略判断性能瓶颈,但不提供深入分析

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

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

B. 无需配置,直接在代码中编写import xxx from'library

C.在feature的build-profile,json5文件的dependencies字段中配置library的依赖

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

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

A.1个

B.2个

C.3个

D.4个

14.ArkTS支持以下哪些函数

A.Object.getOwnPropertySymbols();

B.object.keys();

c.Object.isPrototypeOf(;

D.Object.isExtensible();

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

A.startAbilityForResult

B. startAbility

C.startAbilityByCall

D. startAbilityByType

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

A.HAR不支持使用page页面

B.HAR不支持引用AppScope目录中的资源。在编译构建时,AppScope中的内容不会打包到HAR中,因此会导致HAR资源引用失败。

C.HAR不支持在设备上单独安装/运行,只能作为应用模块的依赖项被引用。

D.HAR可以作为二方库和三方库提供给其他应用使用,如果需要对代码资产进行保护时,建议开启混淆能力。

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

// oh-package.json5

"dependencies":

"dayjs": “^1.10.4"

"lottie":“^2.0.0'

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

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

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

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

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

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

A.张工在代码编辑界面看到红色波浪线标记的错误时,直接右键点击错误代码,选择“DeleteLine”以移除错误代码行,从而“修复”问题

B.张工应该首先使用Ctrl +Shift +F快捷键全局搜索问题,然后手动在搜索结果中找出代码警告和错误的原因及位置。

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

D.张工只需在代码编辑界面按下F1键,DevEcoStudio会自动识别当前光标所在行的错误并直接修复。

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

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

B. 选中hap模块,点击通过菜单栏make module'hap

C.选中har模块,点击build菜单栏build hap(s)

D. 选中hsp模块,点击通过菜单栏make module'hsp

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

A.在工程级别build-profile.ison5定义多个

product,在每个product的config/deviceType中定义不同的设备类型

B.在工程级别build-profile.json5定义多个product,在每个product的config/distributionFilter中定义不同的设备类型

C.在模块级别build-profilejson5定义多个target,在每个target的config/distributionFilter中定义不同的设备类型

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

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

A.在工程根目录下创建一个新的Directory,可在该目录下单击鼠标右键,选择New> Module...,创建

新的Module,此时module将创建在该文件目录下。

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

C.选中工程目录中任意文件,然后在菜单栏选择File > New> Module...,开始创建新的Module,此时该module将创建在工程根目录下。

D.鼠标移到工程目录顶部,单击鼠标右键,选择New>Module...,开始创建新的Module,此时该module将创建在工程根目录下。[数学公式]

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

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

B. 无需配置,直接在代码中编写import xxx from'library

C.在feature的build-profile,json5文件的dependencies字段中配置library的依赖

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

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

A.在DevEco Studio中,没有直接的“Optimizemports”功能,需要安装第三方插件来实现这个需求。

B.为了快速清理未使用的import,可以选中项目根目录,按下快捷键Ctrl+Alt+0(在macOS上为Control+Option+0),让DevEco Studio自动识别并移除所有未使用的import,并自动按照预设规则排序和合并import。

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

D.应该手动遍历每个ArkTS文件,逐一检查并删除未使用的import语句,然后按照字母顺序手动排序剩余的import。

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

A. 无需配置,默认显示在其他应用之上

B. ToastShowMode.DEFAULT

C.ToastShowMode.SYSTEM_TOP_MOST

D.ToastShowMode,TOP MOAST

;