面試題

第一章 Java 方面

(一)Java 基礎(chǔ)部分

1.抽象類與接口的區(qū)別永丝?

2.分別講講 final琉预,static玉罐,synchronized 關(guān)鍵字可以修飾什么,以及修飾后的作用岳锁?

3.請(qǐng)簡(jiǎn)述一下String绩衷、StringBuffer和StringBuilder的區(qū)別?

4.“equals”與“==”激率、“hashCode”的區(qū)別和使用場(chǎng)景咳燕?

5.Java 中深拷貝與淺拷貝的區(qū)別?

6.談?wù)凟rror和Exception的區(qū)別乒躺?

7.什么是反射機(jī)制招盲?反射機(jī)制的應(yīng)用場(chǎng)景有哪些?

8.談?wù)勅绾沃貙慹quals()方法嘉冒?為什么還要重寫hashCode()曹货?

9.Java 中 IO 流分為幾種?BIO,NIO,AIO 有什么區(qū)別?

10.談?wù)勀銓?duì)Java泛型中類型擦除的理解,并說(shuō)說(shuō)其局限性讳推?

11.String為什么要設(shè)計(jì)成不可變的顶籽?

12.說(shuō)說(shuō)你對(duì)Java注解的理解?

13.談一談Java成員變量银觅,局部變量和靜態(tài)變量的創(chuàng)建和回收時(shí)機(jī)礼饱?

14.請(qǐng)說(shuō)說(shuō)Java中String.length()的運(yùn)作原理?

(二)Java 集合

1.談?wù)凩ist,Set,Map的區(qū)別究驴?
2.談?wù)凙rrayList和LinkedList的區(qū)別慨仿?
3.請(qǐng)說(shuō)一下HashMap與HashTable的區(qū)別
4.談一談ArrayList的擴(kuò)容機(jī)制?
5.HashMap 的實(shí)現(xiàn)原理纳胧?
6.請(qǐng)簡(jiǎn)述 LinkedHashMap 的工作原理和使用方式?
7.談?wù)剬?duì)于ConcurrentHashMap的理解?

(三)Java 多線程

1.Java 中使用多線程的方式有哪些帘撰?
2.說(shuō)一下線程的幾種狀態(tài)跑慕?
3.如何實(shí)現(xiàn)多線程中的同步?
4.談?wù)劸€程死鎖,如何有效的避免線程死鎖核行?
5.談?wù)劸€程阻塞的原因牢硅?
6.請(qǐng)談?wù)?Thread 中 run() 與 start() 的區(qū)別?
7.synchronized和volatile關(guān)鍵字的區(qū)別芝雪?
8.如何保證線程安全减余?
9.談?wù)凾hreadLocal用法和原理?
10.Java 線程中notify 和 notifyAll有什么區(qū)別惩系?
11.什么是線程池位岔?如何創(chuàng)建一個(gè)線程池?
12.談一談java線程常見的幾種鎖堡牡?
13.談一談線程sleep()和wait()的區(qū)別抒抬?
14.什么是悲觀鎖和樂(lè)觀鎖?
15.什么是BlockingQueue晤柄?請(qǐng)分析一下其內(nèi)部原理并談?wù)勊氖褂脠?chǎng)景擦剑?
16.談一談java線程安全的集合有哪些?
17.Java中為什么會(huì)出現(xiàn)Atomic類芥颈?試分析它的原理和缺點(diǎn)惠勒?
18.說(shuō)說(shuō)ThreadLocal的使用場(chǎng)景?與Synchronized相比有什么特性爬坑?

(四)Java 虛擬機(jī)

1.談一談JAVA垃圾回收機(jī)制纠屋?
2.回答一下什么是強(qiáng)、軟妇垢、弱巾遭、虛引用以及它們之間的區(qū)別?
3.簡(jiǎn)述JVM中類的加載機(jī)制與加載過(guò)程闯估?
4.JVM灼舍、Dalvik、ART三者的原理和區(qū)別涨薪?
5.請(qǐng)談?wù)凧ava的內(nèi)存回收機(jī)制骑素?
6.JMM是什么?它存在哪些問(wèn)題刚夺?該如何解決献丑?

第二章 Android 方面

(一)Android 四大組件相關(guān)

