4.9k Star 安卓面試知識點俏讹,請收下泽疆!

逛 Github 的時候看到一份超強面試題玲献,來自 MindOrks 開源的 android-interview-questions梯浪。雖說是一份安卓面試題瓢娜,但其中包含了 數(shù)據(jù)結(jié)構(gòu)與算法 眠砾、Java 核心基礎(chǔ)Android 核心基礎(chǔ) 荠藤、設(shè)計模式 等各方面內(nèi)容哈肖。大致瀏覽了一下,質(zhì)量還不錯布疼,比百度出來的各種所謂 BAT 面試題 強一些币狠。

Core Java

面向?qū)ο?/h3>

1. 什么是 OOP ?

2. 抽象類和接口的區(qū)別 贱案?

3. Iterator 和 Enumeration 的區(qū)別 止吐?

4. 你同意 組合優(yōu)先于繼承 嗎 ?

5. 方法重載和方法重寫的區(qū)別 瘩燥?

6. 你知道哪些訪問修飾符 不同? 它們分別的作用 ?

7. 一個接口可以實現(xiàn)另一個接口嗎 服鹅?

8. 什么是多態(tài) 卓鹿?什么是繼承 吟孙?

9. Java 中類和接口的多繼承

10. 什么是設(shè)計模式?

集合和泛型

11. Arrays vs ArrayLists

12. HashSet vs TreeSet

13. HashMap vs HashSet

14. Stack vs Queue

15. 解釋 java 中的泛型

16. String 類是如何實現(xiàn)的藻治?它為什么被設(shè)計成不可變類 巷挥?

對象和基本類型

16. String 類是如何實現(xiàn)的?它為什么被設(shè)計成不可變類 雏节?

17. 為什么說 String 不可變 高职?

18. 什么是 String.intern() ? 何時使用寥粹? 為什么使用 埃元?

19. 列舉 8 種基本類型

20. int 和 Integer 區(qū)別

21. 什么是自動裝箱拆箱 ?

22. Java 中的類型轉(zhuǎn)換

23. Java 值傳遞還是引用傳遞 阔拳?

24. 對象實例化和初始化之間的區(qū)別 类嗤?

25. 局部變量土浸、實例變量以及類變量之間的區(qū)別?

Java 內(nèi)存模型和垃圾收集器

26. 什么是垃圾收集器 泪酱? 它是如何工作的 还最?

27. 什么是 java 內(nèi)存模型? 它遵循了什么原則斯撮?它的堆棧是如何組織的 扶叉?

28. 什么是 內(nèi)存泄漏帕膜,java 如何處理它 垮刹?

29. 什么是 強引用张弛,軟引用,弱引用寺董,虛引用 刻剥?

并發(fā)

30. 關(guān)鍵字 synchronized 的作用 ?

31. ThreadPoolExecutor 作用 盯滚?

32. 關(guān)鍵字 volatile 的作用 酗电?

33. The clasess in the atomic package expose a common set of methods: get, set,, lazyset, compareAndSet, and weakCompareAndSet. Please describe them.

異常

34. try{} catch{} finally{} 是如何工作的 ?

35. Checked Exception 和 Un-Checked Exception 區(qū)別 撵术?

其他

36. 什么是序列化?如何實現(xiàn) 寝姿?

37. 關(guān)鍵字 transient 的作用 划滋?

38. 什么是匿名內(nèi)部類 ?

39. 對象的 == 和 .equals 區(qū)別 根资?

40. hashCode() 和 equals() 用處 同窘?

41. 構(gòu)造函數(shù)中為什么不能調(diào)用抽象方法 想邦?

42. 你什么時候會使用 final 關(guān)鍵字 ?

43. final, finally 和 finalize 的區(qū)別 鹰椒?

44. Java 中 static 關(guān)鍵字的含義 ?

45. 靜態(tài)方法可以重寫嗎 ?

46. 靜態(tài)代碼塊如何運行 ?

47. 什么是反射 拉庵?

48. 什么是依賴注入 钞支?列舉幾個庫 ?你使用過嗎 婴洼?

49. StringBuilder 如何避免不可變類 String 的分配問題撼嗓?

50. StringBuffer 和 StringBuilder 區(qū)別 ?

51. Enumeration and an Iterator 區(qū)別 粉捻?

52. fail-fast and fail-safe 區(qū)別 斑芜?

53. 什么是 NIO 杏头?

Core Android

Base

54. Android 應(yīng)用組件

55. Android 應(yīng)用架構(gòu)

56. 什么是 Context?

57. 什么是 AndroidManifest.xml呢燥?

58. 什么是 Application 寓娩?

Activity

59. 什么是 Activity ?

60. 說明一下 Activity 和 Fragment 的生命周期

61. 什么是 Activity 的啟動模式 力试?

Fragments

62. 什么是 Fragment ?

63. Activity 和 Fragment 關(guān)系和區(qū)別 畸裳?

