1添寺、以下哪個裝飾器用來表示并發(fā)共享對象斧抱。C
A.@Shared
B.@State
C.@Sendable
D.@Style
2娇豫、ArkTS支持以下哪個函數(shù)耀找。 B
A. Object.getOwnPropertyDescriptors();
B. Object.values();
C. Object.hasOwnProperty();
D. Object.getOwnPropertyDescriptor();
ArkTS強調(diào)強類型和類型安全此洲,不允許動態(tài)屬性之類的操作厂汗,獲取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支持以下哪些函數(shù) A
A. Object.keys();
B. Object.isPrototypeOf0;
C. Object.isExtensible();
D. Object.getOwnPropertySymbols();
6衷畦、從桌面冷啟動如下應用栗涂,點擊Change按鈕5次,整個過程中霎匈,代碼中的2條log依次出現(xiàn)的次數(shù)戴差,最初和最后畫面上顯示的【num = ?】的數(shù)字是 B
A 1,5,1,6
B 2,4,1,2
C 2,4,1,6
D 0,6,1,6
7、現(xiàn)有一個寬高分別為200px的XComponent組件铛嘱,其綁定了一個
XComponentController(xcController)暖释,依次進行如下操作:
(1) xcController.setXComponentSurfaceRect( {surfaceWidth: 150, surfaceHeight: 500})(2)設(shè)置XComponent組件的padding為{ top: 5px, left: 10px, bottom: 15px, right: 20px }(3)將XComponent組件大小改為300pxx300px
(4)給XComponent組件設(shè)置一個寬度為2px的邊框
(5) xcController.setXComponentSurfaceRect( { offsetX: -20, offsetY: 50, surfaceWidth:
200, surfaceHeight: -100 } )
之后,調(diào)用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組件調(diào)用控制器ScrollBy接口觸發(fā)?(B)
A. onScrolllndex
B. onScrollStart
C.onDidScroll
D. onWillScroll
9球匕、如果想讓outer button響應事件,hitTestBehavior該怎么配 (C)
A HitTestMode.None
B HitTestMode.Default
C HitTestMode.Transparent
D HitTestMode.Block
10帖烘、在如下界面中使用tab鍵走焦亮曹,正確的走焦順序是?(A)
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
Text秘症、Image默認不能獲取焦點
11照卦、以下哪份代碼可以實現(xiàn)下圖Grid布局
正確答案:通過GridLayoutOptions
12、為了使isShow參數(shù)值與半模態(tài)界面的狀態(tài)同步乡摹,可以使用下列那種方式雙向綁定isShow參數(shù)役耕?
選擇這個 $$this.isShow === 雙【$】符號修飾
13、下列代碼中哪些不能指定半模態(tài)高度聪廉?(D)
A height: SheetSize.FIT_CONTENT,
B height: SheetSize.LARGE,
C height: SheetSize.MEDIUM,
D height: SheetSize.END,
14瞬痘、在HarmonyOS應用開發(fā)中,當開發(fā)者遇到需要分析Release版本應用的崩潰或異常堆棧信息時板熊,為了準確地將堆棧追蹤信息對應到源代碼的具體位置框全,以下哪個描述是正確的做法或理解(B)
A 開發(fā)者需手動將Release構(gòu)建生成的so文件與源代碼進行映射,配合第三方工具進行堆棧信息還原干签,雖然過程繁瑣津辩,但最終能定位到問題代碼位置
B DevEco Studio提供的Release應用堆棧解析功能,要求開發(fā)者在遇到問題時筒严,需上傳構(gòu)建產(chǎn)物中的特定文件(如so丹泉、source map、nameCache等)到指定工具或界面鸭蛙,借助這些文件輔助解析堆棧信息摹恨,實現(xiàn)從Release堆棧到源碼的映射,便于快速定位問題
C DevEco Studio通過集成的Release應用堆棧解析功能娶视,自動利用構(gòu)建時產(chǎn)生的so文件晒哄、source map文件睁宰、nameCache文件等,無需額外操作即可直接在Release應用中提供詳細的源碼級堆棧追蹤信息
D 因為Release應用經(jīng)過優(yōu)化和去除Debug信息寝凌,直接從堆棧跟蹤到源代碼行號是不可能的柒傻,開發(fā)者只能依靠日志信息手工推測問題所在
15、張工在使用DevEco Studio開發(fā)HarmonyOS應用時较木,遇到了代碼編譯警告和錯誤红符。為了提高開發(fā)效率,哪一項正確描述了張工如何利用DevEco Studio的Quick Fix功能來有效管理和修復代碼中的問題伐债?(D)
A 張工應該首先使用Ctrl + Shift + F快捷鍵全局搜索問題预侯,然后手動在搜索結(jié)果中找出代碼警告和錯誤的原因及位置。
B 張工在代碼編輯界面看到紅色波浪線標記的錯誤時峰锁,直接右鍵點擊錯誤代碼萎馅,選擇“Delete Line”以移除錯誤代碼行,從而“修復”問題虹蒋。
C 張工只需在代碼編輯界面按下F1鍵糜芳,DevEco Studio會自動識別當前光標所在行的錯誤并直接修復。
D 張工通過雙擊Shift鍵打開搜索框魄衅,輸入"problems"打開問題工具面板峭竣,雙擊具體告警條目可直接跳轉(zhuǎn)到問題代碼行。接著晃虫,將光標置于告警位置邪驮,利用彈出的懸浮窗選擇合適的修復建議或點擊“More actions”以查看更多修復選項。
16傲茄、項目需要為不同的設(shè)備形態(tài)(如手機、智能手表)提供定制化構(gòu)建沮榜。請說明如何在DevEco Studio中設(shè)置不同的構(gòu)建配置盘榨,以生成針對不同設(shè)備的hap包?(B)
A 在工程級別build-profile.json5定義多個product蟆融,在每個product的config/deviceType中定義不同的設(shè)備類型
B 在模塊級別build-profile.json5定義多個target草巡,在每個target的config/deviceType中定義不同的設(shè)備類型
C 在工程級別build-profile.json5定義多個product,在每個product的config/distributionFilter中定義不同的設(shè)備類型
D 在模塊級別build-profile.json5定義多個target型酥,在每個target的config/distributionFilter中定義不同的設(shè)備類型
每個工程包含多個module山憨,每個module可以通過target定制輸出多種hap包,在最終打包成APP時可以通過定制product包含不同的target打出的hap弥喉,所以這里選B
17郁竟、在一個包含多個模塊(如entry、feature由境、har棚亩、hsp等)的大型HarmonyOS應用項目中蓖议,如果要對某個靜態(tài)共享模塊構(gòu)建出靜態(tài)構(gòu)建包產(chǎn)物,如何通過DevEco Studio進行構(gòu)建(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) 靜態(tài)共享庫修然,static library肛响,每個hap一份拷貝
hsp(Harmony shared package)動態(tài)共享庫过牙,運行時一個進程一分
18、開發(fā)者張工想要高效地管理HarmonyOS設(shè)備中的文件水泉,包括查看文件列表拯杠、進行文件搜索掏婶、新建及刪除操作,以及在設(shè)備與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進行復雜的跨設(shè)備功能開發(fā)與調(diào)試工作,期間頻繁依賴本地模擬器來模擬多樣化的設(shè)備環(huán)境依溯。在這樣的背景下老厌,以下關(guān)于DevEco Studio本地模擬器所支持的規(guī)格與功能,哪一項描述是準確的 (B )
A 本地模擬器當前不支持查看HiLog以及FaultLog
B 本地模擬器上運行的應用無需進行簽名黎炉,簡化了調(diào)試過程枝秤。
C 本地模擬器當前不支持單元測試框架和UI測試框架的運行
D 本地模擬器和真機的能力沒有任何差異,真機上可以支持的能力在模擬器上都可以
20慷嗜、開發(fā)者在編寫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、開發(fā)者小張正在使用DevEcoStudio開發(fā)一款HarmonyOS應用缭乘,他遇到了一個僅在應用實際運行環(huán)境中出現(xiàn)的問題沐序,需要調(diào)試已部署在設(shè)備上的應用以定位問題根源,為了能夠在應用已經(jīng)運行的情況下介入調(diào)試堕绩,小張應該采用哪種調(diào)試方法(C)
A. Run without Debugging策幼,先讓應用自由運行,隨后手動附加調(diào)試器奴紧。
B. 使用"Profile"功能特姐,因為這同樣能提供對運行時應用的監(jiān)控與調(diào)試能力。
C. Attach Debugger to Process黍氮,這允許他連接到正在運行的應用進程進行調(diào)試到逊。
D.使用Debug功能铣口,將應用重新推包運行調(diào)試
22、一個應用的功能比較復雜觉壶,需要使用ExtensionAbility組件脑题,針對該應用的開發(fā),下面說法錯誤的是(B)
A 每個HAP中包含一個UAbility組件或者一個ExtensionAbility組件铜靶。
B ExtensionAbility使用獨立的HAP實現(xiàn)叔遂,可能會存在多個HAP引用相同的HAR,導致重復打包的問題争剿,因此把所有的HAR都使用HSP代替已艰。
C 可以采用多HAP(即一個entry包+多個feature包)來實現(xiàn)應用開發(fā)。
D 根據(jù)二八原則蚕苇,非常用的功能哩掺,封裝成HSP,做成按需加載的模塊涩笤。
23嚼吞、在編譯構(gòu)建HAP時,會從HAP模塊及依賴的模塊中收集資源文件蹬碧,如果不同模塊下的資源文件出現(xiàn)重名沖突時,會按照優(yōu)先級進行覆蓋恩沽,現(xiàn)在有一個HAP依賴了兩個HAR,依賴配置如下所示:
//oh-package.json5
{
"dependencies": {
"dayjs": "^1.10.4",
"lottie": "2.0.0"
}
}
在資源覆蓋時里伯,以下優(yōu)先級排序正確的是(D )
A. AppScope>HAP包自身模塊>lottie模塊>dayjs模塊
B. HAP包自身模塊>lottie模塊>dayjs模塊>AppScope
C. HAP包自身模塊>dayjs模塊>lottie模塊>AppScope
D. AppScope>HAP包自身模塊>dayjs模塊>lottie模塊
優(yōu)先級從高到底
AppScope(僅API9的Stage模型支持)。
HAP包自身模塊渤闷。
依賴的HAR模塊,如果依賴的多個HAR之間有資源沖突,會按照工程oh-package.json5中dependencies下的依賴順序進行覆蓋认然,依賴順序在前的優(yōu)先級較高补憾。例如下方示例中dayjs和lottie中包含同名文件時,會優(yōu)先使用dayjs中的資源盈匾。
24毕骡、HAR(Harmony Archive)是HarmonyOS提供的共享包岩瘦,以下關(guān)于HAR的描述錯誤的是 (A)
A HAR不支持使用page頁面
B HAR不支持在設(shè)備上單獨安裝/運行窿撬,只能作為應用模塊的依賴項被引用
C HAR不支持引用AppScope目錄中的資源。在編譯構(gòu)建時密末,AppScope中的內(nèi)容不會打包到HAR中跛璧,因此會導致HAR資源引用失敗
D HAR可以作為二方庫和三方庫提供給其他應用使用,如果需要對代碼資產(chǎn)進行保護時刹碾,建議開啟混淆能力
25座柱、want參數(shù)的entities匹配規(guī)則錯誤的是 (A)
A 調(diào)用方傳入的want參數(shù)的entities為空辆布,待匹配應用組件的skills配置中的entities不為空,則entities匹配失敗。
B 調(diào)用方傳入的want參數(shù)的entities不為空廷雅,待匹配應用組件的skills配置中的entities不為空且包含調(diào)用方傳入的want參數(shù)的entities商架,則entities匹配成功灿巧。
C 調(diào)用方傳入的want參數(shù)的entities為空蒋困,待匹配應用組件的skills配置中的entities為空,則entities匹配成功。
D 調(diào)用方傳入的want參數(shù)的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;
// 執(zhí)行訂閱操作
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
}
27忠聚、某個應用開發(fā)了一個UIAbilityA爷光,其啟動模式是specified,并且對應的AbilityStage的實現(xiàn)如下:(D)
[圖片上傳失敗...(image-f83f32-1732183138540)]
A 2個
B 4個
C 1個
D 3個
28重贺、通過aa工具拉起com.example.test的EntryAbility次企,并傳參給EntryAbility缸棵,具體參數(shù)是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 可選參數(shù)堵第,表示空字符串
29、可以通過下面那個接口拉起導航類的垂域面板 (C)
A startAbility
B startAbilityForResult
C startAbilityByType
D startAbilityByCall
30胀瞪、hiAppEvent提供的Watcher接口赏廓,需要訂閱到OS的崩潰事件,正確的實現(xiàn)方式(A)
31、hiAppEvent提供的Watcher接口患雇,()屬性不配置,會導致編譯報錯橡疼,產(chǎn)生"ArkTS Compiler Error" (B)
A onTrigger
B name
C onReceive
D triggerCondition
只有name是必填項
32挪略、ArkUI組件復用的作用機制是減少了什么時間從而降低了丟幀率?(B)
A數(shù)據(jù)掛載時間
B組件節(jié)點和對象的創(chuàng)建時間
C組件銷毀時間
D組件節(jié)點渲染時間
33挽牢、下述冷啟動場景代碼片段墨辛,組件初始化生命周期中存在CPU密集型任務(wù),為了降低應用冷啟動時的白屏時延長奏赘,高性能優(yōu)化方向的最優(yōu)解為:(D)
aboutToAppear() {
this.doTask(); // 此為CPU密集型任務(wù)
}
A.使用Promise封裝doTask
B.使用setTimeout封裝doTask
C.無需優(yōu)化
D.將doTask注冊到taskpool中執(zhí)行
34太惠、下述代碼片段,使用了哪些基于web的性能優(yōu)化手段:(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堵幽、下面持續(xù)集成描述哪項是錯誤的:(D)
A Martin Fowler說過,”持續(xù)集成并不能消除Bug努咐,而是讓它們非常容易發(fā)現(xiàn)和改正殴胧。”
B 持續(xù)集成在大型項目(有幾十個項目組)也能應用,即便是項目組開發(fā)進度不統(tǒng)一也沒問題
C 持續(xù)集成(CI, Continuous Intergation): 指頻繁的音五,一天多次將代碼集成到主干羔沙。
D 持續(xù)集成就是持續(xù)編譯厨钻,二者異曲同工
36、某App有A诗充、B诱建、C、D四個團隊分別負責ModuleA茎匠、ModuleB押袍、ModuleC和ModuleD四個業(yè)務(wù)模塊,隨著業(yè)務(wù)的發(fā)展汽馋,ModuleA需要跳轉(zhuǎn)到ModuleB圈盔、ModuleC的頁面,ModuleB需要跳轉(zhuǎn)到ModuleC铁蹈、ModuleD的界面癌佩,ModuleC需要跳轉(zhuǎn)到ModuleA的界面,ModuleD需要跳轉(zhuǎn)到ModuleB和ModuleC的界面我碟。由于復雜的依賴關(guān)系姚建,導致一旦有變化就需要知會各個團隊,所以該團隊的架構(gòu)師想要解耦各個業(yè)務(wù)模塊厘托,以下哪些做法是不推薦的(C)
A 在RouterModule中采用路由表方式解耦各個業(yè)務(wù)模塊。
B 采用RouterModule作為中介者并用動態(tài)import解耦各個業(yè)務(wù)模塊押赊。
C 采用靜態(tài)import方式引入對應跳轉(zhuǎn)的頁面包斑。
D 可以采用Navigation作為頁面導航根容器,將其放在entry中神帅,其他Module的頁面作為Navigation的子頁面
37萌抵、以下對系統(tǒng)兼容性的理解正確的是 (B)
A. 系統(tǒng)能力都會保持絕對的兼容性,不能因為任何非兼容性的修改而導致開發(fā)者成本上升
B. 安全法律法規(guī)等不可控因素會導致系統(tǒng)非兼容性變更霎桅,開發(fā)者需要積極適配
C. 已發(fā)布的系統(tǒng)能力有可能會發(fā)生非兼容性變更讨永,比如新增特性或修改問題導致的行為不兼容,這種情況下應用需要關(guān)注changelog并進行適配瓜浸。
D. 應用不需要關(guān)注系統(tǒng)的兼容性變化比原,那都是系統(tǒng)開發(fā)人員需要關(guān)注的事情
38、在moduleA(HAP類型)中有一個圖片名為image.png雇寇,在moduleB(HAR類型)也存在一個圖片名為image.png蚌铜,而moduleA依賴于moduleB,那么在moduleA的編譯產(chǎn)物hap包中囚痴,image.png存在情況是:(B)
A 僅存在moduleB的image.png
B 僅存在moduleA的image.png
C 兩者都存在
D 兩者都不存在
39审葬、某業(yè)務(wù)團隊的架構(gòu)師發(fā)現(xiàn)某個特性用的頻率比較少奕谭,但是這個特性占用空間資源還是比較大的痴荐。為了減少首包下載體積,準備將該特性解耦出來难捌,并對外提供API方便主模塊調(diào)用鸦难。以下說法正確的是 (D)
A 將該特性做成hap包,通過Ability組件暴露出來給主app使用
B 將該特性做成動態(tài)加載的har包,暴露接口給主模塊使用满粗。
C 錦該特性做成H5模塊映皆,通過web組件加截遠程資源使用
D 將該特性做成按需加載的hsp包,暴露接口給主模塊使用
40捅彻、Web組件的WebviewControler.prefetchPage方法預加載的資源有效期是?(C)
A 1分鐘
B 3分鐘
C 5分鐘
D 2分鐘
41步淹、下面關(guān)于混淆規(guī)則描述正確的是(AC)
A -enable-export-obfuscation:開啟直接導入或?qū)С龅念惢驅(qū)ο蟮拿Q和屬性名混淆
B -enable-toplevel-obfuscation:開啟屬性混淆
C -disable-obfuscation:關(guān)閉所有混淆
D -enable-property-obfuscation:開啟頂層作用域名稱混淆
42、應用開發(fā)的有些場景中键闺,如果希望根據(jù)條件導入模塊或者按需導入模塊澈驼,可以使用動態(tài)導入代替靜態(tài)導入,面導入場景中適合使用動態(tài)import的是(ABCD)
A 當靜態(tài)導入的模塊很明顯的降低了代碼的加載速度且被使用的可能性很低挎塌,或者并不需要馬上使用它内边。
B 當被導入的模塊,在加載時并不存在缭贡,需要異步獲取。
C 當被導入的模塊說明符阳惹,需要動態(tài)構(gòu)建。
D 當靜態(tài)導入的模塊很明顯的占用了大量的系統(tǒng)內(nèi)存且被使用的可能性很低快鱼。
43纲岭、下面關(guān)于混淆的描述正確的是(ABCD)
A 可以在HAR模塊工程的build-profile.json5中的obfuscation.consumerFiles字段中配置導出的混淆配置止潮,該配置僅在編譯依賴該HAR的模塊時生效。
B 支持頂層作用域名稱袄琳、屬性名稱燃乍、文件名稱等多種混淆功能
C 在工程build-profile.json5中的obfuscation.ruleOptions.files字段中配置該工程的混淆配置,該配置僅在編譯該工程時生效逗旁。
D 修改應用混淆配置舆瘪,新配置需要重新全量編譯應用才能生效
44、Arkrs是鴻蒙生態(tài)的應用開發(fā)語言堤舒。以下哪些選項是ArkTs的設(shè)計理念哺呜。(ABD)
A 通過規(guī)范強化靜態(tài)檢查和分析,減少運行時的類型檢查国撵,從而降低了運行時負載玻墅,提升執(zhí)行性能。
B ArkTS保留了TS大部分的語法特性环础,幫助開發(fā)者更容易上手ArkTS。
C ArkTS不支持null-satety特性饶唤。
D 通過規(guī)范強化靜態(tài)檢查和分析贯钩,使得許多錯誤在編譯時可以被檢測出來,降低代碼運行錯誤的風險祸穷。
ArkTS支持null-safety特性勺三,類型不符合的會在編譯時報錯
45、以下代碼片段哪幾處違反了ArkTS語法規(guī)范祈远。(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刻蚯、下面關(guān)于Node-API數(shù)據(jù)類型描述正確的是(CD)
A napi threadsafe function release mode:該枚舉類型定義了兩個常量桑嘶,用于指定線程安全函數(shù)的調(diào)用模式
B napi threadsafe_function_call mode:該枚舉類型定義了兩個常量,用于指定在何時釋放線程安全函數(shù)的回調(diào)函數(shù)
C napienv:用于表示Node-API執(zhí)行時的上下文
D napi status:是一個枚舉數(shù)據(jù)類型逃顶,表示Node-API接口返回的狀態(tài)信息
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語法規(guī)范废菱。(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抖誉、以下關(guān)于Menu的說法正確的是?(ABCD)
A. bindContextMenu總是顯示在子窗口中袒炉,在PC設(shè)備上可以超出應用主窗口顯示
B. bindContextMenu長按彈出的菜單可支持拖拽,bindMenu不支持拖拽
C. 使用狀態(tài)變量控制菜單顯示時孽文,需要等待目標節(jié)點構(gòu)建完成后才能設(shè)置,如目標節(jié)點的onAppear生命周期
D. 使用狀態(tài)變量控制菜單顯示時沉衣,需要等待目標節(jié)點構(gòu)建完成后才能設(shè)置楷掉,如目標節(jié)點的onAppear生命周期
50、以下哪些是可以在Navigation中使用pushPathByName接口傳遞的params的參數(shù)類型(ABC)
A. record<string,string>
B. string
C. arrayBuffer
D. map<string,string>
51烹植、以下關(guān)于Menu的說法正確的是草雕?(ABCD)
A. 當設(shè)置的預覽圖尺寸過大,或者縮放的比例過高時墩虹,菜單可能會對預覽圖進行縮小,確保其顯示在屏幕內(nèi)旬昭,所以行為表現(xiàn)可能與開發(fā)者設(shè)置的不一致
B. 菜單的退出方式包括點擊外部其他區(qū)域菌湃、點擊menu選項、橫豎屏切換惧所、窗口失焦或退出下愈、窗口大小發(fā)生變化
C. Menu、Menultem和MenultemGroup組件不支持單獨使用势似,只能在bindMenu和bindContextMenu中使用
D. 當布局不下時履因,菜單或預覽圖會進行避讓,最終顯示位置可能與開發(fā)者設(shè)置的不一致
52搓逾、
53霞篡、在使用DevEco studio進行Harmonyos應用開發(fā)和調(diào)試過程中端逼,開發(fā)者小張遇到應用運行時意外終止的情況污淋,他需要快速定位并解決導致應用崩潰的問題。以下哪些做法可以幫助小張有效分析和處理這些問題(AD)
A 利用系統(tǒng)自動生成的FaultLog礁鲁,包括AppFreeze赁豆、Cpp Crash、JS Crash析二、System Freeze和ASan報告节预,這些報告會詳細記錄故障發(fā)生時的環(huán)境、堆械信息和可能的故障原因蛤吓,是排查問題的重要參考
B 若遇到App運行卡頓或系統(tǒng)整體無響應(App Freeze,System Freeze)的情況;可以通過性能分析工具中的Frame insight和Allocation insight功能糠赦,分析應用的資源清耗情況,尋找可能的瓶頸
C 查看DevEco Studio log工具欄輸出的錯誤日志唆铐,根據(jù)日志提示分析應用崩潰的具體原因及代碼位置
D 當懷疑問題是由于C++代碼中的內(nèi)存錯誤(如數(shù)組越界奔滑、內(nèi)存泄露顺少、重復釋放內(nèi)存)引起時,進入"Run/Debug Configurations"設(shè)置界面梅猿,勾選啟用Addres Sanitizer (Asan)秒裕,然后重新部署應用進行測試以獲取更詳細的內(nèi)存問題報告
54、在應用開發(fā)中喇潘,部分代碼和資源被重復引用和編譯構(gòu)建,可以新建什么模塊來實現(xiàn)代碼和資源的共享颖低?(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組件、接口价认,供應用內(nèi)的其他HAP/HSP引用自娩,下面正確的是 (ABC)
[圖片上傳失敗...(image-9c5bed-1732183138536)]
57 hiAppEvent提供的Watcher接口忙迁,訂閱到的系統(tǒng)事件,哪些包含HiLog日志姊扔?(BD)
A 啟動耗時事件
B卡死事件
C CPU高負載事件
D 崩潰事件
58 哪些是持續(xù)集成最佳實踐(ACDFG)
A 代碼審查:在集成前進行代碼審查恰梢,及時發(fā)現(xiàn)潛在問題。
B 構(gòu)建相同代碼的 Pipeline 運行多次嗅回,得到結(jié)果不同摧茴。比如,基于同一代碼基線娃豹,一條 Pipeline 構(gòu)建了 5 次,只要最后一次通過即可著摔。反模式
C 全面的測試套件:包括單元測試定续、集成測試、功能測試等摹察,以提高代碼質(zhì)量倡鲸。
D 自動化構(gòu)建:確保構(gòu)建過程是完全自動化的,減少人為錯誤克滴。
E 通常項目上會有一個專職 Ops优床,在項目可以發(fā)布的時候手動觸發(fā)部署流程,或者需要傳遞很多參數(shù)着帽,讓 Pipeline 運行起來移层。反模式
F 快速反饋機制:讓開發(fā)人員能迅速得知集成結(jié)果和測試狀態(tài)。
G 頻繁提交代碼:鼓勵開發(fā)人員經(jīng)常提交小的代碼更改予借,以便更快地發(fā)現(xiàn)問題匪燕。
59 Web組件支持以下哪些常用屬性(ABC)
A darkMode(mode:WebDarkMode)設(shè)置網(wǎng)頁深色模式
B textAutosizing 設(shè)置使能文本自動調(diào)整大小
C copyOptions(value:CopyOptions)設(shè)置剪貼板復制范圍
D InputWindowlnfo 設(shè)置網(wǎng)頁輸入法軟鍵盤的窗口信息
沒有InputWindowInfo屬性
60 使用ArkUI組件復用之后喧笔,還是沒有顯著提升列表滑動場景的性能书闸,屬于組件復用未生效可能的原因有?(BCD)
A 沒有在aboutToReuse更新關(guān)聯(lián)的狀態(tài)變量數(shù)據(jù)嫌术。
B 在aboutToReuse回調(diào)函數(shù)中更新了冗余的狀態(tài)變量。
C 頁面嵌套了過多自定義組件度气。
D 復用的自定義組件中使用if等條件渲染語句導致結(jié)構(gòu)不相同磷籍,未使用reuseId標記。