1.Activity 與 Fragment 之間常見的幾種通信方式?
2.LaunchMode 的應(yīng)用場(chǎng)景侠姑?
3.BroadcastReceiver 與 LocalBroadcastReceiver 有什么區(qū)別创橄?
4.對(duì)于 Context,你了解多少?
5.IntentFilter是什么莽红?有哪些使用場(chǎng)景妥畏?
6.談一談startService和bindService的區(qū)別邦邦,生命周期以及使用場(chǎng)景?
7.Service如何進(jìn)行弊硪希活燃辖?
8.簡(jiǎn)單介紹下ContentProvider是如何實(shí)現(xiàn)數(shù)據(jù)共享的?
9.說(shuō)下切換橫豎屏?xí)rActivity的生命周期?
10.Activity中onNewIntent方法的調(diào)用時(shí)機(jī)和使用場(chǎng)景网棍?
11.Intent傳輸數(shù)據(jù)的大小有限制嗎黔龟?如何解決?
12.說(shuō)說(shuō)ContentProvider滥玷、ContentResolver氏身、ContentObserver 之間的關(guān)系?
13.說(shuō)說(shuō)Activity加載的流程罗捎?

(二)Android 異步任務(wù)和消息機(jī)制

HandlerThread 的使用場(chǎng)景和用法观谦?
IntentService 的應(yīng)用場(chǎng)景和使用姿勢(shì)?
AsyncTask 的優(yōu)點(diǎn)和缺點(diǎn)桨菜?
談?wù)勀銓?duì) Activity.runOnUiThread 的理解豁状?
子線程能否更新 UI?為什么倒得?
談?wù)?Handler 機(jī)制和原理泻红?
為什么在子線程中創(chuàng)建 Handler 會(huì)拋異常?
試從源碼角度分析 Handler 的 post 和 sendMessage 方法的區(qū)別和應(yīng)用場(chǎng)景霞掺?
Handler 中有 Loop 死循環(huán)谊路,為什么沒(méi)有阻塞主線程,原理是什么?

(三)Android UI 繪制相關(guān)

Android 補(bǔ)間動(dòng)畫和屬性動(dòng)畫的區(qū)別菩彬?
Window和DecorView是什么?DecorView又是如何和Window建立聯(lián)系的?
簡(jiǎn)述一下 Android 中 UI 的刷新機(jī)制缠劝?
LinearLayout, FrameLayout, RelativeLayout 哪個(gè)效率高, 為什么?
談?wù)凙ndroid的事件分發(fā)機(jī)制骗灶?
談?wù)勛远xView的流程惨恭?
針對(duì)RecyclerView你做了哪些優(yōu)化?
談?wù)勅绾蝺?yōu)化ListView耙旦?
談?wù)勛远xLayoutManager的流程脱羡?
什么是 RemoteViews?使用場(chǎng)景有哪些免都?
談一談獲取View寬高的幾種方法锉罐?
談一談插值器和估值器?
getDimension绕娘、getDimensionPixelOffset 和 getDimensionPixelSize 三者的區(qū)別脓规?
請(qǐng)談?wù)勗创a中StaticLayout的用法和應(yīng)用場(chǎng)景?
有用過(guò)ConstraintLayout嗎险领?它有哪些特點(diǎn)抖拦?
關(guān)于LayoutInflater升酣,它是如何通過(guò) inflate 方法獲取到具體View的?
談一談Fragment懶加載态罪?
談?wù)凴ecyclerView的緩存機(jī)制?
請(qǐng)談?wù)刅iew.inflate和LayoutInflater.inflate的區(qū)別下面?
請(qǐng)談?wù)刬nvalidate()和postInvalidate()方法的區(qū)別和應(yīng)用場(chǎng)景复颈?
談一談自定義View和自定義ViewGroup?
談一談SurfaceView與TextureView的使用場(chǎng)景和用法沥割?
談一談RecyclerView.Adapter的幾種刷新方式有何不同耗啦?
談?wù)勀銓?duì)Window和WindowManager的理解?
談一談Activity机杜,View帜讲,Window三者的關(guān)系?
有了解過(guò)WindowInsets嗎椒拗?它有哪些應(yīng)用似将?
Android中View幾種常見位移方式的區(qū)別?
為什么ViewPager嵌套ViewPager蚀苛,內(nèi)部的ViewPager滾動(dòng)沒(méi)有被攔截在验?
請(qǐng)談?wù)凢ragment的生命周期?
請(qǐng)談?wù)勈裁词峭狡琳希?br> 談一談ViewDragHelper的工作原理堵未?
談一談屏幕刷新機(jī)制腋舌?

