赞
踩
注:有读者反馈,题库的代码块比较多,打开文章时会卡死。所以笔者将题库拆分,以20道题为一组,题库目录如下,读者可以按需跳转。如果对您的阅读产生不便,笔者在这里向大家说声抱歉,请各位读者原谅。该题库已整理完毕,笔者不再更新。笔者连续考了三次,都过了,所以答案应该没什么太大问题。有需要题库文档的可以自取。祝各位读者好运(๑¯ω¯๑)。如果各位读者有什么内推的工作机会,也可以悄悄告诉笔者,笔者不胜受恩感激
21、使用ArkUI组件复用之后,还是没有显著提升列表滑动场景的性能,属于组件复用未生效可能的原因有?(不确定,把所有选项列出)
A、页面嵌套了过多自定义组件。
B、在aboutToReuse回调函数中更新了冗余的状态变量
C、没有在aboutToReuse更新关联的状态变量数据。
D、复用的自定义组件中使用if等条件渲染语句导致结构不相同,未使用reuseld标记。
22、下面关于动态import描述正确的是
A、动态导入import()是个异步接口,调用后将返回一个promise
B、常量动态import也必须配置runtimeOnly选项
C、动态import根据入参是否为常量字符串分为常量动态import和变量动态import两种
D、HAR模块间只有变量动态import时可以进行模块解耦
动态import-应用程序包开发与使用-应用程序包基础知识-开发基础知识-基础入门 | 华为开发者联盟 (huawei.com)
23、下面关于混淆规则描述正确的是
A、-disable-obfuscation:关闭所有混淆
B、-enable-property-obfuscation:开启顶层作用域名称混淆
C、-enable-export-obfuscation:开启直接导入或导出的类或对象的名称和属性名混淆
D、-enable-toplevel-obfuscation:开启属性混淆
代码混淆-ArkTS(方舟编程语言)-应用框架 | 华为开发者联盟 (huawei.com)
24、在ArkTS中,以下代码片段正确的是
// A
function fn(x: string | number): string {
return 'value: ' + x;
}
type funcType = (ns: string) => string;
let func: funcType = fn;
// B
function fn(x: string | number): string {
return 'value:' + x;
}
type funcType = (ns: string | number) => string;
let func: funcType = fn;
// C
function fn(x: string): string {
return x;
}
type funcType = (ns: string| number) => string;
let func: funcType = fn;
// D
function fn(x: string | number): void {
console.log('value: ' + x);
}
type funcType = (ns: string | number) => string;
let func: funcType = fn;
A、A
B、B
C、C
D、D
25、以下代码片段哪几处违反了ArkTS语法规范。
function foo(value1: number, value2: number) {
return value1 + value2;
}
foo();
foo(1, 2);
foo(1, 2, 3);
foo(1, 2, 3, 4);
A、foo();
B、foo(1, 2);
C、foo(1, 2, 3);
D、foo(1, 2, 3, 4);
26、以下关于Taskpool和Worker的描述正确的是
A、Worker的任务执行时长上限是无限制
B、Worker支持取消已发起的任务
C、TaskPool不支持线程复用
D、TaskPool支持设置任务的优先级
TaskPool和Worker的对比 (TaskPool和Worker)-使用多线程并发能力进行开发-并发-ArkTS(方舟编程语言)-应用框架 | 华为开发者联盟 (huawei.com)
27、List组件onScrollIndex事件触发时机是
A、List组件显示区域内第一个子组件或最后一个子组件或中间位置子组件索引值变化时触发
B、List组件首次加载完成时触发
C、List组件滚动停止时触发
D、List组件列表滚动时每帧触发
List-容器组件-ArkTS组件-ArkUI(方舟UI框架)-应用框架 | 华为开发者联盟 (huawei.com)
28、如果想让grid上的捏合手势生效,而不跟grid上的滚动手势形成冲突,. xxxx?手势接口应该怎么配置?
Grid() { ForEach(this.numbers, (day: string) => { ForEach(this.numbers, (day: string) => { GridItem() { Text(day) .fontSize(16) .backgroundColor(0xF9CF93) .width('100%') .height(80) .textAlign(TextAlign.Center) } }, (day: string) => day) }, (day: string) => day) } .columnsTemplate('1fr'.repeat(this.columns)) .columnsGap(10) .rowsGap(10) .width('90%') .scrollBar(BarState.Off) .backgroundColor(0xFAEEE0) .height('100%') .cachedCount(3) // 切换列数item位置重排动画 .animation({ duration: 300, curve: Curve.Smooth }) .xxxx?( PinchGesture( ) .onActionEnd((event: GestureEvent) => { console.info('end scale:' + event.scale) // 手指分开,减少列数以放大Item, 触发阈值可以自定义,示例为2 if (event.scale > 2) { this.columns-- } else if (event.scale < 0.6) { this.columns++ } // 可以根据设备屏幕宽度设定最大和最小列数,此处以最小1列最大4列为例 this.columns = Math.min(4, Math.max(1, this.columns)); AppStorage.setOrCreate('columnsCount', this.columns) }) )
A、gesture
B、GesureGroup
C、parallelGesture
D、priorityGesture
绑定手势方法-使用手势事件-支持交互事件-UI开发 (ArkTS声明式开发范式)-ArkUI(方舟UI框架)-应用框架 | 华为开发者联盟 (huawei.com)
29、在基于Stage模型开发的应用项目代码下,都存在一个app.json5配置文件, 用于配置应用的全局信息,以下app.json5配置文件错误的是
// A
{
"app": {
"bundleName": "com.example.myapplication",
"vendor": "example",
"versionCode": 1000000,
"versionName" : "1.0.2",
"icon": "$media:app_icon",
// ========================== 【label】字段的值需要引用
"label": "app_name",
"bundleType": "app"
}
}
// B
{
"app": {
"bundleName": "com.example.myapplication",
"vendor": "example",
"versionCode": 1000000,
"versionName": "1.0.2",
"icon": "$media:app_icon",
"label": "$string:app_name",
"bundleType": "app"
}
}
// C
{
"app": {
"bundleName": "com.example.myapplication",
"vendor": "example", "versionCode": 1000000,
// ========================== 缺少字段【versionName】
"icon": "$media:app_icon",
"label": "$string:app_name",
"bundleType": "app",
}
}
// D
{
"app": {
"bundleName": "com.example.myapplication",
"vendor": "example",
"versionCode": 1000000,
"versionName": "1.0.2",
"icon": "$media:app_icon",
"label": "$string:app_name"
}
}
A、A
B、B
C、C
D、D
app.json5配置文件-应用配置文件(Stage模型)-开发基础知识-基础入门 | 华为开发者联盟 (huawei.com)
30、使用如下的代码去启动一个ability时,哪种skills定义的组件能够被匹配到:
let want = {
"uri": "https://www.test.com:8080/query/books",
"type": "text/plain"
}
context.startAbility(want).then((data))=> {
console.log(TAG + "startAbility success") ;
}).catch((err))=> {
console.log(TAG + "startAbility failed.");
}
// A
"skills": [
{
"uris":[
{
"scheme": "https",
"host": "Www.test.com",
"type": "text/plain"
}
]
}
]
// B
"skills": [
{
"uris":[
{
"scheme": "https",
"host": "www.test.com",
"pathStartWith": "query/books",
"type" : "text/plain"
}
]
}
]
// C
"skills": [
{
"uris":[
{
"scheme": "https",
"host": "www.test.com",
"pathStartwith" :"query/books",
"type" : "text/*"
}
]
}
]
// D
"skills":[
{
"uris":[
{
"scheme": "https",
"type": "text/*"
}
]
}
]
A、A
B、B
C、C
D、D
显式Want与隐式Want匹配规则-信息传递载体Want-Stage模型应用组件-Stage模型开发指导-Ability Kit(程序框架服务)-应用框架 | 华为开发者联盟 (huawei.com)
31、以下哪些方式可以实现ArkWeb同层渲染能力()
// A
Web(...).enableNativeEmbedMode(true)//.registerNativeEmbedRule("embed", "native")
<embed id="view" type="native/contents" width="100%" height="100%" style="background-color:red"/>
// B
Web(...).enableNativeEmbedMode(true).registerNativeEmbedRule("object", "test")
<object id="view" type="test/contents" width="100%" height="100%" style="background-color:red"/>
// C
Web(...).enableNativeEmbedMode(true)//.registerNativeEmbedRule("embed", "native")
<object id="view" type="native/contents" width="100%" height="100%" style="background-color:red"/>
// D
Web(...).enableNativeEmbedMode(true).registerNativeEmbedRule("native", "test")
<object id="view" type="native/contents" width="100%" height="100%" style="background-color:red"/>
A、A
B、B
C、C
D、D
同层渲染绘制Video和Button组件-ArkWeb(方舟Web)-应用框架 | 华为开发者联盟 (huawei.com)
32、用户购买商品后,你需要及时发放相关权益。但实际应用场景中,若出现异常将导致应用无法知道用户实际是否支付成功,从而无法及时发放权益,即出现掉单情况。为了确保权益发放,你需要在以下哪些场景检查用户是否存在己购未发货的商品:
A、createPurchase请求返回1001860051-由于已经拥有该商品,购买失败时
B、createPurchase请求返回1001860001-内部错误时
C、应用启动时
D、finishPurchase请求返回1001860052-由于未拥有该商品,发货失败时
(必要)权益发放-购买消耗型/非消耗型商品-IAP Kit(应用内支付服务)-应用服务 | 华为开发者联盟 (huawei.com)
33、ArkTS对并发编程API和能力进行了增强,以下描述正确的是
A、单次I/O任务的开发场景中, 必须使用TaskPool进行开发。
B、CPU密集型任务场景中, 当任务不需要长时间(3分钟) 占据后台线程, 而是一个个独立的任务时,推荐使用TaskPool进行开发。
C、在并发API的形式上,目前主要有两种:Worker和TaskPool。
D、默认情况下, Sendable数据在ArkTS并发实例间(包括主线程、TaskPool&Worker工作线程)传递的行为是拷贝传递。
CPU密集型任务开发指导 (TaskPool和Worker)-使用多线程并发能力进行开发-并发-ArkTS(方舟编程语言)-应用框架 | 华为开发者联盟 (huawei.com)
TaskPool和Worker支持的序列化类型-附录-并发-ArkTS(方舟编程语言)-应用框架 | 华为开发者联盟 (huawei.com)
34、ArkTS中不能使用以下哪些类型。
A、any
B、union type
C、tuple type
D、unknown
从TypeScript到ArkTS的适配规则-从TypeScript到ArkTS的适配指导-学习ArkTS语言-基础入门 | 华为开发者联盟 (huawei.com)
35、应用开发的有些场景中,如果希望根据条件导入模块或者按需导入模块,可以使用动态导入代替静态导入,下面导入场景中适合使用动态import的是
A、当被导入的模块,在加载时并不存在,需要异步获取。
B、当静态导入的模块很明显的占用了大量的系统内存且被使用的可能性很低。
C、当被导入的模块说明符, 需要动态构建。
D、当静态导入的模 块很明显的降低了代码的加载速度且被使用的可能性很低,或者并不需要马上使用它。
动态import-应用程序包开发与使用-应用程序包基础知识-开发基础知识-基础入门 | 华为开发者联盟 (huawei.com)
36、以下代码片段哪几个class/interface违反了ArkTS语法规范。
class Person {}
class Student extends Person {}
class Instructor implements Person {}
interface Shape {}
interface Circle implements Shape {}
class Square implements Shape {}
A、Instructor
B、Square
C、Circle
D、Student
37、下面代码符合Node-API开发规范的是
// A - Demo3
static napi_value Demo3(napi_env env, napi_callback_info info)
{
size_t argc = 2;
napi_value argv[2] = {nullptr};
napi_get_cb_info(env, info, &argc, nullptr, nullptr, nullptr);
//业务代码
return nullptr;
}
// B - Demo4
static napi_value Demo4(napi_env env, napi_callback_info info)
{
size_t argc = 5;
napi_value argv[3] = {nullptr};
napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr);
return nullptr ;
}
// C - Demo2 static napi_value Demo2(napi_env env, napi_callback_info info) { size_t argc = 0; napi_get_cb_info(env, info, &argc, nullptr, nullptr, nullptr); if (argc == 0) { return nullptr; } napi_value* argv = new napi_value[argc]; napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr); //业务代码 delete argv; return nullptr; }
// D - Demo1
static napi_value Demo1(napi_env env, napi_callback_info info)
{
size_t argc;
napi_value argv[10] = {nullptr};
napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr);
return nullptr ;
}
A、A
== Demo3
B、B
C、C
== Demo2
D、D
Node-API开发规范-使用Node-API实现跨语言交互-代码开发-NDK开发 | 华为开发者联盟 (huawei.com)
38、ArkTS是鸿蒙生态的应用开发语言。下列说法正确的是
A、ArkTS在保持TypeScript (简称TS)基本语法风格的基础上,进一步通过规范强化静态检查和分析,使得在程序运行之前的开发期能检测更多错误,提升代码健壮性,并实现更好的运行性能。
B、TS/JS代码支持import ArkTS代码。
C、针对JavaScript(简称JS)/TS并发能力支持有限的问题,ArkTS对并发编程API和能力进行了增强。
D、ArkTS提供了声明式UI范式、状态管理支持等相应的能力,让开发者可以以更简洁、更自然的方式开发应用。
ArkTS语法适配背景-从TypeScript到ArkTS的适配指导-学习ArkTS语言-基础入门 | 华为开发者联盟 (huawei.com)
39、lmage组件以下哪些方式可显示图片?
// A
@Entry
@Component
struct ImageExample {
build() {
Column({ space: 10 }) {
Image("https://www.example.com/xxx.png")
.width(100)
.height(100)
}
}
}
// B
@Entry
@Component
struct ImageExample {
build() {
Column({ space: 10 }) {
Image($r('app.media.earth'))
.width(100)
.height(100)
}
}
}
// C import image from '@ohos.multimedia.image' @Entry @Component struct ImageExample { @State imagePixelMap: image.PixelMap | undefined = undefined async aboutToAppear() { this.imagePixelMap = await this.getPixmapFromMedia($r('app.media.app_icon')) } build() { Column() { Image(this.imagePixelMap) .width(200) .height(200) } } private async getPixmapFromMedia(resource: Resource) { let unit8Array = await getContext(this)?.resourceManager?.getMediaContent({ bundleName: resource.bundleName, moduleName: resource.moduleName, id: resource.id }) let imageSource = image.createImageSource(unit8Array.buffer.slice(0, unit8Array.buffer.byteLength)) let createPixelMap: image.PixelMap = await imageSource.createPixelMap({ desiredPixelFormat: image.PixelMapFormat.RGBA_8888 }) await imageSource.release() return createPixelMap } }
// D import { DrawableDescriptor } from '@ohos.arkui.drawableDescriptor' @Entry @Component struct ImageExample { private resManager = getContext().resourceManager build() { Row( ) { Column() { Image((this.resManager.getDrawableDescriptor($r('app.media.drawable').id) as DrawableDescriptor)) }.height('50%') }.width('50%') } }
A、A
B、B
C、C
D、D
40、HarmonyOS应用开发者小张,正在利用DevEco Studio进 行一款复杂应用的UI界面调试。小张了解到ArkUI Inspector是DevEco Studio内置的一项强大工具, 能够显著提升UI调试效率。基于ArkUI Inspector的特性描述,下列哪些描述是正确的
A、UI快照管理:支持导出应用的UI界面为快照图片,并允许这些快照被导入回ArkUI Inspector中,便于离线分析或分享讨论UI设计方案
B、性能监控:提供详细的UI渲染性能指标,帮助开发者识别布局瓶颈和渲染效率问题,从而优化应用性能
C、UI效果查看:开发者能够查看连接真机上运行的应用程序的UI显示效果,页面组件树结构,以及选中组件的属性信息
D、交互式组件选择:用户既可以在组件树视图中选择组件,使UI界面上对应组件高亮显示并展示其属性详情;也可以直接在UI布局显示界面上点击选择组件
布局分析-应用/服务调试-DevEco Studio | 华为开发者联盟 (huawei.com)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。