Android學習進階--轉載

  1. (一) java基礎面試知識點
  2. java中==和equals和hashCode的區別
  3. 探探對java多態的理解:重載和重寫
  4. String、StringBuffer、StringBuilder區別:StringBuffer 線程安全,StringBuilder單線程中效率高。
  5. 什麼是內部類?內部類的作用
  6. 抽象類是否可以沒有方法和屬性:可以。
  7. 泛型中extends和super的區別
  8. 父類的靜態方法能否被子類重寫:不能
  9. 進程和線程的區別:進程是操作系統資源分配的基本單位(運行時分配單獨內存空間),而線程是任務調度和執行的基本單位。
  10. final,finally,finalize的區別
  11. Serializable 和Parcelable 的區別
  12. 靜態屬性和靜態方法是否可以被繼承?是否可以被重寫?以及原因?
  13. 靜態內部類的設計意圖
  14. 成員內部類、靜態內部類、局部內部類和匿名內部類的理解,以及項目中的應用
  15. 談談對kotlin的理解
  16. 閉包和局部內部類的區別
  17. string 轉換成 integer的方式及原理:依次讀取每個字符,根據進制轉換爲整數。
  18. (二) java深入源碼級的面試題(有難度)
  19. 哪些情況下的對象會被垃圾回收機制處理掉?
  20. 靜態代理和動態代理的區別,什麼場景使用? 動態代理是在運行時,通過反射機制實現動態代理,並且能夠代理各種類型的對象,複用性強。面向切面編程。
  21. Java的異常體系:Throwable是所有異常的父類,分Error好Exception;Error表示很嚴重的問題發生了,可以捕獲但是不要捕獲,因爲捕獲了也解決不了,這個不是由程序產出的,底層出現問題就讓他它掛了吧。
  22. 談談你對解析與分派的認識。Class 文件的常量池中存有大量的符號引用,字節碼中的方法調用指令就以常量池中指向方法的符號引用作爲參數。這些符號引用一部分會在類加載階段或者第一次使用的時候就轉化爲直接引用,這種轉化稱爲靜態解析。另一部分將在每次運行期間轉化爲直接引用,稱爲動態連接(動態分派)。
  23. 如何將一個Java對象序列化到文件裏:Serializable。
  24. 說說你對Java反射的理解:可以在運行時獲取和使用類的信息,用invoke 方法。
  25. 說說你對Java註解的理解: 對程序代碼本身的描述-代碼元數據,一種約定的規範,包括格式、意義、作用域等。主要作用:生成文檔,代碼分析,編譯檢查。
  26. 說說你對依賴注入的理解:控制反轉、依賴注入。把方法實施的主題當參數傳入。
  27. String爲什麼要設計成不可變的:字符串常量池的需要,允許String 對象緩存hashcode(效率優化),安全性。
  28. Object類的equal和hashCode方法重寫,爲什麼?
  29. (三) 數據結構
  30.  
  1.  
  1. 數據結構
  1. 線程安全性
  1. 使用場景
  1. 備註
  1. List
  1.  
  1.  
  1.  
  1.  
  1. LinkedList
  1. 雙向鏈表
  1. 非同步
  1.  
  1.  如何實現線程安全?用Collections.synchronizedListConcurrentLinkedQueue
  1. ArrayList
  1. 數組
  1. 非同步
  1.  
  1.  
  1. Vector
  1. 數組
  1. 同步
  1.  
  1.  
  1. Stack
  1. 繼承自Vector
  1.  
  1.  
  1. 後進先出的堆棧
  1. Map
  1.  
  1.  
  1.  
  1.  
  1. HashTable
  1. 繼承Dictionary
  1. 同步
  1.  
  1. Null不能做鍵和值
  1. HashMap
  1. 基於Hash表,哈希表底層採用數組+鏈表。
  1. 非同步
  1. 單一線程
  1. Null能做鍵和值
  1. ConcurrentHashMap
  1. Segment數組結構和HashEntry數組結構組成,分段鎖機制。
  1. 同步
  1.  
  1. 效率更高
  1. SparseArray
  1.  
  1.  
  1. 數據量小於1000時,替代HashMap
  1.  
  1. ArrayMap
  1. 兩個數組,mHashs和mArrays,mHash是key的hash值,是從小到大排列,查找時用二分法找到key的index,再判斷是否與目標key相同。mArrays是key和values,長度爲mHashs的兩倍。
  1.  
  1. 相比於HashMap,更適合小數據
  1.  
  1. LinkedHashMap
  1.  
  1.  
  1.  
  1.  
  1. TreeMap
  1. 依託於紅黑樹
  1.  
  1. 相比於HashMap適合排序時使用
  1.  
  1. Set
  1.  
  1.  
  1.  
  1.  
  1. HashSet
  1. 基於HashMap實現,哈希表底層採用數組+鏈表。
  1.  
  1.  
  1. 無序
  1. LinkedHashSet
  1. 鏈表和哈希表的組合
  1.  
  1.  
  1. 有序
  1. 定點和邊
  1.  
  1.  
  1. 分有序圖,無序圖
  1. 列舉java的集合以及集合之間的繼承關係
  2. 集合類以及集合框架
  3. 容器類介紹以及之間的區別(容器類估計很多人沒聽這個詞,Java容器主要可以劃分爲4個部分:List列表、Set集合、Map映射、工具類(Iterator迭代器、Enumeration枚舉類、Arrays和Collections),具體的可以看看這篇博文 Java容器類)
  4. List,Set,Map的區別
  5. HashMap的實現原理
  6. HashMap源碼理解
  7. HashMap如何put數據(從HashMap源碼角度講解)?
  8. HashMap怎麼手寫實現?
  9. ConcurrentHashMap的實現原理
  10. HashTable實現原理
  11. TreeMap具體實現
  12. HashMap和HashTable的區別
  13. HashMap與HashSet的區別
  14. HashSet與HashMap怎麼判斷集合元素重複?
  15. 集合Set實現Hash怎麼防止碰撞
  16. ArrayList和LinkedList的區別,以及應用場景
  17. 二叉樹的深度優先遍歷和廣度優先遍歷的具體實現
  18. 堆和樹的區別:堆是一種特殊的樹。
  19. 堆和棧在內存中的區別是什麼(解答提示:可以從數據結構方面以及實際實現方面兩個方面去回答)?
  20. 什麼是深拷貝和淺拷貝:淺拷貝是拷貝地址,深拷貝是複製一份同樣的數據。
  21. 手寫鏈表逆序代碼
  22. 講一下對樹,B+樹的理解
  23. 講一下對圖的理解
  24. 判斷單鏈表成環與否?
  25. 鏈表翻轉(即:翻轉一個單項鍊表)
  26. 合併多個單有序鏈表(假設都是遞增的)
  27. (四) 線程、多線程和線程池
  28. 開啓線程的三種方式:Thread, Runnable, 使用Callable和Future創建線程。
  29. 線程和進程的區別:進程是操作系統資源分配的基本單位(獨立的內存),而線程是任務調度和執行的基本單位。
  30. 爲什麼要有線程,而不是僅僅用進程:進程只能在一個時間幹一件事情,如果堵塞了,整個進程就會掛起。線程有助於併發,提高利用率。
  31. run()和start()方法區別:直接調用run是在本線程中,
  32. 如何控制某個方法允許併發訪問線程的個數:利用Semaphore
  33. 在Java中wait和seelp方法的不同;sleep()方法是屬於Thread類中的。而wait()方法則是屬於Object類中。調用sleep後不會釋放鎖,wait會釋放。
  34. 談談wait/notify關鍵字的理解:在生產者調用notify()後,消費者並沒有立即被喚醒,而是等到生產者退出同步塊後才喚醒執行。
  35. 什麼導致線程阻塞? sleep,wait, yield,join, suspend。
  36. 線程如何關閉? 設置標誌位,調用interrupt方法。
  37. 講一下java中的同步的方法:synchronized,volatile,重入鎖,wait與notify,ThreadLocal,BlockingQueue,AtomicInteger 原子變量。
  38. 數據一致性如何保證?
  39. 如何保證線程安全?
  40. 兩個進程同時要求寫或者讀,能不能實現?如何防止進程的同步?
  41. 線程間操作List
  42. Java中對象的生命週期
  43. Synchronized用法:鎖對象,方法(包括靜態方法),代碼塊,
  44. synchronize的原理
  45. 談談對Synchronized關鍵字,類鎖,方法鎖,重入鎖的理解
  46. static synchronized 方法的多線程訪問和作用
  47. 同一個類裏面兩個synchronized方法,兩個線程同時訪問的問題。不可以。
  48. 談談NIO的理解(先忽略)
  49. synchronized 和volatile 關鍵字的區別
  50. synchronized與Lock的區別
  51. ReentrantLock 、synchronized和volatile比較:syncrhronized 使用簡單,ReentrantLock 在競爭激烈時效率更高。
  52. ReentrantLock的內部實現
  53. lock原理
  54. 死鎖的四個必要條件:互斥、佔用且等待、不可搶佔、循環等待。
  55. 怎麼避免死鎖?主要是破壞後面三種情況。
    1. 不允許進程在已獲得某種資源的情況下,申請其他資源。
    2. 允許對資源進行搶奪。
    3. 將系統中的所有資源統一編號,進程可在任何時刻提出資源申請,但所有申請必須按照資源的編號順序(升序)提出。
  56. 什麼是線程池,如何使用: java.util.concurrent.Executors
  57. Java的併發、多線程、線程模型。線程模型:使用內核線程實現、使用用戶線程實現和使用用戶線程加輕量級進程混合實現。參考:https://www.cnblogs.com/wade-luffy/p/6051384.html
  58. 多線程有什麼要注意的問題?
  59. 談談你對多線程同步機制的理解?
  60. 如何保證多線程讀寫文件的安全?
  61. (五)併發編程有關知識點(這個是一般Android開發用的少的,所以建議多去看看):
  62. 平時Android開發中對併發編程可以做得比較少,Thread這個類經常會用到,但是我們想提升自己的話,一定不能停留在表面,,我們也應該去了解一下java的關於線程相關的源碼級別的東西。
  63. 附;java進階與Android內核技術大綱
  64. image
  65. 二、Android面試題
  66. Android面試題包括Android基礎,還有一些源碼級別的、原理這些等。所以想去大公司面試,一定要多看看源碼和實現方式,常用框架可以試試自己能不能手寫實現一下,鍛鍊一下自己。
  67. (一)Android基礎知識點
  68. 四大組件的生命週期和簡單用法
  69. Activity各種情況下的生命週期
  70. Activity與Fragment之間生命週期比較
  71. Activity上有Dialog的時候按Home鍵時的生命週期
  72. 前臺切換到後臺,然後再回到前臺,Activity生命週期回調方法。彈出Dialog,生命值週期回調方法。
  73. Activity的四種啓動模式對比
  74. Activity狀態保存與恢復:複寫onSaveInstanceState和onRestoreInstanceState
  75. fragment各種情況下的生命週期
  76. Fragment狀態保存startActivityForResult是哪個類的方法,在什麼情況下使用?
  77. 如何實現Fragment的滑動:ViewPager
  78. fragment之間傳遞數據的方式?
  79. Activity 怎麼和Service 綁定?
  80. 怎麼在Activity 中啓動自己對應的Service?
  81. service和activity怎麼進行數據交互
  82. Service的開啓方式
  83. 請描述一下Service 的生命週期
  84. ContentProvider的原理
  85. 說說ContentProvider、ContentResolver、ContentObserver 之間的關係
  86. 請描述一下廣播BroadcastReceiver的理解
  87. 廣播使用的方式和場景
  88. BroadcastReceiver,LocalBroadcastReceiver 區別
  89. AlertDialog,popupWindow,Activity區別
  90. Application 和 Activity 的 Context 對象的區別
  91. 如何導入外部數據庫?
  92. 談談對接口與回調的理解
  93. 介紹下SurfView
  94. RecycleView的使用
  95. 序列化的作用,以及Android兩種序列化的區別
  96. 差值器
  97. 估值器
  98. Android中數據存儲方式
  99. (二)Android源碼相關分析
  100. Android動畫框架實現原理
  101. Android各個版本API的區別
  102. Requestlayout,onlayout,onDraw,DrawChild區別與聯繫
  103. invalidate和postInvalidate的區別及使用
  104. Activity-Window-View三者的差別
  105. 談談對Volley的理解
  106. 如何優化自定義View
  107. 低版本SDK如何實現高版本api?
  108. 描述一次網絡請求的流程
  109. HttpUrlConnection 和 okhttp關係
  110. Bitmap對象的理解
  111. looper架構
  112. ActivityThread,AMS,WMS的工作原理
  113. 自定義View的事件
  114. AstncTask+HttpClient 與 AsyncHttpClient有什麼區別?
  115. LaunchMode應用場景
  116. AsyncTask 如何使用?
  117. SpareArray原理
  118. 請介紹下ContentProvider 是如何實現數據共享的?
  119. AndroidService與Activity之間通信的幾種方式
  120. IntentService原理及作用是什麼?
  121. 說說Activity、Intent、Service 是什麼關係
  122. ApplicationContext和ActivityContext的區別
  123. SP是進程同步的嗎?有什麼方法做到同步?
  124. 談談多線程在Android中的使用
  125. 進程和 Application 的生命週期
  126. 封裝View的時候怎麼知道view的大小
  127. RecycleView原理
  128. AndroidManifest的作用與理解
  129. (三)常見的一些原理性問題
  130. Handler機制和底層實現
  131. Handler、Thread和HandlerThread的差別
  132. handler發消息給子線程,looper怎麼啓動?
  133. 關於Handler,在任何地方new Handler 都是什麼線程下?
  134. ThreadLocal原理,實現及如何保證Local屬性?
  135. 請解釋下在單線程模型中Message、Handler、Message Queue、Looper之間的關係
  136. 請描述一下View事件傳遞分發機制
  137. Touch事件傳遞流程
  138. 事件分發中的onTouch 和onTouchEvent 有什麼區別,又該如何使用?
  139. View和ViewGroup分別有哪些事件分發相關的回調方法
  140. View刷新機制
  141. View繪製流程
  142. 自定義控件原理
  143. 自定義View如何提供獲取View屬性的接口?
  144. Android代碼中實現WAP方式聯網
  145. AsyncTask機制
  146. AsyncTask原理及不足
  147. 如何取消AsyncTask?
  148. 爲什麼不能在子線程更新UI?
  149. ANR產生的原因是什麼?
  150. ANR定位和修正
  151. 有什麼解決方法可以避免OOM?
  152. Oom 是否可以try catch?爲什麼?
  153. 內存泄漏是什麼?
  154. 什麼情況導致內存泄漏?
  155. 如何防止線程的內存泄漏?
  156. 內存泄露場的解決方法
  157. 內存泄漏和內存溢出區別?
  158. LruCache默認緩存大小
  159. ContentProvider的權限管理(解答:讀寫分離,權限控制-精確到表級,URL控制)
  160. 如何通過廣播攔截和abort一條短信?
  161. 廣播是否可以請求網絡?
  162. 計算一個view的嵌套層級
  163. Activity棧
  164. Android線程有沒有上限?
  165. 線程池有沒有上限?
  166. ListView重用的是什麼?
  167. (四)開發中常見的一些問題
  168. ListView 中圖片錯位的問題是如何產生的?
  169. 混合開發有了解嗎?
  170. 知道哪些混合開發的方式?說出它們的優缺點和各自使用場景?(解答:比如:RN,weex,H5,小程序,WPA等。做Android的瞭解一些前端js等還是很有好處的);
  171. 服務器只提供數據接收接口,在多線程或多進程條件下,如何保證數據的有序到達?
  172. 動態佈局的理解
  173. 怎麼去除重複代碼? 抽象積累,佈局文件,style等。
  174. Recycleview和ListView的區別
  175. ListView圖片加載錯亂的原理和解決方案
  176. 下拉狀態欄是不是影響activity的生命週期:不會。
  177. 如果在onStop的時候做了網絡請求,onResume的時候怎麼恢復?
  178. Bitmap 使用時候注意什麼?
  179. Bitmap的recycler()
  180. Android中開啓攝像頭的主要步驟
  181. ViewPager使用細節,如何設置成每次只初始化當前的Fragment,其他的不初始化?
  182. 點擊事件被攔截,但是想傳到下面的View,如何操作?
  183. 微信主頁面的實現方式
  184. 微信上消息小紅點的原理
  185. CAS介紹(這是阿里巴巴的面試題,我不是很瞭解,可以參考博客: CAS簡介)
  186. 附;AndroidAPP開發框架技術體系大綱;
  187. image
  188. 三、高級開發技術面試題
  189. 這裏講的是大公司需要用到的一些高端Android技術,這裏專門整理了一個文檔,希望大家都可以看看。這些題目有點技術含量,需要好點時間去研究一下的。
  190. (一)圖片
  191. 圖片庫對比
  192. 圖片庫的源碼分析
  193. 圖片框架緩存實現
  194. LRUCache原理
  195. 圖片加載原理
  196. 自己去實現圖片庫,怎麼做?
  197. Glide源碼解析
  198. Glide使用什麼緩存?
  199. Glide內存緩存如何控制大小?
  200. (二)網絡和安全機制
  201. 網絡框架對比和源碼分析
  202. 自己去設計網絡請求框架,怎麼做?
  203. okhttp源碼
  204. 網絡請求緩存處理,okhttp如何處理網絡緩存的
  205. 從網絡加載一個10M的圖片,說下注意事項
  206. TCP的3次握手和四次揮手
  207. TCP與UDP的區別
  208. TCP與UDP的應用
  209. HTTP協議
  210. HTTP1.0與2.0的區別
  211. HTTP報文結構
  212. HTTP與HTTPS的區別以及如何實現安全性
  213. 如何驗證證書的合法性?
  214. https中哪裏用了對稱加密,哪裏用了非對稱加密,對加密算法(如RSA)等是否有了解?
  215. client如何確定自己發送的消息被server收到?
  216. 談談你對WebSocket的理解
  217. WebSocket與socket的區別
  218. 談談你對安卓簽名的理解。
  219. 請解釋安卓爲啥要加簽名機制?
  220. 視頻加密傳輸
  221. App 是如何沙箱化,爲什麼要這麼做?
  222. 權限管理系統(底層的權限是如何進行 grant 的)?
  223. (三)數據庫
  224. sqlite升級,增加字段的語句
  225. 數據庫框架對比和源碼分析
  226. 數據庫的優化
  227. 數據庫數據遷移問題
  228. (四)算法
  229. 排序算法有哪些?
  230. 最快的排序算法是哪個?
  231. 手寫一個冒泡排序
  232. 手寫快速排序代碼
  233. 快速排序的過程、時間複雜度、空間複雜度
  234. 手寫堆排序
  235. 堆排序過程、時間複雜度及空間複雜度
  236. 寫出你所知道的排序算法及時空複雜度,穩定性
  237. 二叉樹給出根節點和目標節點,找出從根節點到目標節點的路徑
  238. 給阿里2萬多名員工按年齡排序應該選擇哪個算法?
  239. GC算法(各種算法的優缺點以及應用場景)
  240. 蟻羣算法與蒙特卡洛算法
  241. 子串包含問題(KMP 算法)寫代碼實現
  242. 一個無序,不重複數組,輸出N個元素,使得N個元素的和相加爲M,給出時間複雜度、空間複雜度。手寫算法
  243. 萬億級別的兩個URL文件A和B,如何求出A和B的差集C(提示:Bit映射->hash分組->多文件讀寫效率->磁盤尋址以及應用層面對尋址的優化)
  244. 百度POI中如何試下查找最近的商家功能(提示:座標鏡像+R樹)。
  245. 兩個不重複的數組集合中,求共同的元素。
  246. 兩個不重複的數組集合中,這兩個集合都是海量數據,內存中放不下,怎麼求共同的元素?
  247. 一個文件中有100萬個整數,由空格分開,在程序中判斷用戶輸入的整數是否在此文件中。說出最優的方法
  248. 一張Bitmap所佔內存以及內存佔用的計算
  249. 2000萬個整數,找出第五十大的數字?
  250. 燒一根不均勻的繩,從頭燒到尾總共需要1個小時。現在有若干條材質相同的繩子,問如何用燒繩的方法來計時一個小時十五分鐘呢?
  251. 求1000以內的水仙花數以及40億以內的水仙花數
  252. 5枚硬幣,2正3反如何劃分爲兩堆然後通過翻轉讓兩堆中正面向上的硬8幣和反面向上的硬幣個數相同
  253. 時針走一圈,時針分針重合幾次
  254. N*N的方格紙,裏面有多少個正方形
  255. x個蘋果,一天只能吃一個、兩個、或者三個,問多少天可以吃完?
  256. (五)插件化、模塊化、組件化、熱修復、增量更新、Gradle
  257. 對熱修復和插件化的理解
  258. 插件化原理分析
  259. 模塊化實現(好處,原因)
  260. 熱修復,插件化
  261. 項目組件化的理解
  262. 描述清點擊 Android Studio 的 build 按鈕後發生了什麼
  263. (六)架構設計和設計模式
  264. 談談你對Android設計模式的理解
  265. MVC MVP MVVM原理和區別
  266. 你所知道的設計模式有哪些?
  267. 項目中常用的設計模式
  268. 手寫生產者/消費者模式
  269. 寫出觀察者模式的代碼
  270. 適配器模式,裝飾者模式,外觀模式的異同?
  271. 用到的一些開源框架,介紹一個看過源碼的,內部實現過程。
  272. 談談對RxJava的理解
  273. RxJava的功能與原理實現
  274. RxJava的作用,與平時使用的異步操作來比的優缺點
  275. 說說EventBus作用,實現方式,代替EventBus的方式
  276. 從0設計一款App整體架構,如何去做?
  277. 說一款你認爲當前比較火的應用並設計(比如:直播APP,P2P金融,小視頻等)
  278. 談談對java狀態機理解
  279. Fragment如果在Adapter中使用應該如何解耦?
  280. Binder機制及底層實現
  281. 對於應用更新這塊是如何做的?(解答:灰度,強制更新,分區域更新)?
  282. 實現一個Json解析器(可以通過正則提高速度)
  283. 統計啓動時長,標準
  284. (七)性能優化
  285. 如何對Android 應用進行性能分析以及優化?
  286. ddms 和 traceView
  287. 性能優化如何分析systrace?
  288. 用IDE如何分析內存泄漏?
  289. Java多線程引發的性能問題,怎麼解決?
  290. 啓動頁白屏及黑屏解決?
  291. 啓動太慢怎麼解決?
  292. 怎麼保證應用啓動不卡頓?
  293. App啓動崩潰異常捕捉
  294. 自定義View注意事項
  295. 現在下載速度很慢,試從網絡協議的角度分析原因,並優化(提示:網絡的5層都可以涉及)。
  296. Https請求慢的解決辦法(提示:DNS,攜帶數據,直接訪問IP)
  297. 如何保持應用的穩定性
  298. RecyclerView和ListView的性能對比
  299. ListView的優化
  300. RecycleView優化
  301. View渲染
  302. Bitmap如何處理大圖,如一張30M的大圖,如何預防OOM
  303. java中的四種引用的區別以及使用場景
  304. 強引用置爲null,會不會被回收?
  305. (八)NDK、jni、Binder、AIDL、進程通信有關
  306. 請介紹一下NDK
  307. 什麼是NDK庫?
  308. jni用過嗎?
  309. 如何在jni中註冊native函數,有幾種註冊方式?
  310. Java如何調用c、c++語言?
  311. jni如何調用java層代碼?
  312. 進程間通信的方式?
  313. Binder機制
  314. 簡述IPC?
  315. 什麼是AIDL?
  316. AIDL解決了什麼問題?
  317. AIDL如何使用?
  318. Android 上的 Inter-Process-Communication 跨進程通信時如何工作的?
  319. 多進程場景遇見過麼?
  320. Android進程分類?
  321. 進程和 Application 的生命週期?
  322. 進程調度
  323. 談談對進程共享和線程安全的認識
  324. 談談對多進程開發的理解以及多進程應用場景
  325. 什麼是協程?
  326. (九)framework層、ROM定製、Ubuntu、Linux之類的問題
  327. java虛擬機的特性
  328. 談談對jvm的理解
  329. JVM內存區域,開線程影響哪塊內存
  330. 對Dalvik、ART虛擬機有什麼瞭解?
  331. Art和Dalvik對比
  332. 虛擬機原理,如何自己設計一個虛擬機(內存管理,類加載,雙親委派)
  333. 談談你對雙親委派模型理解
  334. JVM內存模型,內存區域
  335. 類加載機制
  336. 談談對ClassLoader(類加載器)的理解
  337. 談談對動態加載(OSGI)的理解
  338. 內存對象的循環引用及避免
  339. 內存回收機制、GC回收策略、GC原理時機以及GC對象
  340. 垃圾回收機制與調用System.gc()區別
  341. Ubuntu編譯安卓系統
  342. 系統啓動流程是什麼?(提示:Zygote進程 –> SystemServer進程 –> 各種系統服務 –> 應用進程)
  343. 大體說清一個應用程序安裝到手機上時發生了什麼
  344. 簡述Activity啓動全部過程
  345. App啓動流程,從點擊桌面開始
  346. 邏輯地址與物理地址,爲什麼使用邏輯地址?
  347. Android爲每個應用程序分配的內存大小是多少?
  348. Android中進程內存的分配,能不能自己分配定額內存?
  349. 進程保活的方式
  350. 如何保證一個後臺服務不被殺死?(相同問題:如何保證service在後臺不被kill?)比較省電的方式是什麼?
  351. App中喚醒其他進程的實現方式
  352. 附;性能調優+前沿技術+NDK技術大綱
  353. image
  354. 四、跨平臺Hybrid 開發
  355. flutter
  356. Html5項目實戰
  357. HTML&CSS&JavaScript 實戰
  358. WordPress搭建網站項目實戰
  359. 前端Vue架構
  360. 前端樣式開發
  361. Weex內置能力
  362. Weex原生應用
  363. Weex擴展框架
  364. WeexUI架構
  365. 介紹你做過的哪些項目
  366. 都使用過哪些框架、平臺?
  367. 都使用過哪些自定義控件?
  368. 研究比較深入的領域有哪些?
  369. 對業內信息的關注渠道有哪些?
  370. 最近都讀哪些書?
  371. 有沒有什麼開源項目?
  372. 自己最擅長的技術點,最感興趣的技術領域和技術點
  373. 項目中用了哪些開源庫,如何避免因爲引入開源庫而導致的安全性和穩定性問題
  374. 實習過程中做了什麼,有什麼產出?
  375. 附;跨平臺Hybrid 開發技術大綱
  376.  
  377.  
  378. 作者:Android高級架構
  379. 鏈接:https://www.jianshu.com/p/e6702d61eec9
  380. 來源:簡書
  381. 簡書著作權歸作者所有,任何形式的轉載都請聯繫作者獲得授權並註明出處。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章