我相信很多人都在經曆這個階段,過了入門期之後想要努力進階,但是卻苦苦沒有方向。
每次遇到朋友問我這樣的問題,每次我的回答也都會不一樣。
其實我也很想總結出一套固定的答案,然後直接複制粘貼就可以了,但是進階的方向實在是太廣了,這真的沒有一個固定的答案。
拿具體的項目來說,不同的項目側重的知識點也不一樣。比如IM軟體就需要即時通訊技術、視訊軟體就需要視訊編解碼技術、遊戲就需要引擎技術。即使是同一個項目,每個人負責的工作方向也會不一樣,有些人負責架構搭建,有些人負責網絡通信,有些人負責UI實作。
任何一門技術,剛入門的時候一般都有套路可尋,因為知識體系架構就是那些東西。但是入了門之後,你會發現360度全是進階方向,每一個方向可能都夠我們深造好幾年的。
但是大多數小夥伴們想要的還是一個直截了當的答案,而不是上述我總結的這些大道理。
我隻能再強調一遍:“做程式員,圈子很重要”因為有了圈子可以讓你少走彎路,拓寬人脈,拓展思路,學習他人失敗和成功的經驗,擷取最新經驗與資訊,抱團取暖等!圈子的高度決定人生的高度!
我建立了一個純程式員的交流社群(無廣告),有想法加入的朋友可以點選下方連結【社群】
Android進階進階視訊、面試真題解析免費分享社群下面再分享一點2019最新面試專題↓↓↓祝你早日獲得心儀的OFFER。
設計模式
- 談談你對Android設計模式的了解
- MVC MVP MVVM原理和差別
- 你所知道的設計模式有哪些?
- 項目中常用的設計模式
- 手寫生産者/消費者模式
- 寫出觀察者模式的代碼
- 擴充卡模式,裝飾者模式,外觀模式的異同?
- 用到的一些開源架構,介紹一個看過源碼的,内部實作過程。
- 談談對RxJava的了解
線程
- 線程池的好處? 四種線程池的使用場景,線程池的幾個參數的了解?
- 講講 AsyncTask 的原理
- IntentService 有什麼用 ?
- 直接在 Activity 中建立一個 thread 跟在 service 中建立一個 thread 之間的差別?
- ThreadPoolExecutor 的工作政策 ?
- 多線程是否一定會高效(優缺點)
性能優化
- 如何對Android 應用進行性能分析以及優化?
- ddms 和 traceView
- 性能優化如何分析systrace?
- 用IDE如何分析記憶體洩漏?
- Java多線程引發的性能問題,怎麼解決?
- 啟動頁白屏及黑屏解決?
- 啟動太慢怎麼解決?
- 怎麼保證應用啟動不卡頓?
- App啟動崩潰異常捕捉
- 自定義View注意事項
- 現在下載下傳速度很慢,試從網絡協定的角度分析原因,并優化(提示:網絡的5層都可以涉及)。
- Https請求慢的解決辦法(提示:DNS,攜帶資料,直接通路IP)
- 如何保持應用的穩定性
- RecyclerView和ListView的性能對比
- ListView的優化
- RecycleView優化
- View渲染
- Bitmap如何處理大圖,如一張30M的大圖,如何預防OOM
- java中的四種引用的差別以及使用場景
- 引用置為null,會不會被回收?
Handler
- 談談消息機制 Handler 作用 ?有哪些要素 ?流程是怎樣的 ?
- 一個線程能否建立多個 Handler,Handler 跟 Looper 之間的對應關 系 ?
- Handler 引起的記憶體洩露原因以及最佳解決方案
- 使用 Handler 的 postDealy 後消息隊列會有什麼變化?
- Message 可以如何建立?哪種效果更好,為什麼?
. 可以在子線程直接 new 一個 Handler 嗎?怎麼做?
這些資料我都已經整理收錄到2019最新面試專題(含答案解析)+Android面試試題視訊解析裡面了,由于篇幅問題就沒有把答案和思路寫上來,有需要完整資料的朋友可以下方評論【資料】我把領取方式私信發給你

說句實話,現在網上關于Android的免費學習資源很多,基本上都是一些入門的、基礎的、甚至是落後的技術點講解内容。
很少有大廠大佬錄制的Android課程,講解如此深入淺出,所講内容全是當下網際網路公司項目裡用到的實戰技術技巧,關鍵還是免費的,我覺得很值。
還是那句話,不想一直停留在初級水準等着被淘汰,也想進階中進階,每月想拿更高工資,不妨一試。