HarmonyOS应用开发高级认证考试答案五--多选题

31、某个应用的启动框架配置文件详细信息如下,以下说法正确的是()

①StartupTask_001会在StartupTask_004之后执行:

②StartupTask_006会在AbilityStage的onCreate前初始化完成

③StartupTask_005会在主线程执行


32、以下module.json5配置文件正确的是(ABD)

type 属性设为 har的配置是错的。


33、使用ArkUI组件复用之后,还是没有显著提升列表滑动场景的性能,于组件复用未生效可能的原因有?  ABC

A. 复用的自定义组件中使用了if等条件渲染语句导致结构不相同,本便用reusetd标记

B. 页面嵌套了过多自定义组件。

C. 在aboutToReuse回调的数中更新了冗余的状态变量

D. 没有在aboutToReuse更新关联的状本变型数据


34、hiAppEvent提供的Watcher接口,订阅到的系统事件,哪些包含HiLog日志?(BD)

A.CPU高负载事件

B.卡死事件

C.启动耗时事件

D.崩溃事件


35、以下A到G选项,哪些是持续部署最佳实践?(BEFG)

A.手工配置管理:

1、直接修改生产环境上的配置来改变系统配置

2、集群中各节点的行为有所不同;

3、靠人手工恢复环境。手动记载配置包括操作系统、应用服务器、关系型数据库管理系统、Web服务器或其他基础设施设置。

B:监控和回滚机制:实时监控部署后的应用状态,如有问题及时回滚。

C:开发完成之后再向类生产环境部署:当软件被第一次部署到类生产环境(比如试运行环境)时,就是大部分开发工作完成时,至少是开发团队认为“该软件开发完成了”。

D:手工部署:持续部署可以采用手工部署的方式发布软件:

1、有一份非常详尽的文档,该文档描述了执行步骤及每个步骤中易出错的地方;

2、以手工测试来确认该应用程序是否运行正确;

3、在发布时,常常会修正一些在发布过程中发现的问题。

E:灰度发布:先在小部分用户或区域进行部署,观察没问题后再全面推广

F:环境一致性:保持开发、测试、生产等环境的高度一致性。

G:自动化部署流程:从代码提交到部署的整个流程应尽可能自动化。


36、下面关于Node-API数据类型描述正确的是?(AC)

A napi_env:用于表示Node-API执行时的上下文

B napi_threadsafe_function_cal_mode:该枚举类型定义了两个常量,用于指定在何时释放线程安全函数的回调函数

C napi_status:是一个枚举数据类型,表示Node-API接口返回的状态信息

D napi_threadsafe_function_release_mode:该枚举类型定义了两个常量,用于指定线程安全函数的调用模式


37、List组件onscrollIndex事件触发时机是?(AC)

A.List组件列表滚动时每帧触发

B.List组件首次加载完成时触发

C.List组件显示区域内第一个子组件或最后一个子组件或中间位置子组件索引值变化时触发

D.List组件滚动停止时触发


38、Harmonyos应用开发者小张,正在利用DevEcostudio进行一款复杂应用的UI界面调试。小张了解到ArkUI Inspector是DevEco studio内置的一项强大工具,能够显著提升UI调试效率。

基于ArkUIInspector的特性描述,下列哪些描述是正确的?(ABC)

A.交互式组件选择:用户既可以在组件树视图中选择组件,使U界面上对应组件高亮显示并展示其属性详情:也可以直接在U1布局显示界面上点击选择组件

B.UI快照管理:支持导出应用的UI界面为快照图片,并允许这些快照被导入回ArkUl lnspector中,便于离线分析或分享讨论UI设计方案

C.Ul效果查看:开发者能够查看连接真机上运行的应用程序的U显示效果,页面组件树结构,以及选中组件的属性信息

D.性能监控:提供详细的UI渲染性能指标,帮助开发者识别布局瓶颈和渲染效率问题,从而优化应用性能


39、HSP支持导出ArkU组件、接口,供应用内的其他HAP/HSP引用,下面正确的是

导出ts类和方法

导出A入库UI组件

导出native方法,在HSP中也可以包含C++编写的so。对于so中的native方法,HSP通过间接的方式导出,以导出liblibrary.so的乘法接口multi为例


40、下面代码符合ArkTS编程规范的是:   CD

A. for(let idx = 0; idx < 5 ; ++idx)

console.log(idx)

B.  let maxCount =10,isCompleted =false;

let pointx,pointy;

pointx=10;pointy=0;

C. If(condition){ console.log(‘success’) }