64. 為什么建議使用默認構(gòu)造函數(shù)來創(chuàng)建 Fragment 淳地?

65. Fragment 之間如何通信 帅容?

66. 什么是 Retained Fragment ?

View 和 ViewGroup

67. 在 Android 中并徘,什么是 View 扰魂?

68. View.GONE 和 View.INVISIBLE 的區(qū)別 ?

69. 如何創(chuàng)建自定義 View 姐直?

70. 什么是 ViewGroups 以及和 View 的區(qū)別 ?

71. 什么是 canvas 插龄?

72. 什么是 SurfaceView 科展?

73. 相對布局和線性布局對比

74. 談?wù)?Constraint Layout

75. 你知道 View 樹嗎 ?如何優(yōu)化它的深度 膨处?

展示內(nèi)容集合

76. ListView 和 RecyclerView 區(qū)別 真椿?

77. 什么是 ViewHolder 突硝?為什么使用它 ?

78. 什么是 SnapHelper 浙于?

Dialog 和 Toast

79. 什么是 Dialog 羞酗?

80. 什么是 Toast ?

81. Dialog 和 Dialog Fragment 區(qū)別 胸竞?

Intent 和 廣播

82. 什么是 Intent ?

83. 什么是 顯示 Intent 煎饼?

84. 什么是 隱式 Intent 校赤?

85. 什么是 BroadcastReceiver 痒谴?

86. 什么是 LocalBroadcastReceiver 铡羡?

87. IntentFilter 的作用 ?

88. 什么是 sticky intent 尽爆?

89. 說說廣播和 Intent 是如何在你的應(yīng)用中傳遞消息的 ?

90. 什么是 PendingIntent 漱贱?

91. 廣播的不同類型 夭委?

Services

92. 什么是 Service ?

93. Service 和 IntentService

94. 什么是 JobSchedule 崇摄?

Inter-process Communication

95. 兩個不同的 app 如何通信 慌烧?

96. 一個 app 可以多進程運行嗎 屹蚊?如何實現(xiàn) ?

97. 什么是 AIDL 命斧? 列舉實現(xiàn)步驟嘱兼。

98. 你可以使用后臺進程干什么 ?

99. 什么是 ContentProvider 胃惜?一般用來干什么 船殉?

Long-running Operations

100. 如何進行耗時任務(wù) ?

101. 為什么要避免在主線程運行非ui代碼 挨厚?

102. 什么是 ANR 糠惫?如何預(yù)防 硼讽?

103. 什么是 AsyncTask ?

104. AsyncTask 有哪些問題 壤躲?

105. 你會在什么時候使用 AsyncTask 代替線程 备燃?

106. 什么是 Loader 并齐?

107. AsyncTask 和 Activity 的生命周期有什么聯(lián)系 ?會導(dǎo)致什么問題 撕贞?如何避免 ?

108. 解釋 Looper, Handler 和 HandlerThread 的作用

多媒體

109. 如何處理 Bitmap 占據(jù)大量內(nèi)存 窝剖?

110. 一個標準的 Bitmap 和一個 .9 圖的區(qū)別 赐纱?

111. 談?wù)?Bitmap pool

112. Android 中如何播放聲音 ?

Data Saving

113. 如何持久化數(shù)據(jù) 诚隙?

114. 什么是 ORM 久又?它如何工作 ?

115. 屏幕旋轉(zhuǎn)時如何保存 Activity 狀態(tài) 炉峰?

116. 你的應(yīng)用中保存數(shù)據(jù)的不同方式 脉执?

Look and feel

117. 什么是 Spannable 半夷?

內(nèi)存優(yōu)化

118. 什么是 onTrimMemory() 方法 ?

119. OutOfMemory 是如何發(fā)生的 淘邻?

120. 在 Android 中你是如何找到內(nèi)存泄漏的 ?

電量優(yōu)化

121. 在 Android 中如何降低電量消耗 贴浙?

122. 什么是 Doze 署恍?應(yīng)用支持如何 ?

123. 什么是過度繪制 盯质?

Supporting Different Screen Sizes

124. 你是如何進行屏幕適配的 ?

Permissions

125. 權(quán)限中有哪些不同的保護級別 ?

Native Programming

126. 什么是 NDK 呼巷,它的作用是什么 王悍?

127. 什么是 renderscript 餐曼?

Android System Internal

128. 什么是 Dalvik Virtual Machine 源譬?

129. JVM, DVM 和 ART 區(qū)別

130. Dalvik 和 ART 區(qū)別

131. 什么是 Dex?

132. 你可以手動調(diào)用垃圾回收嗎 刮刑?

Debugging and Programming Tools

133. 什么是 ADB 雷绢?

134. 什么是 DDMS ?你可以用它干什么 胶惰?

135. 什么是 StrictMode ?

136. 什么是 lint 霞溪? 它的作用是什么 孵滞?

Others

137. 為什么使用 Bundle 傳遞數(shù)據(jù) ? 為什么不使用 Map 鸯匹?

