HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 单选题序号1

本来打算找到工作再整理高级的题库,但一直没什么面试机会。宅在家里也不知道干些什么。索性就把高级的题库整理出来了。也算有头有尾。高级的题库更新之后,专业性更强了,不是真正从事这一行的,很难做出来。本人就是个小菜鸡,有一些题,我也不想不明白。题目的答案我尽可能的找到出处,如果读者发现错误或有补充建议,欢迎评论或私信笔者。笔者这篇就当抛砖引玉,各位读者可以当作考试的一个参考

基础认证题库请移步:HarmonyOS应用开发者基础认证题库


注:有读者反馈,题库的代码块比较多,打开文章时会卡死。所以笔者将题库拆分,单选题20个为一组,多选题10个为一组,题库目录如下,读者可以按需跳转。如果对您的阅读产生不便,笔者在这里向大家说声抱歉,请各位读者原谅。完整的md文档,等读者把题库整理完,会将网盘链接发出。

序号目录:

  • 单选题
    HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 单选题序号1
    HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 单选题序号2
    HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 单选题序号3
  • 多选题
    HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 多选题序号1
    HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 多选题序号2
    HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 多选题序号3

注:题目是乱序,每次考试,选项的顺序都不同

单选题题库 - 序号1


1、以下关于Taskpool和Worker的描述正确的是

​ A、Worker自行管理命周期,开发者无需关心任务负载高低

B、TaskPool支持任务延时执行

​ C、开发者需要自行管理taskpool的数量及生命周期

​ D、TaskPool和Worker的任务执行时长上限都是无限制

TaskPool和Worker的对比 (TaskPool和Worker)-使用多线程并发能力进行开发-并发-ArkTS(方舟编程语言)-应用框架 | 华为开发者联盟 (huawei.com)


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

​ A、@State

B、@Sendable

​ C、@Shared

​ D、@Style

Sendable开发指导-附录-并发-ArkTS(方舟编程语言)-应用框架 | 华为开发者联盟 (huawei.com)


3、ArkTS支持以下哪些函数(不确定,Object类里都有这些方法)

A、Object.keys();

B、Object.getOwnPropertySymbols();

C、Object.isExtensible();

D、Object.isPrototypeOf();


4、以下哪些赋值语句在ArkTS中是合法。

class C {}let value1: number = null; 
let value2: string | null = null;
let value3: string | undefined = null;
let value4: C = null

​ A、value1

B、value2

​ C、value3

​ D、value4


5、ArkTS支持以下哪个函数。(不确定,Object类里都有这些方法)

A、Object.values();

B、Object.getOwnPropertyDescriptors();

C、Object.getOwnPropertyDescriptor();

D、Object.hasOwnProperty();


6、下面哪种转场效果在入场动画时,表现为从透明度为0、相对于组件正常显示位置×方向平移100vp的状态,到默认的透明度为1、相对于组件不平移的状态,且透明度动画和平移动画的动画时长均为2000ms

​ A、TransitionEffect.asymmetric(TransitionEffect.OPACITY.animation({duration:2000}),TransitionEffect.translate({x:100}).animation({duration:2000}))

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

​ C、TransitionEffect.translate({x:100}).combine(TransitionEffect.OPACITY.animation({duration:2000}))

​ D、TransitionEffect.OPACITY.combine(TransitionEffect.translate({x:100}).animation({duration:2000}))

注:放到代码块里,方便查看

TransitionEffect.asymmetric(TransitionEffect.OPACITY.animation({duration:2000}),
TransitionEffect.translate({x:100}).animation({duration:2000}))
// 答案	=========================================
TransitionEffect.OPACITY.animation({duration:2000}).combine(TransitionEffect.translate({x:100}))
TransitionEffect.translate({x:100}).combine(TransitionEffect.OPACITY.animation({duration:2000}))
TransitionEffect.OPACITY.combine(TransitionEffect.translate({x:100}).animation({duration:2000}))

出现/消失转场-转场动画-使用动画-UI开发 (ArkTS声明式开发范式)-ArkUI(方舟UI框架)-应用框架 | 华为开发者联盟 (huawei.com)