D.  let maxCount =10;

let isCompleted = false;

let pointx =0;

let pointy =0;


41、某业务团队发现用户对他们App的某个特性使用率并不高,为了节省用户首次下载安装包的体积,考虑将该特性做成按需加载,那么推荐该特性使用的工程模块类型是?  (AB) 

A.hap

B.hsp

C.app

D.har


42、以下哪个是系统资源的引用方式?A

A. 使用$r('sys.type.resource_id')

B. 使用$r('app.type.name')

C. 使用$sys('type.resource_id')

D. 使用$app('type.name')


43、Row父容器宽度100,其中子组件X设置了layoutWeight(3)和width('20%'),子组件Y设置了layoutWeight(2)和width('30%'),会出现什么样的效果?  C

A. 子组件X宽度20,子组件Y宽度30

B. 子组件X宽度40,子组件Y宽度60

C. 子组件X宽度60,子组件Y宽度40

D. 子组件X宽度30,子组件Y宽度20


44 以下代码片段哪儿几处违反ArkTS语法规范  ABC

function foo(value1:number){

 return value;

}

A. foo(‘’)

B. foo(undefined)

C. foo(null)

D. foo(0)


45 下面关于方舟字节码文件格式描述正确的是(CD)

A.方舟字节码文件中不包含字节码文件内容的adler32校验和

B. 方舟字节码文件中数据类型uint32_t表示32-bit无符号整数,采用大端字节序

C.方舟字节码文件中数据类型uint16_t表示16-bit无符号整数,采用小端字节序

D.方舟字节码文件是ArkTS/TS/JS编译后的二进制产物


46 ArkTs中不能使用以下哪些类型。(AB)

A. unknown

B. any

C. union type

D. tuple type


47 当前动态import支持导入的模块类型有哪些? (ABCD)

A.动态import支持加载HSP模块

B.动态import支持加载远程HAR模块

C.动态import支持加载OHPM模块

D.动态import支持加载本地HAR模块


48 ArkTs是鸿蒙生态的应用开发语言。下列说法正确的是 (ABD)

A.ArKTS提供了声明式UI范式、状态管理支持等相应的能力,让开发者可以以更简洁、更自然的方式开发应用

B.针对JavaScript(简称JS)/TS并发能力支持有限的问题,ArKTS对并发编程API和能力进行了增强。

C. TS/JS代码支持import ArkTS代码。

D. ArKTS在保持TypeScript(简称TS)基本语法风格的基础上,进一步通过规范强化静态检查和分析,使得在程序运行之前的开发期能检测更多错误,提升代码健壮性,并实现更好的运行性能。


49 下面关于混淆规则描述正确的是 (AB)

A.-enable-export-obfuscation:开启直接导入或导出的类或对象的名称和属性名混淆

B.-disable-obfuscation:关闭所有混淆

C.-enable-toplevel-obfuscation:开启属性混淆

D.-enable-property-obfuscation:开启顶层作用域名称混淆


50 那些属性声明是正确的 

value1 value4的声明


51 下面ABCD关于混淆规则描述正确的是(AC)

A. -print-namecache filepath: 将名称缓存保存到指定的文件路径。

B. -keep-property-name [,identifiers,..]:指定要保留的顶层作用域的名称

C. -keep-file-name [,identifiers...]:指定要保留的文件/文件夹的名称

D. -keep-global-name [,identifiers....]:指定想保留的属性名


52、一个应用通常会包含多种功能,将不同的功能特性按模块来划分和管理是一种良好的设计方式。在开发过程中,我们可以将每个功能模块作为一个独立的Module进行开发,下面关于Module的说法正确的是   

①feature类型的Module,应用的动态特性模块,一个应用中可以包含一个或多个feature类型的模块,也可以不包

②Ability类型的Module,用于实现应用的功能和特性,有两种类型,分别为entry和feature。

③Library类型的Module,用于实现代码和资源的共享,有两种类型,分别为Static Library和Shared Library两种类型。


53 、grid上的捏合手势手势生效,而不跟grid上的滚动手势形成冲突,.xxxx?手势接口应该怎么配置   ACD

A. priorityGesture

B. GesureGroup

C. parallelGesture

D. Gesture


54 以下哪些是可以在Navigation中使用pushPathByName接口传递的params的参数类型 ABD 

A string

B arrayBuffer

C map<string,string>

D record<string,string>


55、以下代码片段哪几个class/interface违反了ArkTS语法规范

①Instructor

②Circle


