11月鸿蒙高级认证部分试题

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

A.@Shared

B.@State

C.@Sendable

D.@Style

2、ArkTS支持以下哪个函数。 B

A. Object.getOwnPropertyDescriptors();

B. Object.values();

C. Object.hasOwnProperty();

D. Object.getOwnPropertyDescriptor();

ArkTS强调强类型和类型安全,不允许动态属性之类的操作,获取keys和values是可以的

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

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. a1

B. a2

C. a3

D. a4

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

class C {}

let value1: number = null;

let value2: string | null = null;

let value3: string | undefined = null;

let value4: C = null

A. value4

B. value2

C. value1

D. value3

5、ArkTS支持以下哪些函数 A

A. Object.keys();

B. Object.isPrototypeOf0;

C. Object.isExtensible();

D. Object.getOwnPropertySymbols();

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

图片1.png

A 1,5,1,6

B 2,4,1,2

C 2,4,1,6

D 0,6,1,6

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组件大小改为300pxx300px

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

(5) xcController.setXComponentSurfaceRect( { offsetX: -20, offsetY: 50, surfaceWidth:

200, surfaceHeight: -100 } )

之后,调用xcController.getXComponentSurfaceRect()的返回值为 C

A. {offsetX: 81, offsetY: -89, surfaceWidth: 200, surfaceHeight: 0 }

B. { offsetX: 75, offsetY: -100, surfaceWidth: 150, surfaceHeight: 500}

C. { offsetX: 81, offsetY: -89, surfaceWidth: 150, surfaceHeight: 500}

D. { offsetX: -20, offsetY: 50, surfaceWidth: 200, surfaceHeight: 500 }

8、以下哪个事件不会在List组件调用控制器ScrollBy接口触发?(B)

A. onScrolllndex

B. onScrollStart

C.onDidScroll

D. onWillScroll

9、如果想让outer button响应事件,hitTestBehavior该怎么配 (C)

图片2.png

A HitTestMode.None

B HitTestMode.Default

C HitTestMode.Transparent

D HitTestMode.Block

10、在如下界面中使用tab键走焦,正确的走焦顺序是?(A)

图片3.png

A Button3->Row2->Button4->Text2->Button2->Button3

B Button3->Row2->Button4->Text2->Button1->Button2->Button3

C Button3->Text1->Button4->Text2->Image1->Button2->Button3

D Button3->Button4->Text2->Button2->Button3

参考:<u>https://gitee.com/openharmony/docs/blob/7602c2e61fd01497946f93ba7caccfdccfd1c2eb/zh-cn/application-dev/ui/arkts-common-events-focus-event.md</u>

图片4.png

Text、Image默认不能获取焦点

11、以下哪份代码可以实现下图Grid布局

图片5.png

正确答案:通过GridLayoutOptions

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

图片6.png

选择这个 $$this.isShow === 双【$】符号修饰

13、下列代码中哪些不能指定半模态高度?(D)

A height: SheetSize.FIT_CONTENT,

B height: SheetSize.LARGE,

C height: SheetSize.MEDIUM,

D height: SheetSize.END,

14、在HarmonyOS应用开发中,当开发者遇到需要分析Release版本应用的崩溃或异常堆栈信息时,为了准确地将堆栈追踪信息对应到源代码的具体位置,以下哪个描述是正确的做法或理解(B)

A 开发者需手动将Release构建生成的so文件与源代码进行映射,配合第三方工具进行堆栈信息还原,虽然过程繁琐,但最终能定位到问题代码位置

B DevEco Studio提供的Release应用堆栈解析功能,要求开发者在遇到问题时,需上传构建产物中的特定文件(如so、source map、nameCache等)到指定工具或界面,借助这些文件辅助解析堆栈信息,实现从Release堆栈到源码的映射,便于快速定位问题

C DevEco Studio通过集成的Release应用堆栈解析功能,自动利用构建时产生的so文件、source map文件、nameCache文件等,无需额外操作即可直接在Release应用中提供详细的源码级堆栈追踪信息

D 因为Release应用经过优化和去除Debug信息,直接从堆栈跟踪到源代码行号是不可能的,开发者只能依靠日志信息手工推测问题所在