7、现有一个宽高分别为200px的XComponent组件,其绑定了一个XComponentController(xcController),依次进行如下操作:

(1)xcController.setXComponentSurfaceRect( {surfaceWidth: 150, surfaceHeight: 500})

(2)设置XComponent组件的padding为{ top: 5px, left: 10px, bottom: 15px, right: 20px }

(3)将XComponent组件大小改为300px * 300px

(4)给XComponent组件设置一个宽度为2px的边框

(5)xcController.setXComponentSurfaceRect( { offsetX: -20, offsetY: 50, surfaceWidth: 200, surfaceHeight: -100 } )之后,调用xcController.getXComponentSurfaceRect()的返回值为

A、{ offsetX: 81, offsetY: -89, surfaceWidth: 150, surfaceHeight: 500 }

B、{ offsetX: 81, offsetY: -89, surfaceWidth: 200, surfaceHeight: 0 }

C、{ offsetX: -20, offsetY: 50, surfaceWidth: 200, surfaceHeight: 500 }

D、{ offsetX: 75, offsetY: -100, surfaceWidth: 150, surfaceHeight: 500 }

不确定,把所有选项列出

XComponent-基础组件-基于ArkTS的声明式开发范式-ArkTS组件-ArkUI(方舟UI框架)-应用框架 | 华为开发者联盟 (huawei.com)


8、根据上面代码,以下解释正确的是

注:被注释的代码是额外加上的,用于测试,并非题目原本的

enum Mode {fullScreen,halfScreen
}@Entry
@Component
struct Index {@State title: string = "";@State mode: Mode = Mode.fullScreen;isShowTitle(): boolean {if (this.mode == Mode.fullScreen) {this.title = "Title";return true;}else {this.title = "Section";return false;}}build() {Column(){if (this.isShowTitle()) {Text(`${this.title}`)} else {Text(`${this.title}`)}ChangeMode({ mode: this.mode})}}
}@Component
struct ChangeMode {//@Link mode: Mode;@Prop mode: Mode;build() {Row({space: 20}) {Button('full screen').onClick(() => {this.mode = Mode.fullScreen})Button('half screen').onClick(() => {this.mode = Mode.halfScreen})//Text(this.mode.toString())}}
}

​ A、本例子可以运行起来,所以代码没有问题。

​ B、在ChangeMode里改变mode的值,会触发其父组件Page的Title内容的切换。

​ C、为了避免@Prop的拷贝,可以优化使用@Link,在该例子中行为和@Prop一样。

D、在自定义组件Page的build方法里改变状态变量是非法操作,可能导致未定义的异常UI行为。


9、已知下列代码PageOne页面为navigation中的某一子页面,依次点击PageOne页面中toPageTwo按钮,PageTwo页面中toPageOne按钮,此时点击get按钮获取全部名为name的NavDestination页面的位置索引为(不确定,把所有选项列出)

// PageOne.ets
@Component
export struct PageOneTmp {@Consume('pageInfos') pageInfos: NavPathStack;build() {NavDestination() {Column() {Button('toPageTwo', { stateEffect: true, type: ButtonType.Capsule }).width('80%').height(40).margin(20).onClick(() => {this.pageInfos.pushPathByName('pageTwo',"")})Button('get', { stateEffect: true, type: ButtonType.Capsule }).width('80%').height(40).margin(20).onClick(() => {console.log('获取全部名称为name的NavDestination页面的位置索引', JSON.stringify(this.pageInfos.getIndexByName('PageOne')))})}.width('100%').height('100%')}.title('pageOne').onBackPressed(() => {const popDestinationInfo = this.pageInfos.pop()console.log('pop返回值' + JSON.stringify(popDestinationInfo))return true})}
}
// PageTwo.ets
export class Pages{names: string = ""values: NavPathStack | null = null
}@Builder
export function pageTwoTmp(info: Pages){NavDestination() {Column(){Button('toPageOne', { stateEffect: true, type: ButtonType.Capsule }).width('80%').height(40).margin(20).onClick(() => {(info.values as NavPathStack).pushPathByName('pageOne', null)})}.width('100%').height('100%')}.title('pageTwo').onBackPressed(() => {(info.values as NavPathStack).pop()return true})
}