(四)Android 性能調(diào)優(yōu)相關(guān)

談?wù)勀銓?duì)Android性能優(yōu)化方面的了解?
一般什么情況下會(huì)導(dǎo)致內(nèi)存泄漏問(wèn)題渗蟹?
自定義 Handler 時(shí)如何有效地避免內(nèi)存泄漏問(wèn)題块饺?
哪些情況下會(huì)導(dǎo)致oom問(wèn)題?
ANR 出現(xiàn)的場(chǎng)景以及解決方案雌芽?
談?wù)凙ndroid中內(nèi)存優(yōu)化的方式授艰?
談?wù)劜季謨?yōu)化的技巧?
Android 中的圖片優(yōu)化方案膘怕?
Android Native Crash問(wèn)題如何分析定位想诅?
談?wù)勗趺唇oapk瘦身?
談?wù)勀闶侨绾蝺?yōu)化App啟動(dòng)過(guò)程的岛心?
談?wù)劥a混淆的步驟来破?
談?wù)勅绾螌?duì)WebView進(jìn)行優(yōu)化?
如何處理大圖的加載忘古?
談?wù)勅绾螌?duì)網(wǎng)絡(luò)請(qǐng)求進(jìn)行優(yōu)化徘禁?
請(qǐng)談?wù)勅绾渭虞dBitmap并防止內(nèi)存溢出?
加粗樣式

(五)Android 中的 IPC

請(qǐng)回答一下Android進(jìn)程間的通信方式髓堪?
請(qǐng)談?wù)勀銓?duì)Binder機(jī)制的理解送朱?
談?wù)?AIDL娘荡?

(六)Android 系統(tǒng) SDK 相關(guān)

請(qǐng)簡(jiǎn)要談?wù)凙ndroid系統(tǒng)的架構(gòu)組成?
SharedPreferences 是線程安全的嗎驶沼?它的 commit 和 apply 方法有什么區(qū)別炮沐?
Serializable和Parcelable的區(qū)別?
請(qǐng)簡(jiǎn)述一下 Android 7.0 的新特性?
談?wù)凙rrayMap和HashMap的區(qū)別回怜?
簡(jiǎn)要說(shuō)說(shuō) LruCache 的原理大年?
為什么推薦用SparseArray代替HashMap?
PathClassLoader和DexClassLoader有何區(qū)別玉雾?
說(shuō)說(shuō)HttpClient與HttpUrlConnection的區(qū)別翔试?并談?wù)劄楹吻罢邥?huì)被替代?
什么是Lifecycle复旬?請(qǐng)分析其內(nèi)部原理和使用場(chǎng)景垦缅?
談一談Android的簽名機(jī)制?
談?wù)劙沧縜pk構(gòu)建的流程驹碍?
簡(jiǎn)述一下Android 8.0壁涎、9.0 分別增加了哪些新特性?
談?wù)凙ndroid10更新了哪些內(nèi)容?如何進(jìn)行適配?
請(qǐng)簡(jiǎn)述Apk的安裝過(guò)程幸冻?
Java與JS代碼如何互調(diào)粹庞?有做過(guò)相關(guān)優(yōu)化嗎?
什么是JNI洽损?具體說(shuō)說(shuō)如何實(shí)現(xiàn)Java與C++的互調(diào)庞溜?
請(qǐng)簡(jiǎn)述從點(diǎn)擊圖標(biāo)開始app的啟動(dòng)流程?

(七)第三方框架分析

談一談LeakCanray的工作原理碑定?
談一談EventBus的原理流码?
談?wù)劸W(wǎng)絡(luò)請(qǐng)求中的攔截器(Interceptor)?
談一談Glide的緩存機(jī)制延刘?
ViewModel的出現(xiàn)是為了解決什么問(wèn)題漫试?并簡(jiǎn)要說(shuō)說(shuō)它的內(nèi)部原理?
請(qǐng)說(shuō)說(shuō)依賴注入框架ButterKnife的實(shí)現(xiàn)原理碘赖?
談一談RxJava背壓原理驾荣?

(八)綜合技術(shù)

