DayByDayCollections

鏈接

1.知道Service嗎,它有幾種啟動(dòng)方式?

Service的onCreate回調(diào)函數(shù)可以做耗時(shí)的操作嗎?
如果需要做耗時(shí)的操作,你會(huì)怎么做?
是否知道IntentService,在什么場(chǎng)景下使用IntentService?
場(chǎng)景:如果一個(gè)應(yīng)用要從網(wǎng)絡(luò)上下載MP3文件,并在Activity上展示進(jìn)度條,這個(gè)Activity要求是可以轉(zhuǎn)屏的。那么在轉(zhuǎn)屏?xí)rActvitiy會(huì)重啟,如何保證下載的進(jìn)度條能正確展示進(jìn)度呢?

2.用廣播來更新UI界面好嗎?

Normal broadcasts無序廣播 和 Ordered broadcasts有序廣播
除了上面的兩種廣播外,還有其他類型的廣播嗎?
有時(shí)候基于數(shù)據(jù)安全考慮,我們想發(fā)送廣播只有自己(本進(jìn)程)能接收到,那么該如何去做呢?
BroadcastReceiver的生命周期

3.怎么理解Activity的生命周期?

如果一個(gè)Activity在用戶可見時(shí)才處理某個(gè)廣播,不可見時(shí)注銷掉,那么應(yīng)該在哪兩個(gè)生命周期的回調(diào)方法去注冊(cè)和注銷BroadcastReceiver呢?
如果有一些數(shù)據(jù)在Activity跳轉(zhuǎn)時(shí)(或者離開時(shí))要保存到數(shù)據(jù)庫,那么你認(rèn)為是在onPause好還是在onStop執(zhí)行這個(gè)操作好呢?
簡(jiǎn)單說一下Activity A啟動(dòng)Activity B時(shí),兩個(gè)Activity生命周期的變化。

4.如何判斷Activity是否在運(yùn)行?

從Activity A 啟動(dòng)一個(gè)線程去進(jìn)行網(wǎng)絡(luò)上傳操作,在A中設(shè)立一個(gè)回調(diào)函數(shù),當(dāng)上傳操作完成以后,在A的這個(gè)回調(diào)函數(shù)中會(huì)彈出一個(gè)對(duì)話框,用來顯示回調(diào)信息??墒钱?dāng)上傳的過程還在進(jìn)行的時(shí)候,我按下back鍵,A的activity 被銷毀了,可是那個(gè)上傳的線程還在進(jìn)行,當(dāng)那個(gè)線程結(jié)束后,本來應(yīng)該在A中彈出一個(gè)對(duì)話框,可是由于A已經(jīng)不存在了,系統(tǒng)就會(huì)報(bào)錯(cuò)提示,“將對(duì)話框顯示在不存在的頁面上”,然后程序就掛掉了。

5.自定義View的狀態(tài)是如何保存的?

Activity的狀態(tài)如何保存的:如果系統(tǒng)調(diào)用onSaveInstanceState,那么它是在onStop還是在onPause之前執(zhí)行呢?

6.通過new創(chuàng)建的View實(shí)例它的onSaveStateInstance會(huì)被調(diào)用嗎?

我們?cè)僬归_一下,如果我們定義了一個(gè)自義的Layout,在同一個(gè)界面中引用了兩次這個(gè)自定義的Layout(如下圖的myLayout1 & myLayout2),那么它的狀態(tài)會(huì)發(fā)生什么情況呢?

7.Java的值傳遞和引用傳遞問題

8.能講講Android的Handler機(jī)制嗎?

注意:Handler可能會(huì)引起的內(nèi)存泄露

9.兩個(gè)Activity之間如何傳遞參數(shù)?

Parcelable和Parcle這兩者之間的關(guān)系。
現(xiàn)在我們知道了如何傳遞自定義的對(duì)象,那么在兩個(gè)Activity之前傳遞對(duì)象還要注意什么呢?

10.如何理解Android中的Context,它有什么用?

Application(或者Service)和Activity都可以調(diào)用Context的startActivity方法,那么在這兩個(gè)地方調(diào)用startActivity有區(qū)別嗎?
Context的實(shí)例是什么時(shí)候創(chuàng)建的?一個(gè)應(yīng)用里面會(huì)有幾個(gè)Context的實(shí)例?

11.如何優(yōu)化ListView的性能?

在一次顯示ListView的界面時(shí),getView會(huì)被執(zhí)行幾次?
每次getView執(zhí)行時(shí)間應(yīng)該控制在多少毫秒之內(nèi)?
getView中設(shè)置listener要注意什么?

12.如何實(shí)現(xiàn)應(yīng)用內(nèi)多語言切換?

13.在項(xiàng)目中使用AsyncTask會(huì)有什么問題嗎?

線程池可以同時(shí)執(zhí)行多少個(gè)TASK?
多個(gè)AsyncTask任務(wù)是串行還是并行?
AsyncTask容易引發(fā)的Activity內(nèi)存泄露

14.修改SharedPreferences后兩種提交方式有什么區(qū)別?

多進(jìn)程操作和讀取SharedPreferences的問題

15.有使用過ContentProvider碼?能說說Android為什么要設(shè)計(jì)ContentProvider這個(gè)組件嗎?

既然是對(duì)外提供數(shù)據(jù)共享,那么如何限制對(duì)方的使用呢?
ContentProvider接口方法運(yùn)行在哪個(gè)線程中呢?
ContentProvider是如何在不同應(yīng)用程序之間傳輸數(shù)據(jù)的?

16.如何處理線程同步的問題?

Object的wait和notify/notifyAll如何實(shí)現(xiàn)線程同步?
wait和yield(或sleep)的區(qū)別?