A:[1,2]

B:[2,1]

C:[0,2]

D:[0,1]


10、以下示例代码中可以进行动画的属性有哪些?

@Component
struct MyComponent {@State compWidth: number = 100;@State compHeight: number = 100;@State compRadius: number = 32;build() {Column(){}//.backgroundColor(Color.Red).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;})}
}/*
@Entry
@Component
struct Index {build() {Column(){MyComponent()}}
}
*/

​ A、2、3

​ B、1、3

​ C、1、2、3

D、1、2

属性动画接口说明-属性动画-使用动画-UI开发 (ArkTS声明式开发范式)-ArkUI(方舟UI框架)-应用框架 | 华为开发者联盟 (huawei.com)


11、依次点击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")]})}}
}

​ A、A

​ B、B

C、C

​ D、D


12、从桌面冷启动如下应用,点击Change按钮5次,整个过程中,代码中的2条log依次出现的次数,最初和最后画面上显示的【num = ?】的数字是

// ERROR 题目出错

A、0,6,1,6

B、1,5,1,6

C、2,4,1,6

D、2,4,1,2


13、使用promptAction.showToast如何设置显示再其他应用之上?

​ A、ToastShowMode.DEFAULT

​ B、ToastShowMode.SYSTEM_TOP_MOST

C、ToastShowMode.TOP_MOAST

​ D、无需配置,默认显示在其他应用之上

@ohos.promptAction (弹窗)-UI界面-ArkTS API-ArkUI(方舟UI框架)-应用框架 | 华为开发者联盟 (huawei.com)


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

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

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

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

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

性能优化过程简介-使用Profiler进行性能调优-性能分析-DevEco Studio | 华为开发者联盟 (huawei.com)


15、DevEco Studio提供HarmonyOS应用/服务的UI预览界面与源代码文件间的双向预览功能,支持ets文件与预览器界面的双向预览。关于双向预览,下列选项说法错误的是?

​ A、选中预览器UI界面中的组件,则组件树上对应的组件将被选中,同时代码编辑器中的布局文件中对应的代码块高亮显示。

B、双向预览不支持通过组件的属性面板实时修改属性或样式。

​ C、选中布局文件中的代码块,则在UI界面会高亮显示,组件树上的组件节点也会呈现被选中的状态。

​ D、选中组件树中的组件,则对应的代码块和U界面也会高亮显示。


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

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

​ B、在DevEco Studio中,没有直接的"Optimize Imports"功能,需要安装第三方插件来实现这个需求。

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

​ D、可以在菜单栏中依次点击"Code">"Reformat Code"来达到优化import的目的,因为"Optimize Imports"功能已整合进"Reformat Code"中。


17、在使用DevEco Studio的Profiler进行HarmonyOS应用或服务内存管理优化时,以下哪个描述最准确地概述了"Allocation Insight"功能在识别和解决内存问题中的作用

​ A、Allocation Insight详细展示应用运行时的每条语句柄分配记录,便于开发者逐一检查内存使用,但不提供内存泄漏的自动识别功能

​ B、Allocation Insight仅提供内存分配总量的概览,帮助开发者宏观了解内存使用趋势,但对于具体泄漏或抖动问题无能为力

C、Allocation Insight通过分析应用服务运行时的内存分配及使用情况,辅助定位内存泄漏、内存抖动和溢出问题,支持优化内存使用

​ D、Allocation Insight主要关注于内存碎片整理,减少内存分配的不连续性问题,对内存泄漏和溢出问题的检测不是其主要功能

内存分析及优化-基础内存分析:Allocation分析-性能分析-DevEco Studio | 华为开发者联盟 (huawei.com)


18、项目需要同时进行应用和元服务的开发,并针对当前项目工程中的代码可以分别构建出应用和元服务的包,如何在DevEco Studio中设置不同的构建配置,达成这个目的 (不确定,把所有选项列出)

A、 在工程级别build-profile.json5定义两个product,将两个product的bundleType分别设置成app和atomicService

B、修改工程级别的AppScope/app.json5中的bundleType值为atomicService

C、在模块级别build-profile.json5定义两个target,将两个target的bundleType分别设置成app和atomicService