請(qǐng)談?wù)勀銓?duì) MVC 和 MVP 的理解?
分別介紹下你所知道Android的幾種存儲(chǔ)方式普泡?
簡(jiǎn)述下熱修復(fù)的原理播掷?
談?wù)勅绾芜m配更多機(jī)型的?
請(qǐng)談?wù)勀闶侨绾芜M(jìn)行多渠道打包的撼班?
MVP中你是如何處理Presenter層以防止內(nèi)存泄漏的歧匈?
如何計(jì)算一張圖片所占的內(nèi)存空間大小砰嘁?
有沒(méi)有遇到64k問(wèn)題件炉,應(yīng)該如何解決勘究?
如何優(yōu)化 Gradle 的構(gòu)建速度?
如何獲取Android設(shè)備唯一ID斟冕?
談一談Android P禁用http對(duì)我們開發(fā)有什么影響口糕?
什么是AOP?在Android中它有哪些應(yīng)用場(chǎng)景磕蛇?
什么是MVVM走净?你是如何將其應(yīng)用于具體項(xiàng)目中的? – 請(qǐng)談?wù)勀闶侨绾螌?shí)現(xiàn)數(shù)據(jù)埋點(diǎn)的孤里?
假如讓你實(shí)現(xiàn)斷點(diǎn)上傳功能,你認(rèn)為應(yīng)該怎樣去做橘洞?
webp和svg格式的圖片各自有什么特點(diǎn)捌袜?應(yīng)該如何在Android中使用?
說(shuō)說(shuō)你是如何進(jìn)行單元測(cè)試的炸枣?以及如何應(yīng)用在MVP和MVVM中虏等?
對(duì)于GIF 圖片加載有什么思路和建議?
為什么要將項(xiàng)目遷移到AndroidX适肠?如何進(jìn)行遷移霍衫?

(九)數(shù)據(jù)結(jié)構(gòu)方面

什么是冒泡排序?如何優(yōu)化侯养?
請(qǐng)用 Java 實(shí)現(xiàn)一個(gè)簡(jiǎn)單的單鏈表敦跌?
如何反轉(zhuǎn)一個(gè)單鏈表?
談?wù)勀銓?duì)時(shí)間復(fù)雜度和空間復(fù)雜度的理解逛揩?
談一談如何判斷一個(gè)鏈表成環(huán)柠傍?
什么是紅黑樹?為什么要用紅黑樹辩稽?
什么是快速排序惧笛?如何優(yōu)化?
說(shuō)說(shuō)循環(huán)隊(duì)列逞泄?
如何判斷單鏈表交叉

(十)設(shè)計(jì)模式

請(qǐng)簡(jiǎn)要談一談單例模式患整?
對(duì)于面向?qū)ο蟮牧蠡驹瓌t了解多少?
請(qǐng)列出幾種常見的工廠模式并說(shuō)明它們的用法喷众?
說(shuō)說(shuō)項(xiàng)目中用到的設(shè)計(jì)模式和使用場(chǎng)景各谚?
什么是代理模式?如何使用侮腹?Android源碼中的代理模式嘲碧?
談一談單例模式,建造者模式父阻,工廠模式的使用場(chǎng)景愈涩?如何合理選擇望抽?
談?wù)勀銓?duì)原型模式的理解?
請(qǐng)談?wù)劜呗阅J皆砑捌鋺?yīng)用場(chǎng)景履婉?
靜態(tài)代理和動(dòng)態(tài)代理的區(qū)別煤篙,什么場(chǎng)景使用?
談一談責(zé)任鏈模式的使用場(chǎng)景毁腿?

(十一)計(jì)算機(jī)網(wǎng)絡(luò)方面

請(qǐng)簡(jiǎn)述 Http 與 Https 的區(qū)別辑奈?
說(shuō)一說(shuō) https,udp,socket 區(qū)別?
請(qǐng)簡(jiǎn)述一次 http 網(wǎng)絡(luò)請(qǐng)求的過(guò)程已烤?
談一談 TCP/IP 三次握手鸠窗,四次揮手?
為什么說(shuō) Http 是可靠的數(shù)據(jù)傳輸協(xié)議胯究?
TCP/IP協(xié)議分為哪幾層稍计?TCP 和 HTTP 分別屬于哪一層?

(十二)Kotlin方面

