手機(jī)端app開發(fā)面試問題(軟件開發(fā)面試問題)
今天給各位分享手機(jī)端app開發(fā)面試問題的知識(shí),其中也會(huì)對(duì)軟件開發(fā)面試問題進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!
uniapp面試題必問有哪些?
ni-app面試考試有幾個(gè)題是必問的:uni-app收費(fèi)嗎?跨端會(huì)造成功能受限制嗎?以及uni-app的手機(jī)端用戶體驗(yàn)如何?
1、uni-app收費(fèi)嗎?
uni-app是免費(fèi)產(chǎn)品,DCloud公司不會(huì)向開發(fā)者收取任何費(fèi)用,大家可以放心使用。
DCloud提供的所有開發(fā)工具都是免費(fèi)的,也不會(huì)有什么陷阱。
DCloud的盈利點(diǎn)在幫助開發(fā)者進(jìn)行推廣和流量變現(xiàn)上,而不在開發(fā)工具收費(fèi)上。
2、跨端會(huì)造成功能受限制嗎?
uni-app在跨平臺(tái)的過程中,不犧牲平臺(tái)特色,不限制平臺(tái)的能力使用。
應(yīng)用開發(fā)中,80%的常規(guī)開發(fā),比如界面組件、聯(lián)網(wǎng)等api,uni-app封裝為可跨多端的API。
其余的,uni-app引入條件編譯??梢詢?yōu)雅的在一個(gè)項(xiàng)目里調(diào)用不同平臺(tái)的特色能力。比如push,微信小程序里不支持,但可以在App里使用,還有很多原生sdk,在App時(shí)難免涉及,這些都可以正常的在uni-app框架下使用。
3、uni-app的手機(jī)端用戶體驗(yàn)如何?
使用uni-app開發(fā)的微信小程序,和直接開發(fā)微信小程序相比性能沒有明顯差別,因?yàn)閡ni-app輸出到微信時(shí)也是編譯為wxml格式。uni-app編譯到微信使用的是mpvue框架,這個(gè)是業(yè)內(nèi)廣泛使用的成熟框架。
uni-app打包成App后的體驗(yàn)和微信小程序一樣好,在某些場(chǎng)景下更好;微信小程序的Hybrid應(yīng)用框架是業(yè)內(nèi)體驗(yàn)上的標(biāo)桿,實(shí)踐證明這種體驗(yàn)足以承載一線互聯(lián)網(wǎng)開發(fā)商獲得上億用戶。
uni-app內(nèi)置預(yù)載機(jī)制,加載新頁面速度極快,可實(shí)現(xiàn)無白屏極速渲染。
uni-app在App端還支持weex原生渲染(nvue),左右拖動(dòng)長(zhǎng)列表等復(fù)雜場(chǎng)景依然可實(shí)現(xiàn)高流暢性。
2022史上最全Android面試題歸納匯總(附答案解析)
我經(jīng)歷過這么多年的摸爬滾打,面試過也被面試過。現(xiàn)總結(jié)與歸納Android開發(fā)相關(guān)面試題:
1、Activity啟動(dòng)模式有哪些,分別有什么不同?
2、Service啟動(dòng)模式有哪些,對(duì)應(yīng)的生命周期?IntentService呢?
3、ContentProvider的作用,是否支持多線程和多進(jìn)程
4、Broadcast的注冊(cè)方式,對(duì)應(yīng)的生命周期是什么,有序和無序那種可以中斷廣播?
5、AsyncTask的作用,如何使用(包括有哪些方法,能說出同步異步,能說出不同Android版本下的區(qū)別加分)
6、有哪些異步的方式?
7、Handler機(jī)制
8、Dialog的使用及其生命周期
9、Activity的生命周期,能否改?
10、Fragment的生命周期,能否改?
11、Activity和Fragment如何通信
12、View的繪制機(jī)制
13、View的事件傳遞機(jī)制
14、如何監(jiān)聽手勢(shì)
15、ImageView設(shè)置圖片顯示有哪幾種模式,有什么區(qū)別?
16、有哪些存儲(chǔ)方式
17、SharedPreferences是否支持多進(jìn)程、多線程
別看以上常問的是入門級(jí)的,但是有兩三年開發(fā)經(jīng)驗(yàn)?zāi)芑卮饒A滿的人不多。
1、如何理解Activity的任務(wù)親和性
2、如何讓Service為單獨(dú)的進(jìn)程
3、IntentService的實(shí)現(xiàn)原理
4、LocalBroadcast的作用,實(shí)現(xiàn)原理,相對(duì)于Broadcast的優(yōu)勢(shì)在哪,劣勢(shì)在哪
5、Handler的缺點(diǎn),會(huì)不會(huì)造成內(nèi)存泄漏,有則如何解決
6、Fragment與Activity的區(qū)別和聯(lián)系
7、Fragment如何緩存布局
8、Fragment與ViewPager的搭配使用,有沒有問題重疊問題,怎么解決
9、同時(shí)提供側(cè)滑和上下滑動(dòng),如何解決事件傳播問題
10、是否使用過Design包
11、嵌套滑動(dòng)理解
12、behavior的原理
13、對(duì)設(shè)計(jì)模式有什么看法,經(jīng)常使用的有哪些?
中級(jí)的稍微偏底層一些,這個(gè)主要考察平時(shí)是否關(guān)注而不是一味地懟業(yè)務(wù)需求
1、Activity的啟動(dòng)過程
2、Service創(chuàng)建為單獨(dú)進(jìn)程會(huì)有哪些問題?
3、簡(jiǎn)述AIDL的構(gòu)建過程
4、IPC機(jī)制有哪些?
5、android多進(jìn)程通信方式,內(nèi)部原理
6、App啟動(dòng)的入口在哪?
7、LRU緩存算法
8、Bitmap的有哪幾種壓縮算法,有啥區(qū)別?
9、圖片在手機(jī)本地存儲(chǔ)大小和在內(nèi)存大小是否一致,為什么,Android默認(rèn)像素一般占幾個(gè)字節(jié)?
10、第三方框架的熟練程度,如:
11、SharedPreference內(nèi)部實(shí)現(xiàn)原理
12、模塊化、插件話、組件化等分別有什么區(qū)別,對(duì)用有什么好處
13、說說MV * 模式,并畫出做過項(xiàng)目的架構(gòu)圖
14、對(duì)跨平臺(tái)方案有哪些了解,使用過哪些? 比如RN
15、對(duì)大前端有什么看法,了解多少?使用過什么?
16、對(duì)其他語言的了解,kotlin,python、php、c++等
17、興趣愛好是什么?對(duì)未來有什么規(guī)劃?
目前是一些經(jīng)常會(huì)被問到的,當(dāng)然只是列舉了Android 開發(fā)方向的,Java的一些還沒列舉,比如異常、網(wǎng)絡(luò)、多線程、JCF等等
以上問題的答案在下面都有詳細(xì)解答,我們不僅整理了這些資料,而且還有一份長(zhǎng)達(dá)"635頁"的Android資料匯總:
包括:底層原理+項(xiàng)目實(shí)戰(zhàn)+面試專題
雖說Android早已不像過去那般火爆,但各大廠對(duì)于中高級(jí)開發(fā)者仍舊是求賢若渴,想要獲取更豐厚的薪資,打鐵還得自身硬。對(duì)于框架、源碼、原理、項(xiàng)目實(shí)操經(jīng)驗(yàn),都必須有足夠的知識(shí)儲(chǔ)備,才可以在面試中擊敗面試官。但是由于網(wǎng)上的資料魚龍混雜,也不成體系,很多人在自我提升的過程中都頭疼不已。 這里就給大家分享一份字節(jié)大佬整理的《Android中高級(jí)面試題匯總(2022)》,幫助大家系統(tǒng)的梳理中高級(jí)Android知識(shí)!里面包含了所有Android面試的知識(shí)點(diǎn),刷完進(jìn)大廠妥妥的 !
(含:靜態(tài)內(nèi)部類和非靜態(tài)內(nèi)部類的比較,多態(tài)的理解與應(yīng)用, java方法的多態(tài)性理解,java中接口和繼承的區(qū)別,線程池的好處,詳解,單例,線程池的優(yōu)點(diǎn)及其原理,線程池的優(yōu)點(diǎn),為什么不推薦通過Executors直接創(chuàng)建線程池,創(chuàng)建線程或線程池時(shí)請(qǐng)指定有意義的線程名稱,方便出錯(cuò)時(shí)回溯,深入理解ReentrantLock與Condition,Java多線程:線程間通信之Lock,Synchronized 關(guān)鍵字原理,ReentrantLock原理,HashMap中的Hash沖突解決和擴(kuò)容機(jī)制, JVM常見面試題, JVM內(nèi)存結(jié)構(gòu),類加載機(jī)制/雙親委托…)
(含:Activity知識(shí)點(diǎn), Fragment知識(shí)點(diǎn), Service知識(shí)點(diǎn), Intent知識(shí)點(diǎn)…)
(含:屏幕適配,主要控件優(yōu)化,事件分發(fā)與嵌套滾動(dòng)…)
(含:MVP架構(gòu)設(shè)計(jì),組件化架構(gòu)…)
(含:?jiǎn)?dòng)優(yōu)化,內(nèi)存優(yōu)化,繪制優(yōu)化,安裝包優(yōu)化…)
(含:開源庫(kù)源碼分析,Glide源碼分析,OkHttp源碼分析,Retrofit源碼分析,RxJava源碼分析…)
(含:開源文檔,面試合集…)
前端面試題,移動(dòng)端兼容問題有哪些,安卓和ios問題?
那么進(jìn)入正文,不廢話,直接把自己了解到的和一些看法說出來。
首先是屏幕問題,現(xiàn)在主流的移動(dòng)設(shè)備以安卓和IOS為主,我們?cè)谥谱饕苿?dòng)端頁面也是以兼容這兩種設(shè)備去布局。
首先說iPhone,不得不說iPhone的屏幕考慮到了我們開發(fā)者的難處,從而給出iPhone屏幕的dpr都是整數(shù)值,在6plus出現(xiàn)之前,iphone的dpr始終是2(物理像素/邏輯像素=2),即使是6plus出現(xiàn)了,iphone到底其實(shí)也就只有2,3這兩個(gè)dpr。其實(shí)6plus的實(shí)際dpr并不是整數(shù),而是2.87左右,不過,為了方便開發(fā)者來開發(fā),iphone6plus對(duì)其做了一個(gè)調(diào)整,將dpr調(diào)整為3,然后在對(duì)屏幕進(jìn)行了一個(gè)縮放。所以我們很容易對(duì)其做到兼顧。
而安卓的dpr值,并不像iphone那樣就只有兩個(gè)值。安卓的dpr是千奇百怪的,可能是1.5,2,3,4,2.5等等的都有。(甚至我還看到了1.7之類的,安卓的各個(gè)設(shè)備商,玩的真尼瑪high啊。怎么高興怎么來。)
那么現(xiàn)在開始說說移動(dòng)端怎么布局以及字體該怎么設(shè)置,因?yàn)橛懈鞣N各樣的解決方式,我就不一一贅述,直接說手淘的解決方案:flexible.js
我為什么又一次把這個(gè)拿出來說,主要有兩點(diǎn)原因:1.我覺得它好用,解決方式簡(jiǎn)單粗暴。2.它經(jīng)過了比較長(zhǎng)時(shí)間的考驗(yàn),如今手淘還在用它。
具體的使用方法自己可以去flexible.js看看,這里我簡(jiǎn)單說說它的方案以及個(gè)人對(duì)它的改良。
手機(jī)端app開發(fā)面試問題的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于軟件開發(fā)面試問題、手機(jī)端app開發(fā)面試問題的信息別忘了在本站進(jìn)行查找喔。