鸿蒙开发者高级认证-理论考试题(2025年02月)第一弹

说明:答案不保证正确。欢迎讨论。。。

下列哪些模块可以在进程内实现单例?

说明:

共享模块是进程内只会加载一次的模块,使用"use shared"这一指令来标记一个模块是否为共享模块。

非共享模块在同一线程内只加载一次,在不同线程间会加载多次,在不同的线程内都会产生新的模块对象。因此可以使用共享模块来实现进程单例。

developer.huawei.com/consumer/cn...

以下关于StyledString的描述错误的是

说明:

A: equals:当属性字符串的文本及样式均一致,视为相等。不比较GestureStyle,当属性字符串配置了不同事件,文本和其他样式相同时,亦视为相等。当比较CustomSpan时,比较的是地址,地址相等,视为相等。

B: fromHtml将HTML格式字符串转换成属性字符串,当前支持转换的HTML标签范围:<p><span><img>。仅支持将这三种标签中的style属性样式转换成对应的属性字符串样式。

C: 这句话是对的

D:getStyles 当指定范围属性字符串未设置任何样式,则返回空数组。

这题答案应该是B

ArkTs支持以下哪个函数?

说明:

ArkTS不允许使用TypeScript或JavaScript标准库中的某些接口。大部分接口与动态特性有关。ArkTS中禁止使用以下接口:

全局对象的属性和方法:eval

Object:protodefineGetterdefineSetter

lookupGetterlookupSetter、assign、create、

defineProperties、defineProperty、freeze、

fromEntries、getOwnPropertyDescriptor、getOwnPropertyDescriptors、

getOwnPropertySymbols、getPrototypeOf、

hasOwnProperty、is、isExtensible、isFrozen、

isPrototypeOf、isSealed、preventExtensions、

propertyIsEnumerable、seal、setPrototypeOf

Reflect:apply、construct、defineProperty、deleteProperty、

getOwnPropertyDescriptor、getPrototypeOf、

isExtensible、preventExtensions、

setPrototypeOf

Proxy:handler.apply()、handler.construct()、

handler.defineProperty()、handler.deleteProperty()、handler.get()、

handler.getOwnPropertyDescriptor()、handler.getPrototypeOf()、

handler.has()、handler.isExtensible()、handler.ownKeys()、

handler.preventExtensions()、handler.set()、handler.setPrototypeOf()

链接:developer.huawei.com/consumer/cn...

答案应该是C

下面关于V2状态管理@Monitor装饰器的描述错误的是

说明:

A:@Monitor装饰器具有深度监听的能力,能够监听嵌套类、多维数组、对象数组中指定项的变化。对于嵌套类、对象数组中成员属性变化的监听要求该类被@ObservedV2装饰且该属性被@Trace装饰。

B:单个@Monitor装饰器能够同时监听多个属性的变化,当这些属性在一次事件中共同变化时,只会触发一次@Monitor的回调方法。

C: @Monitor装饰器支持在类中与@ObservedV2、@Trace配合使用,不允许在未被@ObservedV2装饰的类中使用@Monitor装饰器。未被@Trace装饰的属性无法被@Monitor监听到变化。

D:@Monitor监听的状态变量为类对象时,仅能监听对象整体的变化。监听类属性的变化需要类属性被@Trace装饰。

链接:developer.huawei.com/consumer/cn...

答案选D

下面关于@Track装饰器的限制条件说法错误的是?

说明:

A: @Track是class对象的属性装饰器。当一个class对象是状态变量时,@Track装饰的属性发生变化,只会触发该属性关联的UI更新;如果class类中使用了@Track装饰器,则未被@Track装饰器装饰的属性不能在UI中使用,如果使用,会发生运行时报错。

B:错误

C: 是正确的

D: 也是正确的

链接:developer.huawei.com/consumer/cn...

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

说明:

方舟字节码中的操作码通常被编码为一个8位的值,因此至多只能有256个操作码。随着方舟编译器运行时功能的演进,字节码的数量也在逐步增加,已经超过了256个。因此,方舟字节码引入了前缀(prefix),将操作码最大宽度从8位扩展到16位。8位操作码(无前缀的)用于表示频繁出现的指令,16位操作码(有前缀的)用于表示出现频率不高的指令。

链接:developer.huawei.com/consumer/cn...

在Column容器中,使用alignItems(HorizontalAlign.End)时,子元素如何排列?

说明:

水平右对齐。

从桌面冷启动如下应用代码, 点击Change按钮5次。整个过程中,代码中的2条log依次出现的次数是?

js 复制代码
class Data {
  num: number
  type: string

  constructor(num: number, type: string) {
    this.num = num;
    this.type = type;
  }
}

