本篇是結合我之前面試別人的經驗,以及跟一些在BAT上班的朋友,討論總結出的一份很深的大公司需要用到的一些高端Android技術。這裏也專門整理了一個文檔,重點和難點都有詳細解析。這些題目有點技術含量,需要好點時間去研究一下的。
在文末有領取,收集整理了更多關於Android面試專題,包括初級,中級,高級不同水平以及不同專題所涉及到的常問範圍,及面試專題和答案和系統學習視頻資料,免費分享給大家,省去網上到處搜索資料的麻煩,文末有領取!
目錄
一.專題講解——Activity組件
二.專題講解——Service組件
三.專題講解——BoradcastReceiver組件
四.專題講解——ContentProvider(內容提供者)組件
五.專題講解——Fragment
六. 專題講解——ViewPager
七. 專題講解——Android的事件傳遞(分發)機制
八.專題講解—— Bitmap的使用及內存優化
九.專題講解——使用View繪製視圖
十.專題講解——Android內存泄漏及管理
十一.專題講解——Android設計模式之MVC
十二.專題講解——JVM運行原理詳解
十三.專題講解——Android平臺的虛擬機Dalvik
十四.專題講解——Java的內存分配
十五.專題講解——Android中的Binder機制
十六.專題講解——Android中的緩存機制
十七.專題講解——Android中的緩存機制
面試題
一.Activity組件
1、在Activity的生命週期中,可以將Activity表現爲3種狀態:
2、Activity生命週期中的7個方法:
3、Activity的四種啓動模式:
4、Activity任務棧:
5、默認Acctivity啓動方式的缺點:
二.Service組件
1、Service組件常被用於實現以下兩種功能(分別對應兩種啓動模式):
2、Service中常用的方法:
3、Service組件的生命週期:
4、Service的啓動模式詳解
三、BoradcastReceiver組件
1、廣播分爲有序廣播和無序廣播
2、註冊廣播接收器的方式:
3、配置文件中靜態註冊:
4、使用代碼動態註冊:
5、配置文件靜態註冊和在代碼中動態註冊兩種方式的區別
四、ContentProvider(內容提供者)組件
1、URI(統一資源標識符):
2、ContentProvider實現對外部程序數據操作的思路:
五、Fragment
1、Fragment的生命週期的方法:
2、Fragment中傳遞數據:
3、事務
4、管理Fragment:
六、ViewPager
1、ViewPager
2、FragmentPageAdapter和FragmentStatePagerAdapter的區別
3、綜合使用ViewPager、Fragment和FragmentPagerAdapter:
4、關於Fragment中的控件的事件的監聽:
5、當實現一個PagerAdapter時,需要重寫相關方法:
七、Android的事件傳遞(分發)機制
1、基礎概念:
2、事件的類型:
3、事件列:
4、事件分發的本質:
5、事件在哪些對象之間傳遞:
6、事件分發過程中協作完成的方法:
7、傳遞過程中的協作方法:
八、Bitmap的使用及內存優化
1、BitmapFactory
2、縮略圖:
3、將大尺寸圖片解析爲控件所指的尺寸的思路:
4、獲取控件寬高屬性的方法:
5、Bitmap的內存優化:
6、捕獲異常:
7、壓縮圖片:
九、使用View繪製視圖
1、View繪製的流程:
2、Canvas類:
3、Android中頁面的橫屏與豎屏操作:
4、獲取手機中屏幕的寬和高的方法:
十、Android內存泄漏及管理
1、內存溢出(out of memory)
2、內存泄漏(Memory Leak):
3、常發性內存泄漏:
4、偶發性內存泄漏:
5、一次性內存泄漏:
6、隱式內存泄漏:
7、常見造成內存泄漏的原因:
8、線程造成內存泄漏:
9、資源對象未關閉造成的內存泄漏:
10、內存泄漏的檢測工具:
十一.專題講解——Android設計模式之MVC
1、MVC
2、Model(模型):
3、View(視圖):
4、Controller(控制器):
十二.專題講解——JVM運行原理詳解
1、JVM簡析:
2、JVM基本概念
3、JVM的體系結構
4、JVM數據運行區詳解(棧管運行,堆管存儲):
十三.專題講解——Android平臺的虛擬機Dalvik
1、Dalvik概述:
2、Dalvik虛擬機(DVM)和Java 虛擬機(JVM)首要差別:
3、寄存器的概念:
4、棧的概念:
5、DVM進程的設計規則:
6、Android 應用程序的編譯:
7、Android ART模式簡介:
十四.專題講解——Java的內存分配
1、Java內存分配主要包括以下幾個區域:
2、Java內存分配中的棧:
3、Java內存分配中的堆:
4、Java內存分配中的常量池 (constant pool):
5、堆與棧:
十五.專題講解——Android中的Binder機制
1、Binder
2、Binder機制的目的
十六.專題講解——Android中的緩存機制
1、移動開發
2、實現原理:
3、Bitmap的緩存:
4、使用內存緩存:
5、使用磁盤緩存:
6、使用SQLite進行緩存:
7、文件緩存:
十七.專題講解——Android中的緩存機制
1、三級緩存:
2、三級緩存策略
3、三級緩存的原理:
4、具體的緩存策略
最後
從事五年的Android開發工程師了,不少人私下問我,2019年Android該怎麼學,現在的面試方向以及更多技巧方法等。關於這些面試題的詳解,以及更多不同水平階段,不同專題的面試題加答案,我這裏都有整理分類的文檔。並且還有系統的進階學習視頻資料,免費分享給大家。希望能幫助到你面試前的複習,且找到一個好的工作,也節省大家在網上搜索資料的時間來學習。