鸿蒙高级开发者认证题库(2)

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

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

A.TransitionEffect.asymmetric(TransitionEffect.OPAClTY.animation({duration:2000})TransitionEffect.translate({x:100}).animation({duration: 2000}))

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

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

D. TransitionEffect.translate({x:100}).combine(TransitionEffect.OPACiTY.animation({duration:2000}))

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

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

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

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

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

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

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

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

C 8位操作码,8位立即数,2个8位寄存器

D.8位操作码,8位立即数,16位id,8位寄存器

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

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

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

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

D 8位操作码,16位立即数,16位id,8位寄存器

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

A.设置cachedCount为1,则Grid在显示范围下方缓存1行Gridltem

B.设置cachedCount为1,则Grid在显示范围上下各缓存1行Gridtem

C.设置cachedCount为1,则Grid在显示范围下方缓存1个Gridltem

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}`)

})

A 2、3

B. 1、2、3

C. 1、3

D. 1、2

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

A.Object.getOwnPropertyDescriptor();

B. Object.hasOwnProperty(;

C.Object.getOwnPropertyDescriptors();

D. Object.values();

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

A. @style

B. @Shared

C. @State

D. @Sendable

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

A. hiAppEvent

B. hiDebug

C.hichecker

D. hiLog

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()

A a3

B a4

C a1

D a2

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

class Info {

name: string;

constructor(name: string) {

this.name = name;

}

}

@Entry

@Component

struct Index {

@State nameList: Info[] = [new Info("Tom"), new Info("Bob"), new Info("John")]

build() {

Column() {

ForEach(this.nameList, (item: Info) => {

Text(`${item.name}`)

})

Button("A")

.onClick(() => {

this.nameList.push(new Info("Lucy"));

})

Button("B")

.onClick(() => {

this.nameList[0] = new Info("Eric");

})

Button("C")

.onClick(() => {

this.nameList[0].name = "Jim";

})

Button("D")

.onClick(() => {

this.nameList = [new Info("Barry"), new Info("cindy"), new Info("David")];

})

}

}

}

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

A.传统调试模式:仅允许在当前断点暂停代码执行,查看调用堆栈和当前变量信息,但无法追溯历史执行状态

B.代码静态分析:提供静态代码检查工具,通过语法和逻辑分析帮助预防潜在错误,但不涉及运行时问题定位

C.实时代码修改与运行时效果查看:支持在调试过程中修改代码并立即查看修改效果,适用于快速迭代,但不聚焦于问题追溯

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

38.当前您在开发一个ArkTS、Stage模型的Harmony0S工程,关于当前ArkTS工程目录结构,下列选项说法错误的是?

A. AppScope>appjson5:应用的全局配置信息。

B.entry>src>main>module.json5:Stage模型模块配置文件,主要包含HAP的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息。

C.build-profile.json5:应用级编译构建任务脚本,

D. oh-package.json5:描述依赖配置,如:依赖覆盖(overrides)、依赖关系重写(overrideDependencyMap)和参数化配置(parameterFie)等。

39.开发者张工想要高效地管理Harmony0S设备中的文件,包括查看文件列表、进行文件搜索、新建及删除操作,以及在设备与PC间传输文件,而无需使用命令行工具。以下哪个选项最能准确概括张工能通过哪个工具直接在DevEco Studio界面完成上述所有操作

A. DevEco Studio的Terminal面板

B.DevEco Studio的Device File Browser

C.DevEco Studio的Log面板

D.DevEco Studio的Project Explorer

40.在使用DevEco Studio进行混合语言开发时,开发者小李通过Napi引用了Native 接口的文件(例如d.ts文件)。他想要直接从这些接口跳转到其对应的C/C++函数实现处进行代码审查。请从以下选项中选择最合适的操作步骤来帮助小李实现这一目标

A.小李应该打开包含TypeScript接口声明的文件,然后手动在项目中搜索相应的C/C++源文件,逐个检查以找到匹配的函数实现。

B.在声明或引用了Native接口的文件中,比如d.ts文件,小李可以直接选中接口名称,右键点击并在弹出的菜单中选择"Go To>Implementation(s)"(转到>实现)。还可以使用快捷键Ctrl+Alt+B;如果是macOS用户,则使用Command+Option+B,直接跳转到对应的C/C++函数实现位置。

C.为了查看C/C++函数实现,小李必须先切换到DevEco Studio的C/C++开发环境视图,之后在项目的

资源管理器中找到对应的C/C++源文件手动打开,才能查看函数代码

D.小李可以将鼠标光标置于想要查看实现的接口名称上,按下鼠标右键,在出现的上下文菜单中寻找并点击"Find Usages"(查找用法),在结果中筛选出C/C++的实现。

41.当标记了@Reuseable的自定义组件实现了组件复用后,这个组件的复用范围是什么?

A.标记了@Reuseable的自定义组件的父组件范围内

B.整个应用内都可以复用

C.标记了@Reuseable的自定义组件的外层容器节点范围内

D.整个页面都可以复用

42.下面持续集成描述哪项是错误的:

A.持续集成(CI,Continuous Intergation): 指频繁的,一天多次将代码集成到主干。

B.Martin Fowler说过,"持续集成并不能消除Bug,而是让它们非常容易发现和改正。"

C.持续集成就是持续编译,二者异曲同工

D.持续集成在大型项目(有几十个项目组)也能应用,即便是项目组开发进度不统一也没问题

43.ArkUI组件复用的作用机制是减少了什么时间从而降低了丢帧率?

A.组件节点渲染时间

B.组件销毁时间

C.组件节点和对象的创建时间

D.数据挂载时间

哪些是持续部署最佳实践?

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

B.手工部署:持续部署可以采用手工部署的方式发布软件: 1、有一份非常详尽的文档,该文档描述了执行步骤及每个步骤中易出错的地方; 2、以手工测试来确认该应用程序是否运行正确; 3、在发布时,常常会修正一些在发布过程中发现的问题。

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

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

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

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

G. 手工配置管理 1、直接修改生产环境上的配置来改变系统配置; 2、集群中各节点的行为有所不同; 3、靠人手堂恢复环境。手动记载配置包括操作系统、应用服务器、关系型数据库管理系统、Web服务器或其他基础设施设置。

哪些是持续集成最佳实践?

A. 全面的测试套件:包括单元测试、集成测试、功能测试等,以提高代码质量。

B.自动化构建:确保构建过程是完全自动化的,减少人为错误。

C.构建相同代码的 Pipeline 运行多次,得到结果不同。比如,基于同一代码基线,一条 pipeine 构建了5次,只要最后一次通过即可。

D.频繁提交代码:鼓励开发人员经常提交小的代码更改,以便更快地发现问题。

E. 代码审查:在集成前进行代码审查,及时发现潜在问题。

F.快速反馈机制:让开发人员能迅速得知集成结果和测试状态,

G.通常项目上会有一个专职 0ps,在项目可以发布的时候手动触发部署流程,或者需要传递很多参数,让 Pipeline 运行起来

相关推荐
Andy醒8 小时前
HarmonyOS开发之使用Picker(从相册选择图片),并且通过Swiper组件实现图片预览
harmonyos·鸿蒙
张帅涛_66619 小时前
HarmonyOS开发之全局状态管理
华为·harmonyos
让开,我要吃人了19 小时前
HarmonyOS开发实战( Beta5.0)蓝牙实现服务端和客户端通讯详解
开发语言·前端·华为·移动开发·harmonyos·鸿蒙·鸿蒙系统
让开,我要吃人了20 小时前
HarmonyOS应用开发( Beta5.0)HOS-用户认证服务:面部识别
服务器·前端·华为·移动开发·嵌入式·harmonyos·鸿蒙
让开,我要吃人了1 天前
HarmonyOS开发实战( Beta5.0)橡皮擦案例实践详解
开发语言·前端·华为·移动开发·harmonyos·鸿蒙·鸿蒙系统
ImomoTo1 天前
HarmonyOS学习(十一)——安全管理
学习·安全·harmonyos·arkts·arkui
爱桥代码的程序媛1 天前
HarmonyOS开发5.0【应用程序包】
分布式·harmonyos·鸿蒙·鸿蒙系统·openharmony·鸿蒙开发·程序包
爱桥代码的程序媛1 天前
HarmonyOS开发5.0【rcp网络请求】
网络·移动开发·harmonyos·鸿蒙·鸿蒙系统·openharmony·rcp
让开,我要吃人了1 天前
HarmonyOS应用开发( Beta5.0)一杯冰美式的时间“拿捏Grid组件”
服务器·前端·华为·移动开发·harmonyos·鸿蒙·openharmony
Android技术栈1 天前
鸿蒙开发(API 12 Beta6版)【P2P模式】 网络WLAN服务开发
网络·harmonyos·鸿蒙·鸿蒙系统·p2p·openharmony·wlan