吹牛篇

說一下你認(rèn)為自己比其他程序員出色(厲害)的地方?
為什么我們要選擇你呢,你和其他程序員比有什么優(yōu)勢(shì)?

17.做一個(gè)完整的項(xiàng)目,提交到github

如何準(zhǔn)備自我介紹

對(duì)于面試官來說,自我介紹的好處

18.如何對(duì)SQLite數(shù)據(jù)庫中進(jìn)行大量的數(shù)據(jù)插入?

線程問題
使用ORM的問題

19.Activity的啟動(dòng)模式(launchMode)有哪些,有什么區(qū)別?

很多人在使用startActivityForResult啟動(dòng)一個(gè)Activity時(shí),會(huì)發(fā)現(xiàn)還沒有開始界面跳轉(zhuǎn)本身的onActivityResult馬上就被執(zhí)行了,這是為什么呢?

如何與HR談薪資

20. Activity的啟動(dòng)模式有哪些,有什么區(qū)別?

當(dāng)前應(yīng)用有兩個(gè)Activity A和B,B的android:launchMode設(shè)置了singleTask模式,A是默認(rèn)的standard,那么A startActivity啟動(dòng)B,B會(huì)新啟一個(gè)Task嗎?如果不會(huì),那么startActivity的Intent加上FLAG_ACTIVITY_NEW_TASK這個(gè)參數(shù)會(huì)不會(huì)呢?
在項(xiàng)目中常遇到一個(gè)需求就是在通知欄中使用PendingIntent跳轉(zhuǎn)到相關(guān)的Activity。但這個(gè)Activity往往是根據(jù)通知的內(nèi)容的具體的Activity,通知來的時(shí)候有可能應(yīng)用已經(jīng)被KILL掉了,這時(shí)跳轉(zhuǎn)這個(gè)具體內(nèi)容的DetailActivity后,我們希望按Back鍵能回退到應(yīng)用的主界面(MailActivity),你會(huì)怎么做呢?

21.Android資源目錄的讀取順序?

圖片放錯(cuò)目錄會(huì)產(chǎn)生的問題嗎?
mipmap
res/raw和assets的區(qū)別
和美工的關(guān)系

22.有沒有遇到Bitmap OOM的問題?如何優(yōu)化圖片占用的內(nèi)存空間?

Android系統(tǒng)上的圖片指的是什么?
Bitmap和Drawable
要加載很大的圖片怎么辦?

23.Android中Java和JavaScript如何交互?

Java調(diào)用WebView加載的網(wǎng)頁上的JavaScript
JavaScript調(diào)用本地的Java對(duì)像方法
混合開發(fā)(Hybrid App)的問題
React Native

24.兩個(gè)Fragment之間如何進(jìn)行通信?

Fragment的生命周期
引申:我為什么主張反對(duì)使用Android Fragment

25.如何理解Android應(yīng)用的進(jìn)程?

26.如何解決ScrollView嵌套中一個(gè)ListView的滑動(dòng)沖突?

27.知道什么是ART嗎?它和Dalvik有什么區(qū)別?

28.如何檢測(cè)內(nèi)存泄露,如何進(jìn)行內(nèi)存優(yōu)化?

我們?yōu)槭裁葱枰獌?nèi)存?

29.如何檢測(cè)內(nèi)存泄露,如何進(jìn)行內(nèi)存優(yōu)化?

MAT內(nèi)存分析工具
開發(fā)中如何避免內(nèi)存泄漏

30.如何實(shí)現(xiàn)自定義View?

invalidate和postInvalidate方法的區(qū)別?
自定義View的繪制流程?
View的Touch事件分發(fā)流程?

如何準(zhǔn)備和Boss(或經(jīng)理)的面試

31.你在Android開發(fā)中遇到的技術(shù)難題是什么,你是怎么解決的?

32.談?wù)勀闶褂眠^的Android開源庫,是否有遇到過什么問題?

如果沒有問題呢?

33.談?wù)凪VP和MVVM模式,你有在自己的項(xiàng)目中使用過嗎?

如何在自己的項(xiàng)目中使用MVP
MVP的好處與問題
MVVM模式

老司機(jī)教你如何快速突擊Android面試

Android面試的技術(shù)題準(zhǔn)備
Android面試的項(xiàng)目題準(zhǔn)備
個(gè)人問題的準(zhǔn)備

34.介紹一下你經(jīng)常瀏覽的Android技術(shù)網(wǎng)站

35.Binder是什么?它是如何實(shí)現(xiàn)跨進(jìn)程通信的?

為什么要使用Binder?
Binder對(duì)應(yīng)用開發(fā)者的用處

36.AIDL是什么?你有使用過它嗎,它支持哪些數(shù)據(jù)類型?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,045評(píng)論 25 709
  • Java中的String類可以被繼承么? 答:不能,因?yàn)樗且粋€(gè)final類,同樣的還有Integer,F(xiàn)loat...
    gyymz1993閱讀 4,171評(píng)論 2 104
  • 在開發(fā)中,我們經(jīng)常需要用到除掉某一個(gè)字符串中的某個(gè)字符,或者把某一段字符替換成某一特定的字符;下面 樓主就來介紹這...
    少年_如他閱讀 20,365評(píng)論 1 2
  • 懂保險(xiǎn)的人,覺得保險(xiǎn)很復(fù)雜,于是面對(duì)保險(xiǎn),都保持著警惕,生怕被騙。保險(xiǎn)真的有這么可怕嗎?其實(shí)懂保險(xiǎn)的人就會(huì)知道,保...
    912f13b88a71閱讀 206評(píng)論 0 0

友情鏈接更多精彩內(nèi)容