Android高級開發崗必問知識點👍

前言:

想必現在有許多朋友,都在爲年後的春招做準備,不知道各位朋友是否十足的把握能拿到自己心儀的Offer呢?

筆者前幾天內推剛剛收穫了騰訊高級開發崗的offer,得益於內推朋友面試時的面試經驗,照着他給的方向複習刷題,順利的通過了面試。在這裏也無償分享給廣大網友們,希望也能幫助到你們年後的面試。如果覺得文章不錯,煩請點個關注轉發,謝謝!

Android高級知識點

一、Android性能優化

1.描述一下android的系統架構?

2.Android線程間通信有哪幾種方式

3. 如何避免OOM異常

4.Android程序運行時權限與文件系統權限的區別?

5.Hybrid 通信原理是什麼,有做研究嗎?

6.Framework工作方式及原理,Activity是如何生成一個view的,機制是什麼

7.ANR是什麼?怎樣避免和解決ANR

8.Devik進程,linux進程,線程的區別

9.卡頓 {如何檢測卡頓,卡頓原理是什麼,怎麼判斷頁面響應卡頓還是邏輯處理造成的卡頓} ,BlockCanary 的原理

二、Android熱修復、插件化、組件化

1.談談對 ClassLoader 的理解

2.自定義 ClassLoader

3.插件化爲什麼會出現,如何代碼加載,資源加載,代理 Hook)

4.如何從一個老項目一步步實現組件化,主要問思路,考察架構能力和思考能力。(需要考慮很多,每一步做什麼,順序很重要)

5.組件化和模塊化的理解與區別?

6.class文件加載Dex原理

7.Gradle自動補丁包生成原理

三、Android Framework、 ROM定製、Ubuntu、Linux之類的問題

1.Binder 機制(IPC、AIDL 的使用)

2.Activity 啓動流程,App 啓動流程

3.Android 圖像顯示相關流程,Vsync 信號等

4.爲什麼使用 Parcelable,好處是什麼

5.AMS 、PMS

6.類加載機制

7.Ubuntu編譯安卓系統

8.對Dalvik、ART虛擬機有什麼瞭解?

9.JVM內存區域,開線程影響哪塊內存

四、架構設計和設計模式

1.MVC MVP MVVM原理和區別

2.項目中常用的設計模式

3.說說EventBus作用,實現方式,代替EventBus的方式

4.Fragment如果在Adapter中使用應該如何解耦?

5.實現一個Json解析器(可以通過正則提高速度)

6.從0設計一款App整體架構,如何去做?

7.Fragment如果在Adapter中使用應該如何解耦?

8.談談你對Android設計模式的理解


五、算法

1.手寫一個冒泡排序

2.快速排序的過程、時間複雜度、空間複雜度

3.蟻羣算法與蒙特卡洛算法

4.兩個不重複的數組集合中,求共同的元素。

5.2000萬個整數,找出第五十大的數字?

6.求1000以內的水仙花數以及40億以內的水仙花數

7.寫出你所知道的排序算法及時空複雜度,穩定性

8.二叉樹給出根節點和目標節點,找出從根節點到目標節點的路徑

六、網絡和安全機制

1.TCP的3次握手和四次揮手

2.HTTP與HTTPS的區別以及如何實現安全性

3.App 是如何沙箱化,爲什麼要這麼做?

4.談談你對WebSocket的理解

5.請解釋安卓爲啥要加簽名機制?

6.HTTP1.0與2.0的區別

7.視頻加密傳輸

8.https中哪裏用了對稱加密,哪裏用了非對稱加密,對加密算法(如RSA)等是否有了解?

七、Flutter相關

1.Flutter 中的生命週期

2.Widget 和 element 和 RenderObject 之間的關係?

3.Flutter中的Widget、State、Context 的核心概念?是爲了解決什麼問題?

4.State 對象的初始化流程?

5.講一下flutter的幾個特點/優缺點

6.Flutter 如何與 Android iOS 通信?

7.說一下什麼是狀態管理,爲什麼需要它?

8.說一下 BLoC 模式?

如果你有需要參考查閱的話,可以直接去我 GitHub上查看:https://github.com/733gh/GH-Android-Review-master

漫漫開發之路,我們只是其中的一小部分……

只有不斷的學習、進階,纔是我們的出路!纔跟得上時代的進步!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章