首页 > 其他分享 >HarmonyOS应用开发者高级认证(一)

HarmonyOS应用开发者高级认证(一)

时间:2024-08-13 19:28:25浏览次数:9  
标签:分析 应用 认证 HarmonyOS 开发者 答案 test 调试 页面

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

答案:

		Button("C")
        .onClick(() => {
          this.nameList[0].name = "Jim"
        })

分析:直接更新非一级数据不会触发UI刷新

2、如果要实现Row组件内的子元素均匀排列,且第一个元素与行首对齐,最后一个元素与行尾对齐,需要使用justifyContent的哪个枚举值。

答案: SpaceBetween
分析:
在这里插入图片描述

3、开发者开发了一个应用,该应用只有一个 hap包,其 module.json5中 abilities的配置如下所示,包含 1个 UIAbility(无 Web组件 )、 1个 FormExtensionAbility组件、 1个WorkSchedulerExtensionAbility组件,那么该应用在运行过程中,最多会存在几个应用进程。

答案:3个
分析:同一应用内的所有同类型的ExtensionAbility运行在同一独立进程(除ServiceExtensionAbility、DataShareExtensionAbility外),跟UIAbility组件不在同一进程。
例如:一个应用有1个UIAbility组件、1个ServiceExtensionAbility、1个DataShareExtensionAbility、2个FormExtensionAbility、1个ImeExtensionAbility。则该应用在运行时,有三个进程:
UIAbility、ServiceExtensionAbility、DataShareExtensionAbility运行在同一个进程。
FormExtensionAbility运行在一个独立进程。
ImeExtensionAbility运行在一个独立进程。

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

答案:$$this.isShow
分析:

  build() {
    Column() {
      Button("transition modal 1")
        .onClick(() => {
          this.isShow = true
        })
        .fontSize(20)
        .margin(10)
        .bindSheet($$this.isShow, this.myBuilder(), {
          height: this.sheetHeight,
        })
    }
    .justifyContent(FlexAlign.Center)
    .width('100%')
    .height('100%')
  }
}
5、以下哪份代码可以实现下图 Grid布局。

在这里插入图片描述

答案:通过GridLayoutOptions
分析:由不同大小的网格组成不均匀分布的网格布局场景在实际应用中十分常见,如上图所示。在Grid组件中,可以通过创建Grid时传入合适的 GridLayoutOptions 实现如图所示的单个网格横跨多行或多列的场景。

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

答案:在hvigor目录下,单击鼠标右键,选择New > Module... 创建新的Module,此时module将创建在该文件目录下。
分析:hvigor :存放前端构建配置信息

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

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

8、开发者小张正在使用 DevEco Studio开发一款 Harmony0S应用,他遇到了一个仅在应用实际运行环境中出现的问题,需要调试已部署在设备上的应用以定位问题根源,为了能够在应用已经运行的情况下介入调试,小张应该采用哪种调试方法?

答案:Attach Debugger to Process,这允许他连接到正在运行的应用进程进行调试。
分析:

9、Harmonyos应用开发团队正着手优化一款面向全球市场的在线教育应用,该应用在特定课程直播环节出现了性能波动和响应延迟的问题,严重影响用户体验。打算利用 DevEco Profiler来进行性能优化。DevEco Profiler其设计核心和主要优势是什么 。

答案:DevEco Profier依据 Top-Down设计理念,通过高度整合的数据展示范式,提供从宏观到微观的性能数据分析,加速开发者定位和解决问题的过程
分析:

10、WebSocket连接开发步骤描述错误的是。

答案:调用 Session.start方法开启 metadata数据输出
分析:

11、某业务团队的架构师发现某个特性用的频率比较少,但是这个特性占用空间资源还是比较大的。为了减少首包下载体积,准备将该特性解耦出来,并对外提供 API方便主模块调用。以下说法正确的是。

答案:将该特性做成按需加载的 hsp包,暴露接口给主模块使用。
分析:

12、以下关于 HAP(Harmony Ability Package)说法正确的是。

答案:应用工程如果包含多个 Module,在应用上架时,会将多个.hap文件打包成一个.app文件。
分析:

13、我们需要避免在逐帧调用的接口中执行耗时操作,下面哪个选项不属于上述的接口?

答案:aboutToReuse
分析:组件复用时避免在aboutToReuse中执行耗时操作。 例如,在滑动场景中,使用组件复用通常需要用生命周期回调aboutToReuse去更新组件的状态变量。在滑动时,aboutToReuse会被频繁调用。如果在aboutToReuse中进行了耗时操作,将导致应用出现卡顿丢帧的问题。

