




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第頁HarmonyOSNext高級認證練習測試卷1.107.在如下界面中使用tab鍵走焦,正確的走焦順序是?A、Button3->Row2->Button4->Text2->Button2->Button3B、Button3->Row2->Button4->Text2->Button1->Button2->Button3C、Button3->Text1->Button4->Text2->Image1->Button2->Button3D、Button3->Button4->Text2->Button2->Button3【正確答案】:A2.43.以下關于動態(tài)import說法正確的是A、動態(tài)import支持加載HSP模塊、HAR模塊、OHPM包、Native庫B、動態(tài)import和靜態(tài)import相比,靈活性更好,性能更好。C、動態(tài)import支持懶加載,所以不能用于提升頁面的加載速度D、動態(tài)import不支持導入SDK的API,如@ohos.【正確答案】:A3.94.在使用DevEcoStudio的Profiler進行HarmonyOS應用或服務性能分析時,面對應用出現(xiàn)卡頓、加載慢等性能瓶頸問題,以下哪個描述最貼切地說明了“Time場景分析任務”的功能及其對開發(fā)者優(yōu)化流程的幫助A、Time場景分析任務在應用運行時,通過顯示所有函數(shù)執(zhí)行的耗時排序列表,輔助開發(fā)者手動對比尋找耗時最短的函數(shù)進行優(yōu)化B、Time場景分析任務展示熱點區(qū)域內的CPU和進程級調用棧耗時情況,支持代碼跳轉,助力開發(fā)者快速定位并優(yōu)化耗時較長的代碼段C、Time場景分析任務專注于內存管理,幫助開發(fā)者監(jiān)控應用內存泄漏,但對解決卡頓和加載耗時問題幫助有限D、Time場景分析任務僅提供應用/服務運行時的CPU使用率概覽,幫助開發(fā)者粗略判斷性能瓶頸,但不提供深入分析【正確答案】:B4.40.hiAppEvent提供的Watcher接口,需要訂閱到OS的崩潰事件,正確的實現(xiàn)方式()A、hiAppEvent.addWatcher({
name:"watcher",
appEventFilters:[
{
domain:hiAppEvent.domain.OS,
names:[hiAppEvent.event.APP_CRASH]
}
],
onReceive:(domain:string,appEventGroups:Array<hiAppEvent.AppEventGroup>)=>{
}
})B、hiAppEvent.addWatcher({
name:"watcher",
onReceive:(domain:string,appEventGroups:Array<hiAppEvent.AppEventGroup>)=>{
}
})C、
hiAppEvent.addWatcher({
name:"watcher",
appEventFilters:[
{
names:[hiAppEvent.event.APP_FREEZE]
}
],
onReceive:(domain:string,appEventGroups:Array<hiAppEvent.AppEventGroup>)=>{
}
})D、
hiAppEvent.addWatcher({
name:"watcher",
appEventFilters:[
{
domain:hiAppEvent.domain.OS,
names:[hiAppEvent.event.APP_CRASH]
}
]
})【正確答案】:A5.9.依次點擊A、B、C、D四個按鈕,其中不會觸發(fā)UI刷新的是classInfo{
name:string;
constructor(name:string){
=name;
}}@Entry@ComponentstructIndex{
@StatenameList:Info[]=[newInfo("Tom"),newInfo("Bob"),newInfo("John")]
build(){
Column(){
ForEach(List,(item:Info)=>{
Text(`${}`)
Button("A")
.onClick(()=>{
List.push(newInfo("Lucy"));
})
Button("B")
.onClick(()=>{
List[0]=newInfo("Eric");
})
Button("C")
.onClick(()=>{
List[0].name="Jim";
})
Button("D")
.onClick(()=>{
List=[newInfo("Barry"),newInfo("Cindy"),newInfo("David")];
})
})
}
}}A、CB、BC、DD、A【正確答案】:A6.115.下述代碼片段,使用了哪些基于web的性能優(yōu)化手段:Web({src:'',controller:this.controller})
.onPageEnd((event)=>{
//
...
this.controller.prefetchPage('/nextpage');
})A、以上都有B、預連接C、預加載D、預渲染【正確答案】:C7.15.DevEcoStudio提供HarmonyOS應用/服務的UI預覽界面與源代碼文件問的雙向預覽功能,支持ets文件與預覽器界面的雙向預覽。關于雙向預覽,下列選項說法錯誤的是A、選中預覽器UI界面中的組件,則組件樹上對應的組件將被選中,同時代碼編輯器中的布局文件中對應的代碼塊高亮顯示。B、雙向預覽不支持通過組件的屬性面板實時修改屬性或樣式。C、選中布局文件中的代碼塊,則在UI界面會高亮顯示,組件樹上的組件節(jié)點也會呈現(xiàn)被選中的狀態(tài)D、選中組件樹中的組件,則對應的代碼塊和UI界面也會高亮顯示?!菊_答案】:B8.95.開發(fā)者小張正在使用DevEcoStudio開發(fā)一款HarmonyOS應用,他遇到了一個僅在應用實際運行環(huán)境中出現(xiàn)的問題,需要調試已部署在設備上的應用以定位問題根源,為了能夠在應用已經運行的情況下介入調試,小張應該采用哪種調試方法A、RunwithoutDebugging,先讓應用自由運行,隨后手動附加調試器B、使用Debug功能,將應用重新推包運行調試C、AttachDebuggertoProcess,這允許他連接到正在運行的應用進程進行調試。D、使用“Profile”功能,因為這同樣能提供對運行時應用的監(jiān)控與調試能力?!菊_答案】:C9.154、有內容填充的啟動頁在全屏狀態(tài)停留時長不建議超過()A、3sB、無【正確答案】:A10.134、下列哪項屬于精簡節(jié)點數(shù)的方式來優(yōu)化布局性能。()A、移除冗余節(jié)點B、無【正確答案】:A11.88.關于代碼的門禁理解正確的是:A、代碼門禁是一項代碼質量保障措施。目的是要求開發(fā)人員提交的代碼必須滿足一些要求才能合入代碼倉庫。門禁必須強制要求包括編譯通過、單元測試覆蓋率達標、代碼靜態(tài)檢查無告警、全量功能測試里例、DFX專項測試都通過。B、代碼門禁則是在代碼合并之前就驗證代碼來保護主干分支的完整性。通過這種方式,可以保護主分支代碼避免因合碼導致的構建中斷,以確保master分支代碼始終是可部署的,并且不會因明顯的錯誤而影響到你能在并行開發(fā)的同事工作。C、門禁級檢查的范圍和版本級檢查的范圍保持一致,盡可能多的在MR門禁階段就攔截防護住問題,保障問題可以及時清理掉。D、標準Cl構建是在代碼合并后檢查已提交代碼的功能完整性,這種方法會導致代碼合并到master后編譯失敗導致沒有可用版本部署。通過提高滾動構建的頻度就可以代替代碼門禁、保障代碼主干及時發(fā)現(xiàn)并解決問題。【正確答案】:B12.7.下面哪種轉場效果在入場動畫時,表現(xiàn)為從透明度為0、相對于組件正常顯示位置x方向平移100vp的狀態(tài),到默認的透明度為1、相對于組件不平移的狀態(tài),且透明度動畫和平移動畫的動畫時長均為2000msA、TransitionEffect.translate({x:100}).combine(TransitionEffect.OPACITY.animation({duration:2000}))B、TransitionEffect.OPACITY.animation({duration:2000}).combine(TransitionEffect.translate({x:100}))C、TransitionEffect.OPACiTY.combine(TransitionEffect.translate({x:100}).animation({duration:2000})D、TransitionEffect.asymmetric(TransitionEffect.OPACITY.animation({duration:2000}),TransitionEffectranslate({x:100).animation({duration:2000}))【正確答案】:B13.22.根據上面代碼,以下解釋正確的是enumMode{
fullScreen,
halfScreen}
@Entry@ComponentstructPage{
@Statetitle:string="";
@Statemode:Mode=Mode.fullScreen;
isShownTitle():boolean{
if(this.mode==Mode.fullScreen){
this.title="Title";
returntrue;
}else{
this.title="Section";
returnfalse;
}
}
build(){
Column(){
if(this.isShownTitle()){
Text(`${this.title}`)
}else{
Text(`${this.title}`)
}
ChangeMode({mode:this.mode})
}
}}
@Component
structChangeMode{
@Propmode:Mode;
build(){
Row({space:20}){
Button('fullscreen').onClick(()=>{
this.mode=Mode.fullScreen;
})
Button('halfscreen').onClick(()=>{
this.mode=Mode.halfScreen;
})
}
}}A、在自定義組件Page的build方法里改變狀態(tài)變量是非法操作,可能導致未定義的異常UI行為。B、在ChangeMode里改變mode的值,會觸發(fā)其父組件Page的Title內容的切換。C、本例子可以運行起來,所以代碼沒有問題D、為了避免@Prop的拷貝,可以優(yōu)化使用@Link,在該例子中行為和@Prop一樣?!菊_答案】:C14.8.如果想讓outerbutton響應事件,hitTestBehavior該怎么配importpromptActionfrom'@mptAction';//xxx.ets@Entry@ComponentstructHitTestBehaviorExample{
build(){
//outerstack
Stack(){
Button('outerbutton')
.onClick((event)=>{
promptAction.showToast({message:`click事件觸發(fā)++++2`});
})
//innerstack
Stack(){
Button('innerbutton')
.onTouch((event)=>{
promptAction.showToast({message:`click事件觸發(fā)1`});
})
}.width(300).height(300)
}
}}A、HitTestMode.NoneB、HitTestMode.DefaultC、HitTestMode.TransparentD、HitTestMode.Block【正確答案】:C15.33.以下關于垂直滾動Grid組件使用cachedCount屬性的說明正確的是A、設置cachedCount為1,則Grid在顯示范圍上下各緩存1個GridItemB、設置cachedCount為1,則Grid在顯示范圍上下各緩存1行GridItemC、設置cachedCount為1,則Grid在顯示范圍下方緩存1個GridItemD、設置cachedCount為1,則Grid在顯示范圍下方緩存1行Gridltem【正確答案】:A16.35.以下哪份代碼可以實現(xiàn)下圖Grid布局A、通過設置GridItem的columnStart和columnEnd@Entry@ComponentstructGridExample3{
numbers:String[]=['0','1','2','3','4','5','6','7','8','9']
scroller:Scroller=newScroller()
build(){
Column({space:5}){
Grid(this.scroller){
ForEach(this.numbers,(day:string)=>{
if(day==='0'||day==='5'){
GridItem(){
Text(day)
.fontSize(16)
.backgroundColor(0xF9CF93)
.width('100%')
.height(80)
.textAlign(TextAlign.Center)
}.columnStart(1).columnEnd(4)
}else{
GridItem(){
Text(day)
.fontSize(16)
.backgroundColor(0xF9CF93)
.width('100%')
.height(80)
.textAlign(TextAlign.Center)
}
}
},(day:string)=>day)
}
.columnsTemplate('1fr1fr1fr1fr')
.columnsGap(10)
.rowsGap(10)
.scrollBar(BarState.Off)
.width('100%')
.backgroundColor(0xFAEEE0)
.height(350)
}
}}B、通過GridLayoutOptions@Entry@ComponentstructGridExample3{
numbers:String[]=['0','1','2','3','4','5','6','7','8','9']
scroller:Scroller=newScroller()
layoutOptions1:GridLayoutOptions={
regularSize:[1,1],
irregularIndexes:[0,5],
}
build(){
Column({space:5}){
Grid(this.scroller,this.layoutOptions1){
ForEach(this.numbers,(day:string)=>{
GridItem(){
Text(day)
.fontSize(16)
.backgroundColor(0xF9CF93)
.width('100%')
.height(80)
.textAlign(TextAlign.Center)
}
},(day:string)=>day)
}
.columnsTemplate('1fr1fr1fr1fr')
.columnsGap(10)
.rowsGap(10)
.scrollBar(BarState.Off)
.width('100%')
.backgroundColor(0xFAEEE0)
.height(350)
}.align(Alignment.Center)
}}C、C.
通過設置不同GridItem的寬度@Entry@ComponentstructGridExample3{
numbers:String[]=['0','1','2','3','4','5','6','7','8','9']
scroller:Scroller=newScroller()
columnGap:number=10
gridItemWidth:number=80
build(){
Column({space:5}){
Grid(this.scroller){
ForEach(this.numbers,(day:string)=>{
if(day==='0'||day==='5'){
GridItem(){
Text(day)
.fontSize(16)
.backgroundColor(0xF9CF93)
.width(this.gridItemWidth*4+this.columnGap*3)
.height(80)
.textAlign(TextAlign.Center)
}
}else{
GridItem(){
Text(day)
.fontSize(16)
.backgroundColor(0xF9CF93)
.width(this.gridItemWidth)
.height(80)
.textAlign(TextAlign.Center)
}
}
},(day:string)=>day)
}
.columnsTemplate('1fr1fr1fr1fr')
.columnsGap(this.columnGap)
.rowsGap(10)
.scrollBar(BarState.Off)
.width('100%')
.backgroundColor(0xFAEEE0)
.height(350)
}
}}【正確答案】:B17.85.ArkTS支持以下哪個函數(shù)A、Object.hasOwnProperty();B、Object.values();C、Object.getOwnPropertyDescriptors();D、Object.getOwnPropertyDescriptor();【正確答案】:B18.109.運行下面代碼后,以下說法正確的是:A、點擊update2按鈕后,顯示的字符串會變化B、點擊update3按鈕后,顯示的字符串會變化C、點擊update1按鈕后,顯示的字符串會變化D、點擊三個按鈕,字符串都不會變化【正確答案】:A19.72.Websocket連接開發(fā)步驟描述錯誤的是A、調用Session.start方法開啟metadata數(shù)據輸出B、(可選)訂閱WebSocket的打開、消息接收、關閉、Error事件C、創(chuàng)建一個WebSocket連接,返回一個WebSocket對象D、根據URL地址,發(fā)起WebSocket連接E、使用完WebSocket連接之后,主動斷開連接F、導入需要的webSocket模塊【正確答案】:A20.65.在使用DevEcoStudio進行混合語言開發(fā)時,開發(fā)者小李通過Napi引用了Native接口的文件(例如d.ts文件)。他想要直接從這些接口跳轉到其對應的C/C++函數(shù)實現(xiàn)處進行代碼審查。請從以下選項中選擇最合適的操作步驟來幫助小李實現(xiàn)這一目標A、在聲明或引用了Native接口的文件中,比如d.ts文件,小李可以直接選中接口名稱,右鍵點擊并在彈出的菜單中選擇“GoTo>Implementation(s)”(轉到>實現(xiàn))。還可以使用快捷鍵Ctrl+Alt+B;如果是macOS用戶,則使用Command+Option+B,直接跳轉到對應的C/C++函數(shù)實現(xiàn)位置。B、小李應該打開包含TypeScript接口聲明的文件,然后手動在項目中搜索相應的C/C++源文件,逐個檢查以找到匹配的函數(shù)實現(xiàn)。C、為了查看C/C++函數(shù)實現(xiàn),小李必須先切換到DevEcoStudio的C/C++開發(fā)環(huán)境視圖,之后在項目的資源管理器中找到對應的C/C++源文件手動打開,才能查看函數(shù)代碼D、小李可以將鼠標光標置于想要查看實現(xiàn)的接口名稱上,按下鼠標右鍵,在出現(xiàn)的上下文菜單中尋找并點擊“FindUsages”(查找用法),在結果中篩選出C/C++的實現(xiàn)。【正確答案】:A21.67.在編譯構建HAP時,會從HAP模塊及依賴的模塊中收集資源文件,如果不同模塊下的資源文件出現(xiàn)重名沖突時,會按照優(yōu)先級進行覆蓋,現(xiàn)在有一個HAP依賴了兩個HAR,依賴配置如下所示://oh-package.json5{"dependencies":{"dayjs":"^1.10.4","lottie":"^2.0.0"}}在資源覆蓋時,以下優(yōu)先級排序正確的是()A、HAP包自身模塊>lottie模塊>dayjs模塊>AppScope
B、AppScope>HAP包自身模塊>lottie模塊>dayjs模塊C、HAP包自身模塊>dayjs模塊>lottie模塊>AppScopeD、AppScope>HAP包自身模塊>dayjs模塊>lottie模塊【正確答案】:D22.60.通過aa工具拉起com.example.test的EntnyAbility,并傳參給EntryAbility,具體參數(shù)是number類型的[key1,1][key2,2]和string類型的[key3,teststring][key4,''],那邊下面那個aa命令是正確的:A、aastart-bcom.exampletest-aEntryAbility--pikey11--pikey22--pskey3testString--psnkey4"B、aastart-bcom.example.test-aEntryAbility--pikey11--pikey22--pskey3testString--psnkey4C、aastart-bcom.example.test-aEntryAbility--pikey11key22--pskey3testString--psnkey4D、aastart-bcom,example.test-aEntryAbilitypikey11--pikey22--pskey3testString--pskey4【正確答案】:B23.11.以下關于ArkUINavDestination組件的生命周期執(zhí)行順序中正確的是A、onWillappear->onAppear->onWillShow->onShow->onWillHide->onHidden->onWillDisappear->onDisappearB、onWillappear->onAppear->onWillShow->onShow->onWillHide->onWillDisappear->onHidden->onDisappearC、onWillappear->onWillShow->onShow->onAppear->onWillHide->onHidden->onWillDisappear->onDisappearD、onWillappear->onAppear->onWillShow->onShow->onWillDisappear->onWillHide->onHidden->onDisappear【正確答案】:A24.92.當標記了@Reuseable的自定義組件實現(xiàn)了組件復用后,這個組件的復用范圍是什么?A、整個應用內都可以復用B、標記了@Reuseable的自定義組件的父組件范圍內C、整個頁面都可以復用D、標記了@Reuseable的自定義組件的外層容器節(jié)點范圍內【正確答案】:B25.101.在刷新Image組件內容時,如果觀察到畫面會閃一下白塊,要怎樣優(yōu)化才能避免白塊兒出現(xiàn),同時又不會卡住畫面?
A、提前預取圖片并解碼為pixelmap傳入image組件刷新,同時設置image組件的syncload屬性為trueB、設置圖片組件的屬性syncload為trueC、提前預取圖片D、提前預取圖片并解碼為pixelmap傳入image組件【正確答案】:A26.49.某App依賴了3個ohpm庫,這3個庫占用的體積都比較大。在App的技術架構中,有多個hap和多個hsp均依賴這3個庫,為了減少app的首包大小,以下哪些做法是無效的?A、將3個ohpm庫封裝成1個hsp,并對外提供必要的接口。B、將3個ohpm庫分別封裝成3個hsp,并對外提供必要的接口C、將這3個ohpm庫封裝到har包中,并對外提供必要的接口。D、將某些特性做成按需加載模塊,若這3個ohpm僅在按需加載模塊里面使用,則將其打包在按需加載模塊中?!菊_答案】:C27.111.如下頁面區(qū)域1可以使用哪段代碼實現(xiàn):看圖A、TextInput(tplaceholder:'search.')
.width('.90%')
.height(40)
.backgroundColor('#FFFFFF')
.margin(top:8))
.title(this.NavigationTitle)
.titieMode(NavigationTitleMode.Full)
).width(颼%').height(颼%').bacgroundColor(&39#F1F3F5')B、看上面紅色的字體,進行對比【正確答案】:A28.125、下列哪種語言,是無法直接在Web組件加載的網頁中運行的?()A、PHPB、WebAssemblyC、JavaScriptD、html【正確答案】:A29.118.以下哪個事件不會在List組件調用控制器ScrollBy接口觸發(fā)?A、onScrollStartB、onDidScrollC、onWillScrollD、onScrollIndex【正確答案】:A30.26.singleton模式的UIAbility,在冷啟動時生命周期的執(zhí)行順序是:A、onCreate->onForeground->onWindowStageCreateB、onCreate->onBackground->onForegroundC、onCreate->onBackground->onWindowStageCreateD、onCreate->onWindowStageCreate->onForeground【正確答案】:D31.146、性能測試中關于時延的描述,以下說法錯誤的是:()A、熱啟動完成時延:應用首次啟動時間,即點擊觸發(fā)啟動開始到應用啟動加載完成的時間。B、無【正確答案】:A32.105.用于實現(xiàn)捏合控制的手勢是如下哪個選項:A、PanGestureB、PinchGestureC、SwipeGestureD、RotationGesture【正確答案】:B33.39.在UIAbility的onCreate生命周期中通過EventHub的on注冊"event1"和"event2"事件。import{AbilityConstant,UIAbility,Want}from'@kit.AbilityKit';import{hilog}from'@kit.PerformanceAnalysisKit';constDOMAIN_NUMBER:number=0xFF00;constTAG:string='[EventAbility]';
exportdefaultclassEntryAbilityextendsUIAbility{
onCreate(want:Want,launchParam:AbilityConstant.LaunchParam):void{
//獲取UIAbility實例的上下文
letcontext=this.context;
//獲取eventHub
leteventhub=this.context.eventHub;
//執(zhí)行訂閱操作
eventhub.on('event1',this.eventFunc);
eventhub.on('event2',this.eventFunc);
(DOMAIN_NUMBER,TAG,'%{public}s','AbilityonCreate')
(0x0000,'testTag','%{public}s','AbilityonCreate');
}
//...
eventFunc(argOne:Context,argTow:Context):void{
(DOMAIN_NUMBER,TAG,'receive.'+`${argOne},${argTow}`);
return;
}}在UI組件的click處理事件中調用如下的eventHubFunc,連續(xù)點擊2次該控件后,運行日志輸出是什么:import{promptAction}from'@kit.ArkUI'import{common}from'@kit.AbilityKit';
@Entry@ComponentstructPage_EventHub{
privatecontext=getContext(this)ascommon.UIAbilityContext
eventHubFunc():void{
this.context.eventHub.emit('event1');
this.context.eventHub.emit('event2',2,'test2');
this.context.eventHub.off('event1');
}
build(){
Column(){
//...
List({initialIndex:0}){
ListItem(){
Row(){
//...
}
.backgroundColor(Color.Brown)
.width('50%')
.height('10%')
.onClick(()=>{
this.eventHubFunc();
promptAction.showToast({
message:$r('app.string.app_name')
})
})
}
}
.width('100%')
.height('100%')
//...
}
//...
}}A、[Example].[Entry].[EntryAbility]receive.[][Example].[Entry].[EntryAbility]receive.[2,"test2"][Example].[Entry].[EntryAbility]receive.[2,"test2"]B、[Example].[Entry].[EntryAbility]receive.[][Example].[Entry].[EntryAbility]receive.[2,"test2"]C、[Example].[Entry].[EntryAbility]receive.[][Example].[Entry].[EntryAbility]receive.[2,"test2"][Example].[Entry].[EntryAbility]receive.[]D、[Example].[Entry].[EntryAbility]receive.[][Example].[Entry].[EntryAbility]receive.[2,"test2"][Example].[Entry].[EntryAbility]receive.[][Example].[Entry].[EntryAbility]receive.[2,"test2"]【正確答案】:A34.57.在使用DevEcoStudio的Profiler進行HarmonyOS應用性能優(yōu)化的流程中,以下哪個步驟最恰當?shù)孛枋隽碎_發(fā)者利用Profiler工具進行性能問題識別、定位、優(yōu)化及驗證的完整過程A、僅通過創(chuàng)建深度分析任務,利用perf數(shù)據詳細分析性能瓶頸,修改代碼后,不需再進行驗證直接發(fā)布應用B、在發(fā)現(xiàn)應用性能不佳時,直接查看代碼邏輯,憑經驗修改后,利用Profiler的“RealtimeMonitor”確認資源消耗是否降低C、利用“RealtimeMonitor”初步識別性能瓶頸,創(chuàng)建深度分析任務定位根因,根據分析結果優(yōu)化代碼,再用“RealtimeMonitor”驗證優(yōu)化效果D、首先使用“RealtimeMonitor”實時監(jiān)控,觀察應用資源消耗,一旦發(fā)現(xiàn)CPU或內存異常,直接修改代碼并重新編譯【正確答案】:C35.25.以下哪些賦值語句在ArkTS中是合法的classA{
v:number=0;}classBextendsA{
u:string='';}classC{
v:number=0;}
leta1:A=newC();leta2:A=newB();leta3:B=newA();leta4:C=newB();A、a2B、a1C、a4D、a3【正確答案】:A36.152、下列哪一項不是HiLog定義的日志級別:()A、FAILB、無【正確答案】:A37.144、通過ohpm安裝@ohos/lottie后,在哪個文件中會生成相關的配置信息?()A、oh-package.json5B、無【正確答案】:A38.24.以下哪些賦值語句在ArkTS中是合法classC{}letvalue1:number=null;letvalue2:string|null=null;letvalue3:string|undefined=null;letvalue4:C=null;A、value3B、value2C、value1D、value4【正確答案】:B39.47.Text組件不支持以下哪種使用方式?A、@Entry@ComponentstructSpanExample{
build(){
Flex({direction:FlexDirection.Column,alignItems:ItemAlign.Start,justifyContent:FlexAlign.SpaceBetween}){
Text(){
Span('InLine')
Span('Component')
Span('!')
}
}.width('100%').height(250).padding({left:35,right:35,top:35})
}}B、@Entry@ComponentstructstyledStringDemo{
scroll:Scroller=newScroller();
layout:TextLayoutManager=newTextLayoutManager()
controller1:TextController=newTextController();
asynconPageShow(){
this.controller1.setLayout(this.layout)
}
build(){
Column(){
Text(undefined,{controller:this.controller1})
}.width('100%')
}}C、@Entry@ComponentstructTextExample{
build(){
Column({space:8}){
Text('textShadow').fontSize(9).fontColor(0xCCCCCC).margin(15).width('90%')
}
}}D、@Entry@ComponentstructstyledStringDemo{
scroll:Scroller=newScroller();
mutableStyledString:MutableStyledString=newMutableStyledString("testhelloworld",[{
start:0,
length:5,
styledKey:StyledStringKey.FONT,
styledValue:newTextStyle({fontColor:Color.Pink})
}]);
controller1:TextController=newTextController();
asynconPageShow(){
this.controller1.setStyledString(this.mutableStyledString)
}
build(){
Column(){
Text(undefined,{controller:this.controller1})
}.width('100%')
}}【正確答案】:B40.31.List組件onScrollIndex事件觸發(fā)時機是A、List組件首次加載完成時觸發(fā)B、List組件列表滾動時每幀觸發(fā)C、List組件滾動停止時能發(fā)D、List組件顯示區(qū)域內第一個子組件或最后一個子組件或中間位置子組件索引值變化時觸發(fā)【正確答案】:D41.56.關于靜態(tài)檢查描述錯誤的是:A、靜態(tài)檢查可以檢測代碼中的語法錯誤和潛在的邏輯錯誤,也支持檢測代碼在運行時現(xiàn)的錯誤,因此靜態(tài)檢查可以替代動態(tài)測試。B、靜態(tài)檢查是指使用靜態(tài)代碼分析工具對軟件的“靜態(tài)”(不運行的)代碼進行分析的一種方法,找出代碼中潛在的漏洞。靜態(tài)代碼分析器檢查源代碼,找出特定的漏洞,并檢查代碼是否符合各種編碼標準。C、靜態(tài)分析工具也在不斷改進和升級。使用高級的靜態(tài)分析工具可以提高代碼檢測的準確性和效率。例如,一些靜態(tài)分析工具可以檢測代碼中的內存泄漏、死鎖問題,從而提高代碼的質量和可靠性。D、HarmonyOS應用可以采用ARKTS靜態(tài)檢查工具Codelinter或者CodeArts工具來做靜態(tài)代碼分析?!菊_答案】:A42.132、以下關于Want的說法錯誤的是?()A、Want不支持自定義參數(shù)B、無【正確答案】:A43.110.圖片大小跟Image組件設置的寬高不匹配時,使用objectFit屬性,不會縮放圖片的類型是下面哪個選項A、FillB、CoverC、CENTERD、Contain【正確答案】:C44.99.Studio中創(chuàng)建Module,下列選項哪種方式是錯誤的?A、鼠標移到工程目錄頂部,單擊鼠標右鍵,選擇New>Module..,開始創(chuàng)建新的Module,此時該module將創(chuàng)建在工程根目錄下。B、選中工程目錄中任意文件,然后在菜單欄選擇File>New>Module.,開始創(chuàng)建新的Module,此時該module將創(chuàng)建在工程根目錄下。C、在工程根目錄下創(chuàng)建一個新的Directory,可在該目錄下單擊鼠標右鍵,選擇New>Module.,創(chuàng)建新的Module,此時module將創(chuàng)建在該文件目錄下。D、在hvigor目錄下,單擊鼠標右鍵,選擇New>Module創(chuàng)建新的Module此時module將創(chuàng)建在該文件目錄下【正確答案】:D45.87.某App有A、B、C、D四個團隊分別負責ModuleA、ModuleB、ModuleC和ModuleD四個業(yè)務模塊,隨著業(yè)務的發(fā)展,ModuleA需要跳轉到ModuleB、ModuleC的頁面,ModuleB需要跳轉到ModuleC、ModuleD的界面,ModuleC需要跳轉到ModuleA的界面,ModuleD需要跳轉到ModuleB和ModuleC的界面。由于復雜的依賴關系,導致一旦有變化就需要知會各個團隊,所以該團隊的架構師想要解耦各個業(yè)務模塊,以下哪些做法是不推薦的()A、在RouterModule中采用路由表方式解耦各個業(yè)務模塊。B、采用靜態(tài)import方式引入對應跳轉的頁面C、采用RouterModule作為中介者并用動態(tài)import解耦各個業(yè)務模塊。D、可以采用Navigation作為頁面導航根容器,將其放在entry中,其他Module的頁面作為Navigation的子頁面。【正確答案】:B46.82.一個應用的一個UIAbility,其exported字段配置為false,以下哪個場景可以拉起這個UIAbilityA、caller應用在后臺,有START_INVISIBLE_ABILITY權限B、caller應用在后臺,申請了長時任務,有START_INVISIBLE_ABILITY權限;C、caller應用在后臺,有START_ABILITY_FROM_BACKGROUND權限;D、caller應用在后臺,申請了長時任務,有START_ABILITY_FROM_BACKGROUND權限【正確答案】:B47.36.開發(fā)者小林正在使用DevEcoStudio開發(fā)一款HarmonyOS應用,并在真機上進行調試。他在運行應用的過程中突然發(fā)現(xiàn)一處UI布局需要微調,希望在不中斷當前應用運行的情況下看到調整效果,基于DevEcoStudio提供的HotReload(熱重載)能力,以下哪種做法能讓小林最有效地實現(xiàn)他的需求A、在不關閉應用的情況下,直接修改代碼并保存,借助HotReload功能在真機上實時查看布局調整的效果B、使用模擬器替代真機進行調試,因為HotReload僅在模擬器上支持代碼改動的即時生效C、繼續(xù)運行應用,手動重啟應用后檢查布局是否符合預期D、立即停止應用、修改代碼后重新編譯并部署到真機上【正確答案】:A48.83.作為應用開發(fā)者,你使用hiAppEvent訂閱了崩潰事件。應用崩潰后,從onReceive接口返回的AppEventInfo中()屬性可以獲取崩潰調用棧信息A、paramsB、nameC、domainD、eventType【正確答案】:A49.44.在一個包含多個模塊(如entry、feature、service、library等)的大型HarmonyOS應用項目中,如果某個模塊feature對另外一個公共庫模塊library有依賴,如何通過DevEcostudio正確配置項目依賴關系A、在feature的build-profile.json5文件的dependencies字段中配置library的依賴B、無需配置,直接在代碼中編寫importxxxfrom'libraryC、在library的oh-package.json5文件的dependencies字段中配置feature的依賴D、在feature的oh-package.json5文件的dependencies字段中配置library的依賴【正確答案】:D50.75.我們需要避免在逐幀調用的接口中執(zhí)行耗時操作,下面哪個選項不屬于上述的接口?A、onAreaChangeB、onTouchC、aboutToReuseD、onScroll【正確答案】:C51.19.want參數(shù)的entities匹配規(guī)則錯誤的是A、調用方傳入的want參數(shù)的entities為空,待匹配應用組件的skills配置中的entities為空,則entities匹配成功。B、調用方傳入的want參數(shù)的entities不為空,待匹配應用組件的skills配置中的entities為空,則entities匹配失敗。C、調用方傳入的want參數(shù)的entities不為空,待匹配應用組件的skills配置中的entities不為空且包含調用方傳入的want參數(shù)的entities,則entities匹配成功。D、調用方傳入的want參數(shù)的entities為空,待匹配應用組件的skills配置中的entities不為空,則entities匹配失敗?!菊_答案】:D52.66.項目中涉及多個類的繼承與重寫。為了快速實現(xiàn)子類對父類方法的重寫,小華想利用DevEcoStudio提供的便捷功能來提高開發(fā)效率。他了解到,通過一個特定的操作流程,可以直接依據父類的模板生成子類中需要重寫的方法代碼,而無需手動編寫完整方法體,在DevEcoStudio中,如何正確使用OverrideMethods功能來快速生成子類需要重寫的方法代碼A、通過菜單欄File>Settings,配置OverrideMethods快捷方式,之后在代碼中僅需選中父類方法名,即可自動在子類中生成重寫代碼。B、將光標放置于任何代碼行,按下Ctrl+B,然后在彈出菜單中選擇OverrideMethods,之后勾選需要重寫的方法并確認。C、將光標定位到子類的定義處,按下Ctrl+O(或右鍵單擊選擇Generate...>OverrideMethods),在彈出的對話框中選擇要重寫的方法,點擊OK完成生成。D、在項目結構視圖中找到目標子類,雙擊打開后直接在代碼編輯區(qū)輸入重寫方法的簽名,DevEcoStudio將自動完成剩余代碼。【正確答案】:C53.156、調用賬號登錄接口,可以通過使用()參數(shù)防止跨站攻擊()A、stateB、無【正確答案】:A54.42.以下關于HAP(HarmonyAbilityPackage)說法正確的是()A、應用工程編出的app文件中,只能包含一個hap文件B、HAP是應用安裝和運行的基本單位,在DevEcoStudio工程目錄中,一個HAP對應一個Module。應用打包時,所有的Module都只能生成.hap文件C、應用工程如果包含多個Module,在應用市場上架時,會將多個.hap文件打包成一個.app文件。D、DevEcoStudio會在編譯構建時,不需要對HAP進行一致性校驗【正確答案】:C55.93.當您開始開發(fā)一個應用/服務時,首先需要根據工程創(chuàng)建向導,創(chuàng)建一個新的工程,工具會自動生成對應的代碼和資源模板。關于新建工程,下列選項說法正確的是?A、CompatibleSDK是兼容的最低APIVersion.B、應用包名(Bundlename)必須為以點號(.)分隔的字符串,且至少包含三段,每段中僅允許使用英文字母、數(shù)字,如“com.example.myapplication".C、工程文件本地存儲路徑(Savelocation)允許包含中文字符。D、創(chuàng)建用于LiteWearable設備的工程,可以選擇NativeC++工程模板?!菊_答案】:A56.38.使用DevEcoStudio進行復雜的跨設備功能開發(fā)與調試工作,期間頻繁依賴本地模擬器來模擬多樣化的設備環(huán)境。在這樣的背景下,以下關于DevEcoStudio本地模擬器所支持的規(guī)格與功能,哪一項描述是準確的A、本地模擬器當前不支持單元測試框架和UI測試框架的運行B、本地模擬器上運行的應用無需進行簽名,簡化了調試過程C、本地模擬器和真機的能力沒有任何差異,真機上可以支持的能力在模擬器上都可以D、本地模擬器當前不支持查看HiLog以及FaultLog【正確答案】:B57.68.張工在使用DevEcoStudio開發(fā)Harmonyos應用時,遇到了代碼編譯警告和錯誤為了提高開發(fā)效率,哪一項正確描述了張上如何利用DevEcoStudio的QuickFix功能來有效管理和修復代碼中的問題?A、張工通過雙擊Shift鍵打開搜索框,輸入"problems"打開問題工具面板,雙擊具體告警條目可直接跳轉到問題代碼行。接著,將光標置于告警位置,利用彈出的懸浮窗選擇合適的修復建議或點擊“Moreactions"以查看更多修復選項。B、張工應該首先使用Ctl+Shitt+F快捷鍵全局搜索問題,然后手動在搜索結果中找出代碼警告和錯誤的原因及位置。C、張工在代碼編輯界面看到紅色波浪線標記的錯誤時、直接右鍵點擊錯誤代碼,選擇“DeleteLine”以移除錯誤代碼行,從而“修復”問題。D、張工只需在代碼編輯界面按下F1鍵,DevEcoStudio會自動識別當前光標所在行的錯誤并直接修復?!菊_答案】:A58.131、以下關于指定實例啟動模式說法正確的是?()A、支持拉起指定標識的實例B、無【正確答案】:A59.76.從桌面冷啟動如下應用,點擊Change按鈕5次,整個過程中,代碼中的2條log依次出現(xiàn)的次數(shù),最初和最后畫面上顯示的[num=?]的數(shù)字是//PageOne.ets@ComponentexportstructPageOneTmp{
@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(()=>{
constpopDestinationInfo=this.pageInfos.pop()
console.log('pop'+'返回值'+
JSON.stringify(popDestinationInfo))
returntrue
})
}}
exportclassPages{
names:string=""
values:NavPathStack|null=null}
@BuilderexportfunctionpageTwoTmp(info:Pages){
NavDestination(){
Column(){
Button('toPageOne',{stateEffect:true,type:ButtonType.Capsule})
.width('80%')
.height(40)
.margin(20)
.onClick(()=>{
(info.valuesasNavPathStack)
.pushPathByName('pageOne',null)
})
}
.width('100%')
.height('100%')
}
.title('pageTwo')
.onBackPressed(()=>{
(info.valuesasNavPathStack).pop()
returntrue
})}A、2,4,1,2B、0,6,1,6C、1,5,1,6D、2,4,1,6【正確答案】:A60.136、屬性animation可以在哪些組件中使用?()A、基礎組件和容器組件B、無【正確答案】:A61.139、在發(fā)布進度類型通知前需要查詢以下哪一點?()A、系統(tǒng)是否支持進度條模板B、無【正確答案】:A62.小李正在使用DevEcoStudio進行HarmonyOS應用的開發(fā)工作,他需要對一個頻繁被調用的函數(shù)calculateData()進行重構,為了幫助小李高效地找到calculateData()函數(shù)的所有引用位置,并確保重構時考慮周全,以下哪個步驟是正確的使用DevEcostudioA、小李只需將光標定位在calculateData()函致名上,右鍵點擊并選擇"FindUsages",或者直接使用快捷鍵Alt+F7(macOS為Option+F7),DevEcoStudio會自動列出該函數(shù)在項目中的所有引用位置。B、小李應將光標置于calculateData()函數(shù)的名稱上,按下Ctrl+Shift+F(macOS為Command+Shift+F)全局搜索該函數(shù)名,然后在搜索結果中篩選出真正的調用位置。C、小李應該在菜單欄中選擇"Navigate">"Class"來打開類瀏覽器,從中找到calculateData()函數(shù),井在此界面中手動檢查所有引用。D、小李應當在項目目錄樹中找到calculateData()函數(shù)所在的文件,直接雙擊打開文件,然后逐行掃描代碼以手動査找該函數(shù)的所有調用位置?!菊_答案】:B63.54.Harmonyos提供了多種包結構,每種包編譯后的產物都不同,下面說法錯誤的是A、hsp包編譯后的產物是.hsp文件。B、har包編譯后的產物是.har文件。C、app包編譯后的產物是.app文件。D、hap包編譯后的產物是.hap文件?!菊_答案】:C64.128、Web組件的WebviewControler.prefetchPage方法預加載的資源有效期是?()A、1分鐘B、3分鐘C、5分鐘D、2分鐘【正確答案】:C65.145、以下服務,哪個屬于應用框架能力()A、ArkUIB、無【正確答案】:A66.78.HarmonyOS應用開發(fā)團隊正著手優(yōu)化一款面向全球市場的在線教育應用,該應用在特定課程直播環(huán)節(jié)出現(xiàn)了性能波動和響應延遲的問題,嚴重影響用戶體驗。打算利用DevEcoProfiler來進行性能優(yōu)化。DevEcoProfiler其設計核心和主要優(yōu)勢是什么A、DevEcoProfiler采用Bottom-Up設計原則,從底層代碼細節(jié)開始逐步構建性能模型B、DevEcoProfier依據Top-Down設計理念,通過高度整合的數(shù)據展示范式,提供從宏觀到微觀的性能數(shù)據分析,加速開發(fā)者定位和解決問題的過程C、DevEcoProfiler專注于用戶界面設計的美化,使開發(fā)者操作更為直觀D、DevEcoProfler主要是一個自動化修復工具,能自動檢測并解決所有HarmonyOS應用的性能問題【正確答案】:B67.126、開發(fā)者小華開發(fā)了一個鴻蒙應用,功能開發(fā)自驗證完成后,準備進行上架了,需要對應用的質量進行初步的評過,為了快速評估和提升產品品質,針對這個場景,小華可以使用IDE上哪個能力幫助他完成這個事情()A、應用與服務體檢(AppAnalyzer)B、代碼質量審查(CodeReview)C、單元編程插樁測試(UnitTest)D、實時序圖調試(SequenceDiagramDebugger)【正確答案】:A68.79.在HarmonyOS應用開發(fā)中,當開發(fā)者遇到需要分析Release版本應用的崩潰或異常堆棧信息時,為了準確地將堆棧追蹤信息對應到源代碼的具體位置,以下哪個描述是正確的做法或理解A、DevEcoStudio通過集成的Release應用堆棧解析功能,自動利用構建時產生的so文件、sourcemap文件、nameCache文件等,無需額外操作即可直接在Release應用中提供詳細的源碼級堆棧追蹤信息B、DevEcoStudio提供的Release應用堆棧解析功能,要求開發(fā)者在遇到問題時,需上傳構建產物中的特定文件(如so、sourcemap、nameCache等)到指定工具或界面,借助這些文件輔助解析堆棧信息,實現(xiàn)從Release堆棧到源碼的映射,便于快速定位問題C、開發(fā)者需手動將Release構建生成的so文件與源代碼進行映射,配合第三方工具進行堆棧信息還原,雖然過程繁瑣,但最終能定位到問題代碼位置D、因為Release應用經過優(yōu)化和去除Debug信息,直接從堆棧跟蹤到源代碼行號是不可能的,開發(fā)者只能依靠日志信息手工推測問題所在【正確答案】:B69.以下哪個裝飾器用來表示并發(fā)共享對象。A、@SharedB、@SendableC、@StyleD、@State【正確答案】:B70.58.現(xiàn)有一個寬高分別為200px的XComponent組件,其綁定了一個XComponentControllen(XcContreller),依次進行如下操作:(1)xcController,setXcomponentSurfaceRect({fsurfacewidth: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,su-faceHeight:-100})之后,調用xccontroller.getxcomponentsurfaceRect()的返回值為A、{offsetX:81,offsetY:-89,surfacewidth:150,surfaceHeight:500}B、{offsetx-20,offsety:50,surfacewidth:200.surfaceHeight.500}C、{foffsetX:81,offsetY:-89,surfacewidth:200,surfaceHeight:0}D、{offsetX:75,offsetY:-100,surfacewidth:150.surfaceHeight:500}【正確答案】:D71.53.應用開發(fā)中使用的各類資源文件,需要放入特定子日錄中存儲管理,以下關于資源說法錯誤的是A、resfile目錄,應用安裝后,resfile資源會被解壓到應用沙箱路徑,通過Context屬性resourceDir獲取到resfile資源目錄后,可通過文件路徑訪問。B、base目錄是默認存在的目錄,一級子目錄element用于存放字符串、顏色、布爾值等基礎元素,media、profile存放媒體、動畫、布局等資源文件.C、stage模型多工程情況下,共有的資源文件放到AppScope下的resources日錄D、rawfile目錄,支持創(chuàng)建多層子目錄,子目錄名稱可以自定義,文件來內可以自由放置各類資源文件。目錄中的資源文件會被編譯成一進制文件,并賦予資源文件ID?!菊_答案】:D72.27.可以通過下面那個接口拉起導航類的垂域面板A、startAbilityB、star
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件開發(fā)項目管理與質量控制流程手冊
- 三農工作綜合實施方案
- 農業(yè)產業(yè)化發(fā)展專項工作方案
- 應急救援項目可行性研究報告
- 垃圾焚燒發(fā)電發(fā)展模式
- 智能倉庫物流
- 房地產項目投資可行性研究報告
- 高新技術企業(yè)研發(fā)團隊建設與管理
- 軟件工程流程與開發(fā)方法
- rdpac腫瘤復習測試卷含答案
- 基于大數(shù)據的拉薩旅游業(yè)市場分析
- 人力資源社會保障宣傳工作計劃及打算
- 2024年秋兒童發(fā)展問題的咨詢與輔導終考期末大作業(yè)案例分析1-5答案
- 廣東省廣州市2021年中考道德與法治試卷(含答案)
- 2024年貴州省公務員錄用考試《行測》真題及答案解析
- 2024-2030年中國滑板車行業(yè)競爭策略及發(fā)展前景預測報告
- 學校軍事化管理培訓
- 喪葬費家庭協(xié)議書范文范本
- 中小學生德育工作指南2022版
- 通信工程建設標準強制性條文匯編(2023版)-定額質監(jiān)中心
- JJF(浙) 1171-2019 原子熒光形態(tài)分析儀校準規(guī)范
評論
0/150
提交評論