56 在开发Harmonyos应用的多元化测试环境中,DevEco studio引入了本地模拟器(Loca1Emulator)作为重要工具,旨在帮助开发者在个人开发机器上高效模拟Harmonyos环境,

进行应用或服务的快速运行与细致调试。请根据本地模拟器的实际应用场景与系统要求,选出所有正确的描述选项(CD)

A.开发者需要注意的是,DevEco Studio的本地模拟器可以在虚拟机内部进一步运行,以节省硬件资源。

B.为了保证流畅的运行和调试体验,本地模拟器推荐macOS系统版本至少为12.5以上。

C.DevEco Studio的本地模拟器允许开发者在个人电脑上模拟HarmonyOS环境,便于应用或服务的运行与调试。

D.mac计算机配置方面,为了确保本地模拟器的稳定运行,推荐至少配备8GB RAM。


57 通过如下openLink的接口启动,如下哪些配置的UAbility不可能被拉起?

Uri地址是https://www.example.com

除了viewData+https的另外三个


58 以下关于Localstorage的说法正确有哪些? (ACD)

A.被@Component装饰的组件最多可以访问一个LocalStorag?实例和AppStorage,未被@Entry装饰的组件不可被独立分配LocalStorage实例,只能接受父组件的LocalStorage实例。

B.LocalStorage中的所有属性都是不可变的。

C.组件树的根节点,即被@Entry装饰的@Component,可以被分配一个LocalStorage实例,此组件的所有子组件实例将自动获得对该LocalStorage实例的访问权限。

D.应用程序可以创建多个LocalStorage实例,LocalStorage实例可以在页面内共享,也可以通过GetShared接口,获取在UIAbility里创建的GetShared,实现跨页面、UAbility内共享。


59 在开发过程中,我们可以将每个功能模块作为一个独立的Module进行开发。关于Module,下列选项说法正确的  ACD

A. Shared Library;动态共享库。HSP中的代码和资源可以独立编译,运行时在一个进程中代码也只会存在一份。

B. entry类型的Module:应用的主模块,包含应用的入口界面、入口图标和主功能特性,编译后生成entry类型的HAP。每一个应用分发到同一类型的设备上的应用程序包,可以包含一个或多个entry类型的HAP

C. Static Library:静志共享库。HAR中的代码和资源跟随使用方编弹,如果有多个使用方。它们的愉洋产物中会存在多份椎同转势。

D. feature类型的Module:应用的动态特性模块,编译后生成feature类型的HAP。一个应用中可以包含一个或多个feature类服的HAP,也可以不包含


60 如下哪些方式可实现图片动态播放?

不要选png那个或者import {image} from ‘@kit.ImageKit’


61 如何实现类似下图布局

①选WaterFlow

②选List


62、以下关于ArkTS线程实例间传输实现方式描述正确的是(CD)

以下代码块中关于ArkTS线程实例间传输实现方式的调用语句,描述正确的是ABCD中哪几项?

import { taskpool,worker } from '@kit.ArkTs';

@sendable

class A{}

let a: A= new A();

@Concurrent

function foo(a: A){}

let task:taskpool.Task = new taskpool.Task(foo, a)

let w= new worker.Threadworker("entry/ets/workers/Worker.ets" )

taskpool.execute(task).then(()=>{});

w.postMessageWithSharedSendable(a);

task.setCloneList([a]);

taskpool.execute(task).then(()=>{});

w.postMessage(a);

A: w.postMessage(a);,Worker 共享传输实现方式

B: taskpool.execute(task).then(()=>{});,TaskPool 共享传输实现方式

C: w.postMessageWithSharedSendable(a);,Worker 共享传输实现方式