14、某个应用开发了一个 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次启动 UIAbi1ityA,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})
	})

}

答案:3
分析:由于UIAbilityA的启动模式配置为指定实例启动模式,在UIAbilityA启动之前,会先进入其对应的MyAbilityStage的​​onAcceptWant()​​​生命周期回调中,解析传入的want参数,获取"instanceKey"自定义参数。根据业务需要通过MyAbilityStage的​​onAcceptWant()​​​生命周期回调返回一个字符串Key标识。​​如果返回的Key对应一个已启动的UIAbility​​,则会将之前的UIAbility拉回前台并获焦,而不创建新的实例,否则创建新的实例并启动。
本题’test’返回key为’test_instance_1’
‘test’返回key为’test_instance_2’
‘testA’返回key为’test_instance’
‘testA’返回key为’test_instance’ 三个不同key值对应三个实例

15、应用程序开发调试过程中,经常需要安装新应用进行调测,下面安装应用操作错误的是。

A. hdc install -p ohosapp.hap
B. bm install -p ohosapp.hap
C. bm install -p ohosapp.hap -r
D. bm install -p /data/app/

答案:hdc install -p ohosapp.hap
分析:bm是用来方便开发者调试的一个工具。bm工具被hdc工具封装,进入hdc shell命令后,就可以使用bm工具。 bm install -p
hdc(HarmonyOS Device Connector)是HarmonyOS为开发人员提供的用于调试的命令行工具,通过该工具可以在windows/linux/mac系统上与 真实设备或者模拟器进行交互。
hdc shell bm install -p package 通过bm安装
hdc app install [-r/-d/-g] package 安装指定的应用package

16、使用 DevEco studio进行复杂的跨设备功能开发与调试工作,期间频繁依赖本地模拟器来模拟多样化的设备环境。在这样的背景下,以下关于 DevEco studio本地模拟器所支持的规格与功能,哪一项描述是准确的?

A.本地模拟器和真机的能力没有任何差异,真机上可以支持的能力在模拟器上都可以
B.本地模拟器当前不支持查看HiLog以及FaultLog
C.本地模拟器上运行的应用无需进行签名,简化了调试过程。
D.本地模拟器当前不支持单元测试框架和U测试框架的运行

答案:本地模拟器上运行的应用无需进行签名,简化了调试过程
分析:

17、已知下列代码PageOne页面为navigation中的某一子页面,依次点击PageOne页面中toPageTwo按钮,PageTwo页面中toPageOne按钮,此时获取当前页面的路由栈数量为多少。

答案:3
分析:栈由下到上,PageOne->PageTwo->PageOne

18、已知下列代码 PageOne页面为 navigation中的某一子页面,依次点击 PageOne页面中toPageTwo按钮,PageTwo页面中 toPageOne按钮,此时点击 get按钮获取全部名为name的NavDestination页面的位置索引为。

答案:[0,2]
分析:

20、某App有A、B、C、D四个团队分别负责ModuleA、ModuleB、ModuleC和ModuleD四个业务模块,随着业务的发展,ModuleA需要跳转到ModuleB、ModuleC的页面,ModuleB需要跳转到ModuleC、ModuleD的界面,ModuleC需要跳转到ModuleA的界面,ModuleD需要跳转到ModuleB和ModuleC的界面。由于复杂的依赖关系,导致一旦有变化就需要知会各个团队,所以该团队的架构师想要解耦各个业务模块,以下哪些做法是不推荐的()

答案:采用静态import方式引入对应跳转的页面。
分析:静态引入需要频繁更新

21、以下对系统兼容性的理解正确的是。

答案:已发布的系统能力有可能会发生非兼容性变更,比如新增特性或修改问题导致的行为不兼容,这种情况下应用需要关注changelog并进行适配。
分析:

22、下面交付&持续部署描述哪个是正确的:

答案:持续交付(CD,Continuous Delivery):指的是,频繁的将软件的新版本,交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段。
分析:

23、应用开发中使用的各类资源文件,需要放入特定子目录中存储管理,以下关于资源说法错误的是。

答案:rawfile目录,支持创建多层子目录,子目录名称可以自定义,文件夹内可以自由放置各类资源文件。目录中的资源文件会被编译成二进制文件,并赋予资源
分析:在Harmony OS开发中,存放资源文件的rawfile目录默认只支持一层目录结构。
开发者经常会涉及到文件的读写操作。其中,rawfile是一种常见的文件类型,可以用于存储一些静态的数据,例如:配置文件、模板文件等。