D、修改工程级别的AppScope/app.json5中的bundleType值为app

元服务概述-指南 | 华为开发者联盟 (huawei.com)


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

​ A、DevEco Profiler采用Bottom-Up设计原则,从底层代码细节开始逐步构建性能模型

​ B、DevEco Profiler专注于用户界面设计的美化,使开发者操作更为直观

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

​ D、DevEco Profiler主要是一个自动化修复工具,能自动检测并解决所有HarmonyOS应用的性能问题

Profiler工具简介-性能分析-DevEco Studio | 华为开发者联盟 (huawei.com)


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

​ A、本地模拟器当前不支持单元测试框架和UI测试框架的运行

​ B、本地模拟器和真机的能力没有任何差异,真机上可以支持的能力在模拟器上都可以

C、本地模拟器上运行的应用无需进行签名,简化了调试过程。

​ D、本地模拟器当前不支持查看HiLog以及FaultLog

模拟器与真机的差异-概述-使用模拟器运行应用/服务-应用/服务运行-DevEco Studio | 华为开发者联盟 (huawei.com)


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/48835.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【.NET全栈】ASP.NET开发Web应用——用户控件和绘图

文章目录 前言一、用户控件1、创建用户控件2、使用用户控件3、在web.config中注册用户控件4、用户控件中公开属性5、用户控件事件6、动态加载用户控件 二、动态绘图1、基本绘图2、绘制一个自定义的图片3、在Web页面放置自定义图片4、图片格式和质量5、一个Web绘图示例程序 前言…

matlab simulink气隙局部放电仿真技术研究

1、内容简介 略 87-可以交流、咨询、答疑 2、内容说明 略 为了解决目前国内外局部放电仿真方法难以计算气隙局部放电暂态过程的问题 , 利用 MATLAB (SIMULINK ) 的公共模块库和电力系统专业模块库 , 根据单气隙局部放电仿真物理模型 , 构造了气隙局部放 电仿真计算的电…

Python运算

目录 1. 算术运算符 2. 赋值运算符 3. 比较运算符 4. 逻辑运算符 5. 位运算符 6. 成员运算符 7. 身份运算符 1. 算术运算符 运算符描述示例加法a b-减法a - b*乘法a * b/除法a / b//取整除a // b%取余数a % b**幂运算a ** b 示例: a 10 b 3 print(a b…

打造安全堡垒:Xcode应用权限管理全解析

打造安全堡垒:Xcode应用权限管理全解析 在移动应用开发中,权限管理是确保用户数据安全和应用正常运行的关键环节。Xcode,作为iOS和macOS应用开发的集成环境,提供了一套完善的权限管理系统。本文将深入探讨Xcode中应用权限管理的策…

树状数组优化dp

这个题目怎么去想呢,我们先构造前缀和,一般思路肯定是用两层循环,但是一定会超时,我们的数据范围是 1e5,那我们必须找到复杂度为 nlog n 的才行,所以我们可以考虑每次计算以 i 结尾的子数组的数量&#xff…

移动硬盘在苹果电脑上使用后在windows中无法读取 Win和Mac的硬盘怎么通用

在日益普及的跨平台工作环境中,苹果电脑与Windows PC之间的数据交换成为日常需求。然而,用户常面临一个困扰:为何苹果电脑的硬盘能在macOS下流畅运行,却在Windows系统中变得“水土不服”?这一问题核心在于硬盘格式的不…

MT19937

MT19937 文章目录 MT19937题型1 逆向extract_number[SUCTF2019]MT 题型2 预测随机数[GKCTF 2021]Random 题型3逆向twist[V&N2020 公开赛]Backtrace 题型4 逆向init扩展题型WKCTF easy_random 现成模块randcrack库Extend MT19937 Predictor库 MT19937是一种周期很长的伪随机…

安全防御:过滤技术

目录 一、URL过滤 URL过滤的方式 二、HTTP与HTTPS HTTP协议获取URL的方式 HTTP协议做控制管理的流程 HTTPS 1,配置SSL的解密功能 2,直接针对加密流量进行过滤 需求: 三、DNS过滤 四、内容过滤 文件过滤技术 文件过滤技术的处理流…