15、张工在使用DevEco Studio开发HarmonyOS应用时,遇到了代码编译警告和错误。为了提高开发效率,哪一项正确描述了张工如何利用DevEco Studio的Quick Fix功能来有效管理和修复代码中的问题?(D)

A 张工应该首先使用Ctrl + Shift + F快捷键全局搜索问题,然后手动在搜索结果中找出代码警告和错误的原因及位置。

B 张工在代码编辑界面看到红色波浪线标记的错误时,直接右键点击错误代码,选择“Delete Line”以移除错误代码行,从而“修复”问题。

C 张工只需在代码编辑界面按下F1键,DevEco Studio会自动识别当前光标所在行的错误并直接修复。

D 张工通过双击Shift键打开搜索框,输入"problems"打开问题工具面板,双击具体告警条目可直接跳转到问题代码行。接着,将光标置于告警位置,利用弹出的悬浮窗选择合适的修复建议或点击“More actions”以查看更多修复选项。

16、项目需要为不同的设备形态(如手机、智能手表)提供定制化构建。请说明如何在DevEco Studio中设置不同的构建配置,以生成针对不同设备的hap包?(B)

A 在工程级别build-profile.json5定义多个product,在每个product的config/deviceType中定义不同的设备类型

B 在模块级别build-profile.json5定义多个target,在每个target的config/deviceType中定义不同的设备类型

C 在工程级别build-profile.json5定义多个product,在每个product的config/distributionFilter中定义不同的设备类型

D 在模块级别build-profile.json5定义多个target,在每个target的config/distributionFilter中定义不同的设备类型

每个工程包含多个module,每个module可以通过target定制输出多种hap包,在最终打包成APP时可以通过定制product包含不同的target打出的hap,所以这里选B

17、在一个包含多个模块(如entry、feature、har、hsp等)的大型HarmonyOS应用项目中,如果要对某个静态共享模块构建出静态构建包产物,如何通过DevEco Studio进行构建(A)

A 选中har模块,点击build菜单栏make module har

B 选中hap模块,点击通过菜单栏make module 'hap

C 选中hsp模块,点击通过菜单栏makemodule'hsp

D 选中har模块,点击bd菜单栏build hap(s)

har(Harmony Archive) 静态共享库,static library,每个hap一份拷贝

hsp(Harmony shared package)动态共享库,运行时一个进程一分

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

A DevEco Studio的Terminal面板

B DevEco Studio的Project Explorer

C DevEco Studio的Device File Browser

D DevEco Studio的Log面板

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

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

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

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

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

20、开发者在编写ArkUI代码时,想要提前预览下所编写的组件的效果,下述哪个组件可以使用DevEco Studio Previewer正常预览?(A)

A @Preview @Component struct TitleSample { @StorageProp('title') title: string = 'PlaceHolder'; build() { Text(this.title) } }

B @Preview @Component struct LinkSample { @Link message: string; build() { Text(this.message) } }

C @Preview @Component struct ConsumeSample { @Consume name: string; build() { Text(this.name) } }

D import { add } from 'libnative.so'; @Preview @Component struct NativeSample { count: number = add(1, 2); build() { Text(current count is ${this.count}) } }

B link变量没有初始化 C Consumer没有提供Provider D 没有add具体方法,需要自定义mock

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

A. Run without Debugging,先让应用自由运行,随后手动附加调试器。

B. 使用"Profile"功能,因为这同样能提供对运行时应用的监控与调试能力。

C. Attach Debugger to Process,这允许他连接到正在运行的应用进程进行调试。

D.使用Debug功能,将应用重新推包运行调试

22、一个应用的功能比较复杂,需要使用ExtensionAbility组件,针对该应用的开发,下面说法错误的是(B)

A 每个HAP中包含一个UAbility组件或者一个ExtensionAbility组件。

B ExtensionAbility使用独立的HAP实现,可能会存在多个HAP引用相同的HAR,导致重复打包的问题,因此把所有的HAR都使用HSP代替。

