六年 Android 開發的漲薪之路,從15K漲到30K的面試解析

作者:情聖

簡介

本人15年畢業後,就開始從事Android移動應用開發,轉眼間到現在已進入第六個年頭了。剛開始是南下前往深圳工作,在深圳摸爬滾打了好三四年,也都是在小廠的圈子裏跳來跳去。薪資最高的時候也才15K。但我一直感覺憑藉自己的技能水平,應該遠不止這個薪資水平。於是從2020年的下半年開始,抽出自己的業餘時間進行系統複習、學習一些技術點知識。10月底纔開始往一些公司投簡歷,中間也有幾次碰壁,但最終還是在獲得了一家上市公司的offer,雖不是什麼一流大廠,但對於我來說,從15K的薪資漲到近30K,已經非常滿足了。下面分享一下我的複習、學習指南,以及一些心得體會吧。(先曬一下我的offer)

面試個人體會

我個人認爲,對於Android面試以及進階的最佳學習方法莫過於刷題+多寫多看博客+記錄知識點+總結,前三者博主將淋漓盡致地揮毫於這篇博客文章中,至於總結在於個人,實際上越到後面你會發現面試並不難,其次就是在刷題的過程中有沒有去思考,刷題只是次之,這又是一個層次了,這裏暫時不提後面再談。

一、java相關

java基礎

1、java 中==和 equals 和 hashCode 的區別
2、int、char、long 各佔多少字節數
3、int 與 integer 的區別
4、談談對 java 多態的理解
5、String、StringBuffer、StringBuilder 區別
6、什麼是內部類?內部類的作用
7、抽象類和接口區別

java高級

1、哪些情況下的對象會被垃圾回收機制處理掉?
2、講一下常見編碼方式?
3、utf-8 編碼中的中文佔幾個字節;int 型幾個字節?
4、靜態代理和動態代理的區別,什麼場景使用?
5、Java 的異常體系
6、談談你對解析與分派的認識。
7、修改對象 A 的 equals 方法的簽名,那麼使用 HashMap 存放這個對象 實例的時候,會調用哪個 equals 方法?

二、圖片相關

1、圖片庫對比
2、LRUCache 原理
3、圖片加載原理
4、自己去實現圖片庫,怎麼做?
5、Glide 源碼解析
6、Glide 使用什麼緩存?
7、Glide 內存緩存如何控制大小?
8.Fresco 源碼分析

三、網絡和安全機制

1.網絡框架對比和源碼分析
2.自己去設計網絡請求框架,怎麼做?
3.網絡請求緩存處理,okhttp 如何處理網絡緩存的
4.從網絡加載一個 10M 的圖片,說下注意事項
5.TCP 的 3 次握手和四次揮手
6.TCP 與 UDP 的區別
7.TCP 與 UDP 的應用
8.HTTP 協議

四、數據庫相關

1.Sqlite 升級,增加字段的語句
2.數據庫框架對比和源碼分析
3.數據庫優化
4.數據庫數據遷移問題
5.Sqlite 常見異常

五、插件化、模塊化、組 件化、熱修復、增量更新、Gradle

1.對熱修復和插件化的理解
2.插件化原理分析
3.模塊化實現(好處,原因)
4.熱修復、插件化
5.項目組件化的理解
6.描述清楚點擊 Android Studio 的 build 按鈕後發 生了什麼

六、架構設計與設計模式

1.談談你對 Android 設計模式的理解
2.MVC MVP MVVM 原理和區別
3.你所知道的設計模式有哪些?
4.項目中常用的設計模式
5.手寫生產者/消費者模式
6.寫出觀察者模式的代碼
7.適配器模式,裝飾者模式,外觀模式的異同?
8.談談對 RxJava 的理解

七、性能優化專題

1.啓動 app 黑白屏優化
2.穩定——內存優化
3.流暢——卡頓優化
4.節省——耗電優化
5.安裝包——APK 瘦身
6.冷啓動與熱啓動
7.內存泄漏的場景和解決辦法

  1. Bitmap 優化
    9.webview 優化

八、Android Framework 相關

1、Android 系統架構
2、View 的事件分發機制?滑動衝突怎麼解決?
3、View 的繪製流程?
4、跨進程通信。
5、Android 系統啓動流程是什麼?
6、說下四大組件的啓動過程,四大組件的啓動與銷 毀的方式。
7、理解 Window 和 WindowManager。
8、大體說清一個應用程序安裝到手機上時發生了什 麼?

九、Android 優秀三方庫源碼

1.網絡底層框架:OkHttp 實現原理
2.網絡封裝框架:Retrofifit 實現原理
3.響應式編程框架:RxJava 實現原理
4.圖片加載框架:Glide 實現原理
5.事件總線框架:EventBus 實現原理
6.內存泄漏檢測框架:LeakCanary 實現原理
7.依賴注入框架:ButterKnife 實現原理
8.依賴全局管理框架:Dagger2 實現原理
9.數據庫框架:GreenDao 實現原理

十、算法合集

1.編程技巧
2.線性表
3.字符串
4.棧和隊列
5.樹
6.排序
7.查找
8.暴力枚舉法
9.廣度、深度優先搜索
10.分治算法
11.貪心算法
12.動態規劃

最後

其實Android開發的知識點就那麼多,面試問來問去還是那麼點東西。所以面試沒有其他的訣竅,只看你對這些知識點了解的程度。so,出去面試時先看看自己複習到了哪個階段就好。

大家如果還想了解更多Android 相關的更多知識點,可以點進我的GitHub項目中:https://github.com/733gh/GH-Android-Review-master自行查看,裏面記錄了許多的Android 知識點。

持續更新--請Android的小夥伴關注! 喜歡的話給一個贊Star吧!

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