天天看點

鴻洋大神最新整理一線網際網路公司Android中進階面試題2019年終總結(附答案解析)

前言

前幾日看到了鴻洋大神整理的《Android 中進階面試必知必會》

https://mp.weixin.qq.com/s/17XeoP8DEj2KTnKCBv4H_A

,全文主要是整理了2019年度中進階安卓需要會的(或者說面試被頻繁問到的内容),整理總結很全面,要是再幫我附上答案整理就好了。

想到很多和我一樣的在2020年有跳槽的想法的人。是以有份參考答案可以省去大家不少時間去搜集整理,提高面試準備效率。

在這裡我針對鴻洋大神的提供的《Android 中進階面試必知必會》,花了一周的時間從網上搜集整理了一份參考答案解析,分享出來,如有錯誤,懇請評論指正。

Android 中進階面試整理目錄

1.Java 相關

2.Android 相關

3.Android Framework

4.三方源碼

5.算法與資料結構

6.項目&HR

Java 相關

1. 容器(HashMap、HashSet、LinkedList、ArrayList、數組等)

2. 記憶體模型

3. 垃圾回收算法(JVM)

4、垃圾回收機制和調用 System.gc()的差別?

5. 類加載過程(需要多看看,重在了解,對于熱修複和插件化比較重要)

6. 反射

7. 多線程和線程池

8. HTTP、HTTPS、TCP/IP、Socket通信、三次握手四次揮手過程

9. 設計模式(六大基本原則、項目中常用的設計模式、手寫單例等)

10. Java 四大引用

11. Java 的泛型

12. final、finally、finalize 的差別

13. 接口、抽象類的差別

鴻洋大神最新整理一線網際網路公司Android中進階面試題2019年終總結(附答案解析)

下載下傳位址:

https://shimo.im/docs/3Tvytq686Yyv83KX

Android 相關

1. 自定義 View

2. 事件攔截分發

3. 解決過的一些性能問題,在項目中的實際運用

4. 性能優化工具

5. 性能優化 (講講你自己項目中做過的性能優化)

6. Http[s]請求慢的解決辦法(DNS、攜帶資料、直接通路 IP)

7. 緩存自己如何實作(LRUCache 原理)

8. 圖形圖像相關:OpenGL ES 管線流程、EGL 的認識、Shader 相關

9. SurfaceView、TextureView、GLSurfaceView 差別及使用場景

10. 動畫、內插補點器、估值器(Android中的View動畫和屬性動畫 - 簡書、Android 動畫 介紹與使用)

11. MVC、MVP、MVVM

12. Handler、ThreadLocal、AsyncTask、IntentService 原理及應用

13. Gradle(Groovy 文法、Gradle 插件開發基礎)

14. 熱修複、插件化

15. 元件化架構思路

16. 系統打包流程

17. Android 有哪些存儲資料的方式。

18. SharedPrefrence 源碼和問題點;

19. sqlite 相關

20. 如何判斷一個 APP 在前台還是背景?

21. 混合開發

鴻洋大神最新整理一線網際網路公司Android中進階面試題2019年終總結(附答案解析)

Android Framework

1. AMS 、PMS

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

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

4. 為什麼使用 Parcelable,好處是什麼?

5. Android 圖像顯示相關流程,Vsync 信号等

鴻洋大神最新整理一線網際網路公司Android中進階面試題2019年終總結(附答案解析)

三方源碼

1. Glide :加載、緩存、LRU 算法 (如何自己設計一個大圖加載架構) (LRUCache 原理)

2. EventBus

3. LeakCanary

4. ARouter

5. 插件化(不同插件化機制原理與流派,優缺點。局限性)

6. 熱修複

7. RXJava (RxJava 的線程切換原理)

8. Retrofit (Retrofit 在 OkHttp 上做了哪些封裝?動态代理和靜态代理的差別,是怎麼實作的)

9. OkHttp

鴻洋大神最新整理一線網際網路公司Android中進階面試題2019年終總結(附答案解析)

算法與資料結構

1. 單連結清單:反轉、插入、删除

2. 雙連結清單:插入、删除

3. 手寫常見排序、歸并排序、堆排序

4. 二叉樹前序、中序、後序周遊

5. 最大 K 問題

6. 廣度、深度優先搜尋算法

7. String 轉 int。核心算法就三行代碼,不過臨界條件很多,除了判空,還需要注意負數、Integer 的最大最小值邊界等;

8. 如何判斷一個單連結清單有環?

9. 連結清單翻轉;

10. 快排;

11. 100 億個單詞,找出出現頻率最高的單詞。要求幾種方案;

12. 連結清單每 k 位逆序;

13. 鏡像二叉樹;

14. 找出一個無序數組中出現超過一半次數的數字;

15. 計算二叉樹的最大深度,要求非遞歸算法。

16. String 方式計算加法。

鴻洋大神最新整理一線網際網路公司Android中進階面試題2019年終總結(附答案解析)

項目&HR

1. 項目開發中遇到的最大的一個難題和挑戰,你是如何解決的。(95% 會問到)

2. 說說你開發最大的優勢點(95% 會問到)

3. 你為什麼會離開上家公司

4. 你的缺點是什麼?

5. 你能給公司帶來什麼效益?

6. 你對未來的職業規劃?