C 可以采用多HAP(即一个entry包+多个feature包)来实现应用开发。

D 根据二八原则,非常用的功能,封装成HSP,做成按需加载的模块。

23、在编译构建HAP时,会从HAP模块及依赖的模块中收集资源文件,如果不同模块下的资源文件出现重名冲突时,会按照优先级进行覆盖,现在有一个HAP依赖了两个HAR,依赖配置如下所示:

//oh-package.json5

{

"dependencies": {

"dayjs": "^1.10.4",

"lottie": "2.0.0"

}

}

在资源覆盖时,以下优先级排序正确的是(D )

A. AppScope>HAP包自身模块>lottie模块>dayjs模块

B. HAP包自身模块>lottie模块>dayjs模块>AppScope

C. HAP包自身模块>dayjs模块>lottie模块>AppScope

D. AppScope>HAP包自身模块>dayjs模块>lottie模块

优先级从高到底

AppScope(仅API9的Stage模型支持)。

HAP包自身模块。

依赖的HAR模块,如果依赖的多个HAR之间有资源冲突,会按照工程oh-package.json5中dependencies下的依赖顺序进行覆盖,依赖顺序在前的优先级较高。例如下方示例中dayjs和lottie中包含同名文件时,会优先使用dayjs中的资源。

24、HAR(Harmony Archive)是HarmonyOS提供的共享包,以下关于HAR的描述错误的是 (A)

A HAR不支持使用page页面

B HAR不支持在设备上单独安装/运行,只能作为应用模块的依赖项被引用

C HAR不支持引用AppScope目录中的资源。在编译构建时,AppScope中的内容不会打包到HAR中,因此会导致HAR资源引用失败

D HAR可以作为二方库和三方库提供给其他应用使用,如果需要对代码资产进行保护时,建议开启混淆能力

25、want参数的entities匹配规则错误的是 (A)

A 调用方传入的want参数的entities为空,待匹配应用组件的skills配置中的entities不为空,则entities匹配失败。

B 调用方传入的want参数的entities不为空,待匹配应用组件的skills配置中的entities不为空且包含调用方传入的want参数的entities,则entities匹配成功。

C 调用方传入的want参数的entities为空,待匹配应用组件的skills配置中的entities为空,则entities匹配成功。

D 调用方传入的want参数的entities不为空,待匹配应用组件的skills配置中的entities为空,则entities匹配失败。

26、在UIAbility的onCreate生命周期中通过EventHub的on注册"event1"和"event2"事件。 (C)

import { hilog } from '@kit.PerformanceAnalysisKit';

import { UIAbility, Want, AbilityConstant } from '@kit.AbilityKit';

const DOMAIN_NUMBER: number = 0xFF00;

const TAG: string = '[EventAbility]';