24、下面的配置一共存在有几处错误。
//	module.json5配置文件:
{
	"module": {
		"name": "entry",
		// ...
		"abilities": [
			{
				"name": "EntryAbility",
				"srcEntry": "./ets/entryability/EntryAbility.ets",
				// ...
				"skills": [
					{
						"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": "id_test1",
            // 【shortcutLabel】字符串不符合匹配规则
			"label": "shortcutLabel",
			"icon": "$media:shortcutIcon",
			"wants": [
				{
					"bundleName": "com.ohos.hello",
					"moduleName": "entry",
					"abilityName": "EntryAbility"
				}
			]
		}
	]
}

答案:1
分析:shortcutLabel 字符串不符合匹配规则 “label”: "$string:shortcutLabel ",

标签:分析,应用,认证,HarmonyOS,开发者,答案,test,调试,页面
From: https://blog.csdn.net/qq_29385297/article/details/141157768

相关文章

  • 华为认证这么多,到底考哪个比较好?怎么选?
    在当前的IT行业中,华为认证已经成为许多技术人员职业发展的重要里程碑。凭借华为在全球范围内的影响力和技术实力,华为认证不仅在中国市场备受认可,也逐渐在国际市场上获得了广泛的关注。无论你是初入职场的新人,还是已经在IT领域深耕多年的专业人士,华为认证的名声都响当当的。......
  • 微信小程序备案和认证踩的坑
    个人账号的名字要求:小程序名称涉及企业/单位/商城等非个人性质,请修改为与实际小程序业务有关的名称。比如:xx平台、xx材料、材料信息、查询等字眼都是通用词汇,个人性质的账号不会过审。个人建议:因为小程序名字一年只能修改两次,所以起名字就要慎重!建议进入驳回页面,点击右上角的联系......
  • 【鸿蒙学习】HarmonyOS应用开发者基础 - 应用程序框架基础
    从第一节的学习到现在,学习的人数越来越少,要相信,坚持学习下去的将会获得相应的收获。加油少年!!!一、应用框架基础1.应用  用户应用程序泛指运行在设备的操作系统之上,为用户提供特定服务的程序,简称“应用”。一个应用所对应的软件包文件,称为“应用程序包”。2.Module......
  • HarmonyOS NEXT 学习笔记6--prop装饰器-单向传递
    1.代码:@Entry@ComponentstructComponentQuestionCase{@Statemoney:number=999999;build(){Column(){Text('father:'+this.money)Button('存100块').onClick(()=>{this.money+=100})......
  • APP安全评估:开发者的上架通行证
    在应用商城的浩瀚海洋中,每个APP都像一艘航船,而安全评估报告就是你的航海图和通行证。没有它,你的APP可能会在上架的风暴中迷失方向。今天,让我们一起绘制这张至关重要的航海图,确保你的APP能够安全地抵达目的地。一、安全评估报告:APP上架的必备文件一份详尽的安全评估报告不仅......
  • 盘点国内外有哪些软件测试认证
    在软件测试行业,技术实力固然重要,但手握权威认证更能为职业发展增添砝码。无论你是刚入行的新人,还是经验丰富的测试工程师,获取一张含金量高的软件测试认证都能让你的职场之路更加平坦。那么,国内外有哪些值得考取的软件测试认证呢?让我们一起来盘点。你是否正在为选择哪种测试认证而......
  • 科大讯飞智文 2.0 版本发布;人工智能模型 Grok 2 测试版即将发布丨 RTE 开发者日报
       开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(Real-TimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编......
  • ClueCon 2024:音视频开发者的技术盛会
       前面的话:ClueCon是音视频开发者的年度技术盛会,每年都在美国芝加哥举行。RTE开发者社区的联合主理人杜金房在即将踏上ClueCon之际,写下了这段文字。也邀请大家一同关注这次大会。 时间过得真快,转眼,又是一届新的ClueCon了。 ClueCon是一个音视频开发者的年度......
  • SpringSecurity+前端项目+redis完成认证授权的代码
    1.前端准备工作--都在全局main.js页面中设置的1.1.创建Vue工程后,并导入elementui和axios,添加连接后端项目的路径,把axios挂载到Vue1.2.前置路由守卫(所有路由跳转前核实一下身份)//前置路由守卫--所有的路由跳转都先经过这里//to:即将要访问的路径from:从哪里来......
  • PHP身份证三要素核验接口集成-身份证三要素查询真伪-身份证三要素实名认证
    身份证三要素实名认证接口简介:身份证三要素实名认证是核验身份证号、姓名、证件头像是否一致,以此来验证身份证的真伪,现已被广泛应用于电商、银行、保险等各种需要对身份真伪进行核查的场景。身份证三要素实名认证接口核验返回参数说明如下:序号 名称 类型 说明1 user_check_res......