鸿蒙高级开发者认证题库
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快捷键全局搜索问题,然后手动在搜索结果中找出代码警告和错误的原因及位置。
- 张工通过双击Shift键打开搜索框,输入"problems“打开问题工具面板,双击具体告警条目可直接跳转到问题代码行。接着,将光标置于告警位置,利用弹出的悬浮窗选择合适的修复建议或点击“More actions”以查看更多修复选项。
- 张工只需在代码编辑界面按下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