D: task,setCloneList([a]); taskpool.execute(task).then(()=>{);,TaskPool 共享传输实现方式


63、下面关于动态import描述正确的(ACD)

A.HAR模块间只有变量动态import时可以进行模块解耦

B.常量动态import也必须配置runtimeOnly选项

C.动态import根据入参是否为常量字符串分为常量动态import和变量动态import两种

D.动态导入import()是个异步接口,调用后将返回一个promise


64、下面关于ArkTS中export用法,正确的是   ABCD

A. export( export1 as aliss1 } from "ets file name”

B. export * from “ets file name”

C. export * as name from "ets fle nam”

D. export {export1}  from "ets fie name”


65、下面关于混淆的描述正确的是

支持顶层作用域名称、属性名称、文件名称等多种混淆功能

修改应用混淆配置,新配置需要重新全量编译应用才能生效


66、在使用DevEco Studio进行HarmonyOS应用开发和调试过程中,开发者小张遇到应用运行时意外终止的情况,他需要快速定位并解决导致应用崩溃的问题。以下哪些做法可以帮助小张有效分析和处理这些问题?(ABC或ABCD或ABD都错,待验证)

A.利用系统自动生成的FaultLog,包括App Freeze、CPP Crash、JS Crash、System Freeze和ASan报告,这些报告会详细记录故障发生时的环境、堆栈信息和可能的故障原因,是排查问题的重要参考

B.当怀疑问题是由于C++代码中的内存错误(如数组越界、内存泄露、重复释放内存)引起时,进入“Run/Debug Configurations”设置界面,勾选启用Address Sanitizer(ASan),然后重新部署应用进行测试以获取更详细的内存问题报告

C.查看DevEco Studio log工具栏输出的错误日志,根据日志提示分析应用崩溃的具体原因及代码位置

D.若遇到App运行卡顿或系统整体无响应(App Freeze、System Freeze)的情况,可以通过性能分析工具中的Frame Insights和Allocation Insights功能,分析应用的资源消耗情况,寻找可能的瓶颈


67、在ArkTS中,以下哪些属性的声明是正确的。

①value1

②value3

③value4

 


68、为了加快构建速度,提高开发效率,可以如何调整hvigor配置,从而优化构建速度?

①启用hvigor的incremental,在增量场景下检查任务是否可以跳过

②启动hvigor的daemon模式,在增量场景下复用缓存

③启用hvigor的parallel,在增量场景下进行并行编译处理


69、在基于Stage模型开发的应用项目代码下,都存在一个app.json5配置文件,用于配置应用的全局信息,以下appjson5配置文件错误的是

①少了versionName那一项

②label属性少了$string的


70、下面关于方舟字节码指令含义说明正确的是?

①假设寄存器v0存放了对象A, 累加器(acc)存放了对象B,那么执行指令"lda v0"后,v0存放对象A,acc存放对象A

②假设寄存器v0存放了对象A,寄存器v1存放了对象B,那么执行指令'mov v0, v1"后,v0存放对象B, v1存放对象B


71、Code Linter针对ArKTS/TS代码进行最佳实践/编程规范方面的检查,最佳实践/编程规范方面的检查规则可以配置,针对codelinter的配置项一下哪些说法是正确的?

①ruleSet:配置检查使用的规则集,规则导入多条规则。

②ignore:配置无需检查的文件目录,其指定的目录或文件需使用相对路径格式,相对于code-inter.json5所在工程根目录,例如:build/**/*

③fles:配置待检查的文件名单,如未指定目录,规则适用于所有文件,例如:["**/*.ets","**/*.js","**/*.ts"]


72、ArkTS是鸿蒙生态的应用开发语言。以下哪些选项是ArkTS的设计理念 

①ArkTS保留了TS大部分的语法特性,帮助开发者更容易上手ArkTS

②通过规范强化静态检查和分析,减少运行时的类型检查,从而降低了运行时负责,提升执行性能

③通过规范强化静态检查和分析,使得许多错误在编译时可以被检查出来,降低代码

运行错误的风险


73、开发者小李正在使用DevEco Studio开发一款面向HarmonyOS的应用,该应用需要在多种设备上表现出一致的稳定性和优秀的用户体验。为了确保高质量的发布,小李意识到需要实施一套全面的测试策略,覆盖代码的自动化测试和手动测试,还需要衡量代码的测试覆盖率,以确定测试的充分性。在DevEco Studio的测试框架下,以下描述中,哪些是正确的1、2、3答案不对,1、2答案不对, 2、3不对,全选也不对,待验证更新)

①DevEco Studio的测试框架提供测试用例执行能力,包含基础接口以编写和输出测试结果,鼓励用户创建易于维护的自动化测试脚本,并且统计代码覆盖率。

②Instrument Test:测试用例存储于项目的ohosTest目录,要求在HarmonyOS设备或模拟器上执行,兼容ArkTS与JS语言编写。

③无论选择Instrument Test还是Local Test,DevEco Studio均内置了详尽的测试报告功能,实时显示测试进度,且直接在IDE中可查看代码覆盖率报告,无需外部工具


74、在ArkTS中,以下代码片段正确的是(编译器验证)

 function fn(x: string | number): string {

  return 'value: ' + x;

}

type funcType = (ns: string) => string;

let func: funcType = fn;

function fn(x: string | number): string {

  return 'value: ' + x;

}

type funcType = (ns: string | number) => string;

let func: funcType = fn;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值