export default class EntryAbility extends UIAbility {

onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {

// 获取UIAbility实例的上下文

let context = this.context;

// 获取eventHub

let eventhub = this.context.eventHub;

// 执行订阅操作

eventhub.on('event1', this.eventFunc);

eventhub.on('event2', this.eventFunc);

hilog.info(DOMAIN_NUMBER, TAG, '%{public}s', 'Ability onCreate');

}

// ...

eventFunc(argOne: Context, argTwo: Context): void {

hilog.info(DOMAIN_NUMBER, TAG, 'receive. ' + ${argOne}, ${argTwo});

return

}

图片7.png

27、某个应用开发了一个UIAbilityA,其启动模式是specified,并且对应的AbilityStage的实现如下:(D)

[图片上传失败...(image-f83f32-1732183138540)]

A 2个

B 4个

C 1个

D 3个

28、通过aa工具拉起com.example.test的EntryAbility,并传参给EntryAbility,具体参数是number类型的[key1, 1] [key2,2] 和string类型的[key3, testString] [key4,''],那边下面那个aa 命令是正确的:(D)

A aa start -b com.example.test -a EntryAbility --pi key1 1 --pi key2 2 --ps key3 testString --ps key4

B aa start -b com.example.test -a EntryAbility --pi key1 1 --pi key2 2 --ps key3 testString --psn key4”

C aa start -b com.example.test -a EntryAbility --pi key1 1 key2 2 --ps key3 testString --psn key4

D aa start -b com.example.test -a EntryAbility --pi key1 1 --pi key2 2 --ps key3 testString --psn key4

psn 可选参数,表示空字符串

29、可以通过下面那个接口拉起导航类的垂域面板 (C)

A startAbility

B startAbilityForResult

C startAbilityByType

D startAbilityByCall

30、hiAppEvent提供的Watcher接口,需要订阅到OS的崩溃事件,正确的实现方式(A)

图片8.png

<u>https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/hiappevent-watcher-crash-events-arkts-V5</u>

31、hiAppEvent提供的Watcher接口,()属性不配置,会导致编译报错,产生"ArkTS Compiler Error" (B)

A onTrigger

B name

C onReceive

D triggerCondition

只有name是必填项

32、ArkUI组件复用的作用机制是减少了什么时间从而降低了丢帧率?(B)

A数据挂载时间

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

C组件销毁时间

D组件节点渲染时间

33、下述冷启动场景代码片段,组件初始化生命周期中存在CPU密集型任务,为了降低应用冷启动时的白屏时延长,高性能优化方向的最优解为:(D)

aboutToAppear() {

this.doTask(); // 此为CPU密集型任务

}

A.使用Promise封装doTask

B.使用setTimeout封装doTask

C.无需优化

D.将doTask注册到taskpool中执行

34、下述代码片段,使用了哪些基于web的性能优化手段:(B)

Web({ src: 'https://www.example.com', controller: this.controller })

.onPageEnd((event) => {

//...

this.controller.prefetchPage('https://www.example.com/nextpage');

A、预连接

B、预渲染

C、以上都有

D、预加载

35、下面持续集成描述哪项是错误的:(D)

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

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

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

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

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

图片9.png

A 在RouterModule中采用路由表方式解耦各个业务模块。

B 采用RouterModule作为中介者并用动态import解耦各个业务模块。

C 采用静态import方式引入对应跳转的页面。

D 可以采用Navigation作为页面导航根容器,将其放在entry中,其他Module的页面作为Navigation的子页面

37、以下对系统兼容性的理解正确的是 (B)

A. 系统能力都会保持绝对的兼容性,不能因为任何非兼容性的修改而导致开发者成本上升

B. 安全法律法规等不可控因素会导致系统非兼容性变更,开发者需要积极适配

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

D. 应用不需要关注系统的兼容性变化,那都是系统开发人员需要关注的事情

38、在moduleA(HAP类型)中有一个图片名为image.png,在moduleB(HAR类型)也存在一个图片名为image.png,而moduleA依赖于moduleB,那么在moduleA的编译产物hap包中,image.png存在情况是:(B)

A 仅存在moduleB的image.png

B 仅存在moduleA的image.png

C 两者都存在

D 两者都不存在

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

A 将该特性做成hap包,通过Ability组件暴露出来给主app使用

B 将该特性做成动态加载的har包,暴露接口给主模块使用。

C 锦该特性做成H5模块,通过web组件加截远程资源使用

D 将该特性做成按需加载的hsp包,暴露接口给主模块使用

40、Web组件的WebviewControler.prefetchPage方法预加载的资源有效期是?(C)

A 1分钟

B 3分钟

C 5分钟

D 2分钟

41、下面关于混淆规则描述正确的是(AC)

A -enable-export-obfuscation:开启直接导入或导出的类或对象的名称和属性名混淆

B -enable-toplevel-obfuscation:开启属性混淆

C -disable-obfuscation:关闭所有混淆

D -enable-property-obfuscation:开启顶层作用域名称混淆

42、应用开发的有些场景中,如果希望根据条件导入模块或者按需导入模块,可以使用动态导入代替静态导入,面导入场景中适合使用动态import的是(ABCD)

A 当静态导入的模块很明显的降低了代码的加载速度且被使用的可能性很低,或者并不需要马上使用它。

B 当被导入的模块,在加载时并不存在,需要异步获取。

C 当被导入的模块说明符,需要动态构建。

D 当静态导入的模块很明显的占用了大量的系统内存且被使用的可能性很低。

43、下面关于混淆的描述正确的是(ABCD)

A 可以在HAR模块工程的build-profile.json5中的obfuscation.consumerFiles字段中配置导出的混淆配置,该配置仅在编译依赖该HAR的模块时生效。

B 支持顶层作用域名称、属性名称、文件名称等多种混淆功能

C 在工程build-profile.json5中的obfuscation.ruleOptions.files字段中配置该工程的混淆配置,该配置仅在编译该工程时生效。

D 修改应用混淆配置,新配置需要重新全量编译应用才能生效

44、Arkrs是鸿蒙生态的应用开发语言。以下哪些选项是ArkTs的设计理念。(ABD)

A 通过规范强化静态检查和分析,减少运行时的类型检查,从而降低了运行时负载,提升执行性能。

B ArkTS保留了TS大部分的语法特性,帮助开发者更容易上手ArkTS。

C ArkTS不支持null-satety特性。

D 通过规范强化静态检查和分析,使得许多错误在编译时可以被检测出来,降低代码运行错误的风险。

ArkTS支持null-safety特性,类型不符合的会在编译时报错

45、以下代码片段哪几处违反了ArkTS语法规范。(ABC)

function foo(value: number) {

return value;

}

foo(");

foo(0);

foo(undefined);

foo(null);

A. foo(");

B. foo(null);

C.foo(undefined);

D.foo(0);

46、下面关于Node-API数据类型描述正确的是(CD)

A napi threadsafe function release mode:该枚举类型定义了两个常量,用于指定线程安全函数的调用模式

B napi threadsafe_function_call mode:该枚举类型定义了两个常量,用于指定在何时释放线程安全函数的回调函数

C napienv:用于表示Node-API执行时的上下文

D napi status:是一个枚举数据类型,表示Node-API接口返回的状态信息

47、以下napi代码有问题的是

B napi_ref g_ref = nullptr; /***** excute in main thread *****/ static napi_value DemoInMainThread(napi_env env, napi_callback_info info) { napi_value string = nullptr; napi_create_string_utf8(env, "bar", NAPI_AUTO_LENGTH, &string); napi_create_reference(env, string, 1, &g_ref); return string; } /***** excute in worker thread *****/ static napi_value DemoInWorkerThread(napi_env env, napi_callback_info info) { napi_value string = nullptr; napi_get_reference_value(env, g_ref, &string); napi_value object = nullptr; napi_create_object(env, &object); napi_set_named_property(env, object, "foo", string); return object; }

D static napi_value Demo(napi_env env, napi_callback_info info) { size_t argc = 1; napi_value args[1] = {nullptr}; napi_get_cb_info(env, info, &argc, args, nullptr, nullptr); napi_value sizeObj = nullptr; napi_handle_scope scope = nullptr; napi_open_handle_scope(env, &scope); napi_call_function(env, nullptr, args[0], 0, nullptr, &sizeObj); napi_close_handle_scope(env, scope); int64_t width = 0; napi_value result = nullptr; napi_get_element(env, sizeObj, 0, &result); napi_get_value_int64(env, result, &width); return result; }

48、以下代码片段哪几处违反了ArkTS语法规范。(BCD)

function foo(value1: number, value2: number) {

return value1 + value2;

}

fo0();

foo(1, 2);

foo(1, 2, 3);

foo(1,2,3,4);

A. foo(1,2);

B. foo(1,2,3,4);

C. foo()

D. foo(1, 2, 3);

49、以下关于Menu的说法正确的是?(ABCD)

A. bindContextMenu总是显示在子窗口中,在PC设备上可以超出应用主窗口显示

B. bindContextMenu长按弹出的菜单可支持拖拽,bindMenu不支持拖拽

C. 使用状态变量控制菜单显示时,需要等待目标节点构建完成后才能设置,如目标节点的onAppear生命周期

D. 使用状态变量控制菜单显示时,需要等待目标节点构建完成后才能设置,如目标节点的onAppear生命周期

50、以下哪些是可以在Navigation中使用pushPathByName接口传递的params的参数类型(ABC)

A. record<string,string>

B. string

C. arrayBuffer

D. map<string,string>

51、以下关于Menu的说法正确的是?(ABCD)

A. 当设置的预览图尺寸过大,或者缩放的比例过高时,菜单可能会对预览图进行缩小,确保其显示在屏幕内,所以行为表现可能与开发者设置的不一致

B. 菜单的退出方式包括点击外部其他区域、点击menu选项、横竖屏切换、窗口失焦或退出、窗口大小发生变化

C. Menu、Menultem和MenultemGroup组件不支持单独使用,只能在bindMenu和bindContextMenu中使用

D. 当布局不下时,菜单或预览图会进行避让,最终显示位置可能与开发者设置的不一致

52、

53、在使用DevEco studio进行Harmonyos应用开发和调试过程中,开发者小张遇到应用运行时意外终止的情况,他需要快速定位并解决导致应用崩溃的问题。以下哪些做法可以帮助小张有效分析和处理这些问题(AD)

A 利用系统自动生成的FaultLog,包括AppFreeze、Cpp Crash、JS Crash、System Freeze和ASan报告,这些报告会详细记录故障发生时的环境、堆械信息和可能的故障原因,是排查问题的重要参考

B 若遇到App运行卡顿或系统整体无响应(App Freeze,System Freeze)的情况;可以通过性能分析工具中的Frame insight和Allocation insight功能,分析应用的资源清耗情况,寻找可能的瓶颈

C 查看DevEco Studio log工具栏输出的错误日志,根据日志提示分析应用崩溃的具体原因及代码位置

D 当怀疑问题是由于C++代码中的内存错误(如数组越界、内存泄露、重复释放内存)引起时,进入"Run/Debug Configurations"设置界面,勾选启用Addres Sanitizer (Asan),然后重新部署应用进行测试以获取更详细的内存问题报告

54、在应用开发中,部分代码和资源被重复引用和编译构建,可以新建什么模块来实现代码和资源的共享?(BD)

A HAR

B HAP

C APK

D HSP

55、使用如下的代码去启动一个ability时,哪种skills定义的组件能够被匹配到:(ACD)

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",

"type":"text/*"

]

}

]

B、"skills":[

{

"uris":[

"scheme": "https",

"host": "www.test.com",

"pathstartwith" : "query/books",

"type":"text/*"

}

]

}

C、"skills":[

{

"uris":[

"scheme": "https",

"host": "www.test.com",

"type":"text/*"

}

]

}

D、"skills":[

{

"uris":[

"scheme": "https",

"host": "www.test.com",

"pathstartwith" : "query/books"

"type":"text/plain"

}

]

}

56 HSP支持导出ArkUI组件、接口,供应用内的其他HAP/HSP引用,下面正确的是 (ABC)

[图片上传失败...(image-9c5bed-1732183138536)]

57 hiAppEvent提供的Watcher接口,订阅到的系统事件,哪些包含HiLog日志?(BD)

A 启动耗时事件

B卡死事件

C CPU高负载事件

D 崩溃事件

58 哪些是持续集成最佳实践(ACDFG)

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

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

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

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

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

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

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

59 Web组件支持以下哪些常用属性(ABC)

A darkMode(mode:WebDarkMode)设置网页深色模式

B textAutosizing 设置使能文本自动调整大小

C copyOptions(value:CopyOptions)设置剪贴板复制范围

D InputWindowlnfo 设置网页输入法软键盘的窗口信息

没有InputWindowInfo属性

60 使用ArkUI组件复用之后,还是没有显著提升列表滑动场景的性能,属于组件复用未生效可能的原因有?(BCD)

A 没有在aboutToReuse更新关联的状态变量数据。

B 在aboutToReuse回调函数中更新了冗余的状态变量。

C 页面嵌套了过多自定义组件。

D 复用的自定义组件中使用if等条件渲染语句导致结构不相同,未使用reuseId标记。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,919评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,567评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,316评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,294评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,318评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,245评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,120评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,964评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,376评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,592评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,764评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,460评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,070评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,697评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,846评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,819评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,665评论 2 354

推荐阅读更多精彩内容