138. 你是如何解決應(yīng)用中的 crash 的 坊饶?

139. 說說 Android 通知 體系

140. Serializable 和 Parcelable 區(qū)別 ? Android 中使用哪個更好 殴蓬?

141. 開發(fā)過 widgets 嗎 匿级?

142. 什么是 AAPT ?

143. 定時刷新頁面的最好方法是什么 染厅?

144. FlatBuffers 和 JSON

145. HashMap, ArrayMap 和 SparseArray

146. 什么是注解 痘绎?

147. android 中如何處理 multi-touch 肖粮?

148. 如何實現(xiàn) XML 命名空間 孤页?

149. 什么是 support library ?以及為什么引入 涩馆?

150. 什么是 Android Data Binding 行施?

151. 什么是 Android Architecture Components ?

152. 如何使用 RxJava 操作符實現(xiàn)查找 ?

架構(gòu)

153. 描述一下你最近開發(fā)的 App 使用的架構(gòu)

154. 說說 MVP

155. 什么是 Presenter 魂那?

156. 什么是 Model 蛾号?

157. 說說 MVC

158. 說說 MVI

159. 說說 Repository pattern

160. 什么是 Controller ?

161. Tell something about clean code

Android 測試驅(qū)動開發(fā)

162. 什么是 Espresso 涯雅?

163. 什么是 Robolectric 鲜结?

164. 使用 Robolectric 的缺點是什么 ?

165. 什么是 UI-Automator 活逆?

166. 說說單元測試

167. 說說自動化測試

168. 你進行過單元測試或者自動化測試嗎 精刷?

169. 為什么使用 Mockito ?

其他

170. 什么是 Android Jetpack 划乖?

171. 說說 REST APIs 如何工作的

172. 說說其他的 Web Api 架構(gòu)

173. 說說數(shù)據(jù)庫贬养,Sqlite

174. 關(guān)于項目管理工具,trello, basecamp, kanban, jira, asana

175. 關(guān)于構(gòu)建系統(tǒng)琴庵, gradle, maven, ant, buck

176. 應(yīng)用多 Apk 文件

177. 反編譯 Apk

178. ProGuard 被用來做什么 误算?

179. 什么是混淆 仰美? 它的作用是什么 ? minification 呢 儿礼?

180. 你如何構(gòu)建 release 安裝包 咖杂?

181. 你如何控制對于特定用戶的版本更新 ?

182. 我們可以找出已經(jīng)卸載我們的應(yīng)用的用戶嗎 蚊夫?

183. Apk 文件大小優(yōu)化

184. 你嘗試過 Kotlin 嗎 诉字?

185. 在開發(fā)過程中如何持續(xù)監(jiān)測各種指標 ?

186. 什么是 Chrome Custom Tabs 知纷? 如何在你的 app 中展示網(wǎng)頁內(nèi)容 壤圃?

數(shù)據(jù)結(jié)構(gòu)這塊的題目不是很詳細,就沒有加上來琅轧。其他的根據(jù)實際情況作了部分刪減伍绳,共計 186 題。

最后

喜歡的話可以關(guān)注一下哦乍桂,會每天更新android相關(guān)的文章冲杀。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市睹酌,隨后出現(xiàn)的幾起案子权谁,更是在濱河造成了極大的恐慌,老刑警劉巖憋沿,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旺芽,死亡現(xiàn)場離奇詭異,居然都是意外死亡卤妒,警方通過查閱死者的電腦和手機甥绿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門字币,熙熙樓的掌柜王于貴愁眉苦臉地迎上來则披,“玉大人,你說我怎么就攤上這事洗出∈扛矗” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵翩活,是天一觀的道長阱洪。 經(jīng)常有香客問我,道長菠镇,這世上最難降的妖魔是什么冗荸? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮利耍,結(jié)果婚禮上蚌本,老公的妹妹穿的比我還像新娘盔粹。我一直安慰自己,他們只是感情好程癌,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布舷嗡。 她就那樣靜靜地躺著,像睡著了一般嵌莉。 火紅的嫁衣襯著肌膚如雪进萄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天锐峭,我揣著相機與錄音中鼠,去河邊找鬼。 笑死沿癞,一個胖子當著我的面吹牛兜蠕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播抛寝,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼熊杨,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了盗舰?” 一聲冷哼從身側(cè)響起晶府,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎钻趋,沒想到半個月后川陆,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡蛮位,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年较沪,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片失仁。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡尸曼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出萄焦,到底是詐尸還是另有隱情控轿,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布拂封,位于F島的核電站茬射,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏冒签。R本人自食惡果不足惜在抛,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望萧恕。 院中可真熱鬧刚梭,春花似錦档悠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至磨德,卻和暖如春缘回,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背典挑。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工酥宴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人您觉。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓拙寡,卻偏偏與公主長得像,于是被迫代替她去往敵國和親琳水。 傳聞我的和親對象是個殘疾皇子肆糕,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

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