請(qǐng)簡(jiǎn)述一下什么是 Kotlin裕循?它有哪些特性臣嚣?
Kotlin 中注解 @JvmOverloads 的作用?
Kotlin中List與MutableList的區(qū)別剥哑?
Kotlin中實(shí)現(xiàn)單例的幾種常見方式硅则?
談?wù)勀銓?duì)Kotlin中的 data 關(guān)鍵字的理解?相比于普通類有哪些特點(diǎn)株婴?
什么是委托屬性怎虫?請(qǐng)簡(jiǎn)要說(shuō)說(shuō)其使用場(chǎng)景和原理?
請(qǐng)舉例說(shuō)明Kotlin中with與apply函數(shù)的應(yīng)用場(chǎng)景和區(qū)別督暂?
Kotlin中 Unit 類型的作用以及與Java中 Void 的區(qū)別揪垄?
Kotlin 中 infix 關(guān)鍵字的原理和使用場(chǎng)景?
Kotlin中的可見性修飾符有哪些逻翁?相比于Java有什么區(qū)別饥努?
你覺(jué)得Kotlin與Java混合開發(fā)時(shí)需要注意哪些問(wèn)題?
在Kotlin中八回,何為解構(gòu)酷愧?該如何使用?
在Kotlin中缠诅,什么是內(nèi)聯(lián)函數(shù)溶浴?有什么作用?
談?wù)刱otlin中的構(gòu)造方法管引?有哪些注意事項(xiàng)士败?
談?wù)凨otlin中的Sequence,為什么它處理集合操作更加高效?
請(qǐng)談?wù)凨otlin中的Coroutines谅将,它與線程有什么區(qū)別漾狼?有哪些優(yōu)點(diǎn)?
Kotlin中該如何安全地處理可空類型饥臂?
說(shuō)說(shuō)Kotlin中的Any與Java中的Object有何異同逊躁?
Kotlin中的數(shù)據(jù)類型有隱式轉(zhuǎn)換嗎?為什么隅熙?
Kotlin中集合遍歷有哪幾種方式稽煤?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市囚戚,隨后出現(xiàn)的幾起案子酵熙,更是在濱河造成了極大的恐慌,老刑警劉巖驰坊,帶你破解...
    沈念sama閱讀 210,835評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绿店,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡庐橙,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,900評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門借嗽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)态鳖,“玉大人,你說(shuō)我怎么就攤上這事恶导〗撸” “怎么了?”我有些...
    開封第一講書人閱讀 156,481評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵惨寿,是天一觀的道長(zhǎng)邦泄。 經(jīng)常有香客問(wèn)我,道長(zhǎng)裂垦,這世上最難降的妖魔是什么顺囊? 我笑而不...
    開封第一講書人閱讀 56,303評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮蕉拢,結(jié)果婚禮上特碳,老公的妹妹穿的比我還像新娘。我一直安慰自己晕换,他們只是感情好午乓,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,375評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著闸准,像睡著了一般益愈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上夷家,一...
    開封第一講書人閱讀 49,729評(píng)論 1 289
  • 那天蒸其,我揣著相機(jī)與錄音敏释,去河邊找鬼。 笑死枣接,一個(gè)胖子當(dāng)著我的面吹牛颂暇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播但惶,決...
    沈念sama閱讀 38,877評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼耳鸯,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了膀曾?” 一聲冷哼從身側(cè)響起县爬,我...
    開封第一講書人閱讀 37,633評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎添谊,沒(méi)想到半個(gè)月后财喳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,088評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡斩狱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,443評(píng)論 2 326
  • 正文 我和宋清朗相戀三年耳高,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片所踊。...
    茶點(diǎn)故事閱讀 38,563評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡泌枪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出秕岛,到底是詐尸還是另有隱情碌燕,我是刑警寧澤,帶...
    沈念sama閱讀 34,251評(píng)論 4 328
  • 正文 年R本政府宣布继薛,位于F島的核電站修壕,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏遏考。R本人自食惡果不足惜慈鸠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,827評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望灌具。 院中可真熱鬧林束,春花似錦、人聲如沸稽亏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,712評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)截歉。三九已至胖腾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背咸作。 一陣腳步聲響...
    開封第一講書人閱讀 31,943評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工锨阿, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人记罚。 一個(gè)月前我還...
    沈念sama閱讀 46,240評(píng)論 2 360
  • 正文 我出身青樓墅诡,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親桐智。 傳聞我的和親對(duì)象是個(gè)殘疾皇子末早,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,435評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容