抖音私信卡片制作教程,使用W外链创建抖音/快手/小红书卡片

在数字营销和社交媒体日益繁荣的今天,利用外部链接(W外链平台)为抖音平台创建卡片已成为一种有效的推广手段。抖音卡片不仅可以直接将观众导向目标网页或产品,还能提高用户的参与度和品牌的曝光度。下面,我们将详细介绍…

java-selenium 截取界面验证码图片并对图片文本进行识别

参考链接 1、需要下载Tesseract工具并配置环境变量&#xff0c;步骤如下 Tesseract-OCR 下载安装和使用_tesseract-ocr下载-CSDN博客 2、需要在IDEA中导入tess4j 包&#xff1b;在pom.xml文件中输入如下内容 <!--导入Tesseract 用于识别验证码--><dependency>&l…

微信小程序开发:基础架构与配置文件

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

基于支持向量机(SVM)的数据回归预测

代码原理及流程 支持向量机&#xff08;SVM&#xff09;是一种强大的机器学习算法&#xff0c;既可以用于分类问题&#xff0c;也可以用于回归问题。在回归问题中&#xff0c;SVM 的目标是找到一个函数&#xff0c;使得预测值与实际值之间的误差最小化&#xff0c;并且保持在一…

set(集合),multiset容器及pair队组的创建

1.set的基本概念&#xff1a;所有元素再插入时自动按升序排序&#xff0c;set/multiset属于关联式容器&#xff0c;底层结构是用二叉树实现的 set与multiset区别&#xff1a; set中不允许容器中有重复的元素 multiset允许容器中有重复的元素 2.set的构造函数 3.set的大小和…

【NLP】关于参数do_sample的解释

在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;特别是在使用神经网络模型进行文本生成时&#xff0c;do_sample是一个常见的参数&#xff0c;用于控制模型生成文本的方式。具体来说&#xff0c;do_sample参数决定模型是否采用随机采样&#xff08;sampling&#x…

python—爬虫爬取视频样例

下面是一个使用Python爬虫爬取视频的基本例子。创建一个Python爬虫来爬取视频通常涉及到几个步骤&#xff1a;发送HTTP请求、解析网页内容、提取视频链接、下载视频文件。 import jsonimport requests from lxml import etreeif __name__ __main__:# UA伪装head {"User…

【js自学打卡11】生成器函数(generator函数)的使用总结+代码举例

力扣的js入门免费题刷完了&#xff0c;开始自己找题练练&#xff0c;顺便捡捡知识点 力扣2649 1.思路 一眼递归&#xff0c;但事实证明也可以直接flat手撕。 arr.flat(Infinity) //直接扁平化到最底层涉及到了一些关于生成器和异步编程相关的知识点&#xff0c;学一下。 2.…

web前端 React 框架面试200题(三)

面试题 65. 在使用 React Router时&#xff0c;如何获取当前页面的路由或浏览器中地址栏中的地址&#xff1f; 参考回答&#xff1a; 在当前组件的 props中&#xff0c;包含 location属性对象&#xff0c;包含当前页面路由地址信息&#xff0c;在 match中存储当前路由的参数等…

数字图像处理笔记(二)---- 像素加图像统计特征

系列文章目录 文章目录 系列文章目录前言一、认识数字图像二、图像的数学描述二、图像的统计特征总结 前言 慕课视频地址 一、认识数字图像 图像分为模拟图像和数字图像。要想获得数字图像需要通过采样量化编码等过程。 量化和采样的过程是将模拟信号转化为数字信号。编码的过…

JVM常用工具中jmap实现手动进行堆转储(heap dump文件)并使用MAT(Memory Analyzer Tool)进行堆分析-内存消耗分析

场景 JVM-常用工具(jps、jstat、jinfo、jmap、jhat、jstack、jconsole、jvisualvm)使用&#xff1a; JVM-常用工具(jps、jstat、jinfo、jmap、jhat、jstack、jconsole、jvisualvm)使用_jvm分析工具-CSDN博客 上面讲了jmap的简单使用。 下面记录其常用功能&#xff0c;实现堆…