@Reusable
  @Component
  struct Item {
    @State data: Data | undefined = undefined;

    aboutToAppear(): void {
      console.log("Demo log1")
    }

    aboutToReuse(params: ESObject): void {
      console.log("Demo log2")
      this.data = params.data
    }

    build() {
      Text("num = " + this.data?.num + ", type = " + this.data?.type)
    }
  }


@Preview
  @Entry
  @Component
  struct ColumnPage {
    data1: Data = new Data(1, "type1");
    data2: Data = new Data(2, "type2");
    @State data: Data = this.data1;

    build() {
      Column(){
        if(this.data.type == 'type1') {
          Item({data: this.data}).reuseId(this.data.type)
        } else {
          Item({data: this.data}).reuseId(this.data.type)
        }

        Button("Change").onClick(() => {
         // console.log(String(this.data === this.data1))
          if(this.data === this.data1){
            this.data = this.data2
          } else {
            this.data = this.data1
          }
        })
      }

    }
  }

A: 6, 0

B: 1, 0

C: 1, 5

D: 2, 4

答案应该是B

以下程序中,对按钮进行点击后,后台会输出什么内容?

js 复制代码
@Preview
@Entry
@Component
struct HitTestBehaviorExample {
  @State message: string = 'Hello World';

  build() {
    Stack() {
      Button('outer button').onTouch((event) => {
        console.log('outer button touched type: ' + (event as TouchEvent).type)
      })

      Stack() {
        Button('inner button').onTouch((event) => {
          console.log('inner button touched type:' + (event as TouchEvent).type)
        })
      }.width('100%').height('100%')
      .hitTestBehavior(HitTestMode.Block)
      .onTouch(event => {
        console.log('stack touched type: ' + (event as TouchEvent).type)
      })
    }.width(300).height(300)
  }
}

说明:答案D

以下程序中,点击"hello world"后,控制台会输出什么内容?

js 复制代码
@Preview
@Entry
@Component
struct HitTestBehaviorExample {
  @State message: string = 'Hello World';

  isPolygon(event: TouchEvent) {
    return true;
  }

  build() {
    Row() {
      Column() {
        Text('hello world').backgroundColor(Color.Blue)
          .fontSize(50).fontWeight(FontWeight.Bold)
          .onClick(() => {
            console.log('Text click')
          })
      }.width(400).height(300)
      .backgroundColor(Color.Pink)
      .onClick(() => {
        console.log("Column click")
      })
      .onTouchIntercept((event: TouchEvent) => {
        console.log('OnTouchIntercept')
        if(this.isPolygon(event)){
          return HitTestMode.None
        }
        return HitTestMode.Default
      })
    }.width('100%')
  }
}

说明:

项目需要同时进行应用和元服务的开发,并针对当前项目工程中的代码可以分别构建出应用和元服务的包,如何在DevEcoStudio中设置不同的构建配置,达成这个目的?

答案D

开发者小华开发了一个鸿蒙应用,功能开发自验证完成后,准备进行上架了,需要对应用的质量进行初步的评过,为了快速评估和提升产品品质,针对这个场景,小华可以使用IDE上哪个能力帮助他完成这个事情?

答案:C

在使用DevEcoStudio的Profler进行HarmonyOS应用或服务性能分析时,面对应用出现卡顿,加载慢等性能瓶颈问题,以下哪个描述最贴切地说明了"Time场景分析任务"的功能及其对开发者优化流程的帮助?

说明:

B:内存分析是 Allocation分析:developer.huawei.com/consumer/cn...

C:CPU分析: developer.huawei.com/consumer/cn...

答案是A

链接:developer.huawei.com/consumer/cn...

相关推荐
Georgewu9 小时前
【HarmonyOS 5】桌面快捷方式功能实现详解
harmonyos
娅娅梨10 小时前
HarmonyOS-ArkUI 自定义弹窗
华为·harmonyos·arkts·arkui
陈奕昆10 小时前
3.3 HarmonyOS NEXT原子化服务开发:卡片设计、轻量部署与场景化编排实战
华为·harmonyos
上海张律师14 小时前
鸿蒙ArkTS+ArkUI仿微信消息列表页制作
harmonyos
王二蛋与他的张大花21 小时前
HarmonyOS运动开发:如何用mpchart绘制运动配速图表
harmonyos
程序员小刘21 小时前
【HarmonyOS 5】生活与服务开发实践详解以及服务卡片案例
华为·生活·harmonyos
小草帽学编程1 天前
鸿蒙Next开发真机调试签名申请流程
android·华为·harmonyos
陈奕昆1 天前
5.2 HarmonyOS NEXT应用性能诊断与优化:工具链、启动速度与功耗管理实战
华为·harmonyos
哼唧唧_1 天前
React Native开发鸿蒙运动健康类应用的项目实践记录
react native·harmonyos·harmony os5·运动健康