個人簡介
學渣一枚,2017年6月某空港學校畢業(yè)。從事Android開發(fā)已經4年,開發(fā)過機頂盒應用,做過手機app,21年年后入職新單位從事車載應用開發(fā)。
工作經歷
因為新公司入職不就主要說說前面的工作情況。
煎熬&沒有太多的成長(第一家公司)
處于這個狀態(tài)并不是因為公司不好,相反是自己表現的不好。在公司時,公司有完善的培訓機制(還可以選擇其它方向的一些培訓,由其它部門的資深開發(fā)人員進行授課),入職時有對應的導師進行培訓。更加幸福的是每個月老板都會買書給我們看。
既然在這么好的一個環(huán)境為什么我還是這樣難受呢?總結有下面的原因。
- 心思雜亂。python、js 、web 都想要學習,最終的結果確是什么都沒有。
- 貪玩 下班之后很多空余時間都在玩游戲。
- 自身技術基礎不夠,卻又選擇了錯誤的東西進行學習,導致主要工作上沒有做出太好的成績。最終的結果就是被公司拖著走。
茁壯成長&發(fā)展
為甚么要在成長前加上茁壯二字,因為相對與第一家公司,個人的技術成長要好太多。
2018年的時候有幸接觸到了時間管理,開始學著對自身狀態(tài)進行調整。有計劃有目的的進行學習。每天會提前一個小時到達公司進行技術類書籍閱讀。兩年時間看完的技術書籍有
Android開發(fā)藝術探索
大話設計模式
Android 源碼設計模式
Android 進階解密
隨著時間的進行,自己也在項目小組由一個輔助的角色變成項目主力開發(fā),同時自己成長到了中級開發(fā)水平,也會和初級的小伙伴進行一些技術交流。
相比于第一家公司,這邊并沒有一些技術培訓和導師指導。但是我的技術成長卻相對較大。個人的理解是:內在驅動大于外在。
前景展望
從3月份開始進行面試。前后面試大約有6家,通過幾家公司的面試也大致了解到了自身的價值(能拿多少錢)。其中最遺憾的是面試某筆記,前三輪技術面已經過了,結果vp掛掉了。可能是自己表現太積極,因為確實很想去,甚至做好了如果能去愿意接收降薪的準備。
相較于公司的其他小伙伴,我的面試過程還算比較順利。我認為最好的我們不應該為了面試而準備,而在于平時就應該注重積累自己的技術。
未來要做的事
- 學習數據結構 678月刷完leetcode 最熱100題
- 源碼閱讀總結
- 藍牙應用層的運行原理(6月已完成)
- 系統(tǒng)binder機制
- 系統(tǒng)Anr原理
- 其它的一些框架源碼閱讀
工作上的小建議
- 如果你初入職場,在專業(yè)知識不是太牢固的情況下建議不要花過多得時間研究其它的一些東西,而是專注于提升自己的專業(yè)技能
- 關于職場技能的學習,我們要記住,我們的學習都是有目的,學過之后一定要總結歸納。不要反復的重頭在來。
- 關于工作的選擇,我的理解是合適最好。就好比將一個成績極差的學生放在及其優(yōu)秀的班級,他往往是跟不上老師的節(jié)奏的。需要下來花大量的時間來補,而成年人往往缺少這樣的時間。
- 關于數據結構和設計模式,許多多年開發(fā)的小伙伴居然也有說不重要。舉個簡單的例子,gradle項目之間怎么判斷循環(huán)依賴的呢?學習了圖的知識,了解拓撲排序。你會知道至少這個是判斷循環(huán)依賴的的一種方式。不了解他們很多時候只能停留在api調用。而了解數據結構你才有編寫一些深層次東西的可能。
- 最后一點,靜下心來,做自己想做的事,每一個目標都需要一點一滴的努力。
感謝你看到這里,如果你覺得文章還不錯,或者對你小有啟發(fā)。歡迎點贊轉發(fā)。
以上就是一枚普通的Android開發(fā)者的4年。
希望能夠有機會入大廠上岸。
學習上的小建議
- 架構師筑基必備技能
目前Android APP開發(fā)主流語言就是Java語言,Java語言最大的特性就是提高了軟件的交互可能性,可以說安卓手機幾乎所有應用程序都是利用Java語言來進行編寫的。
知識要點:
1、深入理解Java泛型
2、注解深入淺出
3、并發(fā)編程
4、數據傳輸與序列化
5、Java虛擬機原理
6、高效IO
- 設計思想解讀開源框架
隨著互聯網企業(yè)的不斷發(fā)展,產品項目中的模塊越來越多,用戶體驗要求也越來越高,想實現小步快跑、快速迭代的目的越來越難,插件化技術應用而生。如果沒有插件化技術,美團、淘寶這些集成了大量“app”的應用,可能會有幾個g那么大。
所以,當今的Android移動開發(fā),不會熱修復、插件化、組件化,80%以上的面試都過不了。
知識要點:
1、熱修復設計
2、插件化框架設計
3、組件化框架設計
4、圖片加載框架
5、網絡訪問框架設計
6、RXJava響應式編程框架設計
- 360°全方位性能調優(yōu)
在不同層次的開發(fā)工程師手里,因為技術水平的參差不齊,即使很多手機在跑分軟件性能非常高,打開應用依然存在卡頓現象。
另外,隨著產品內容迭代,功能越來越復雜,UI頁面也越來越豐富,也成為流暢運行的一種阻礙。綜上所述,對APP進行性能優(yōu)化已成為開發(fā)者該有的一種綜合素質,也是開發(fā)者能夠完成高質量應用程序作品的保證。
1、設計思想與代碼質量優(yōu)化
2、程序性能優(yōu)化
- 啟動速度與執(zhí)行效率優(yōu)化
- 布局檢測與優(yōu)化
- 內存優(yōu)化
- 耗電優(yōu)化
- 網絡傳輸與數據儲存優(yōu)化
- APK大小優(yōu)化
3、開發(fā)效率優(yōu)化
- 分布式版本控制系統(tǒng)Git
- 自動化構建系統(tǒng)Gradle
4、項目實戰(zhàn)
- 啟動速度
- 流暢度
- 抖音在APK包大小資源優(yōu)化的實踐
- 優(yōu)酷響應式布局技術全解析
- 網絡優(yōu)化
- 手機淘寶雙十一性能優(yōu)化項目揭秘
- 高德APP全鏈路源碼依賴分析
- 徹底干掉OOM的實戰(zhàn)經驗分享
- 微信Android終端內存優(yōu)化實踐
- Android框架體系架構
Android框架體系架構(高級UI+FrameWork源碼) 這塊知識是現今使用者最多的,我們稱之Android2013~2016年的技術。
Android開發(fā)者也往往因為網上Copy代碼習慣了而導致對這塊經常“使用”的代碼熟悉而又陌生:熟悉的是幾乎天天在和它們打交道, 天天在復制這些代碼 ;陌生的是雖然天天和這些代碼打交道,但是并沒有深入研究過這些代碼的原理,代碼深處的內涵。
本篇知識要點:
1、高級UI晉升
2、Android內核組件
3、大型項目必備IPC
4、數據持久與序列化
5、Framework內核解析
- NDK模塊開發(fā)(音視頻系列)
NDK(Native Development Kit縮寫)一種基于原生程序接口的軟件開發(fā)工具包,可以讓您在 Android 應用中利用 C 和 C++ 代碼的工具。通過此工具開發(fā)的程序直接在本地運行,而不是虛擬機。
在Android中,NDK是一系列工具的集合,主要用于擴展Android SDK。NDK提供了一系列的工具可以幫助開發(fā)者快速的開發(fā)C或C++的動態(tài)庫,并能自動將so和Java應用一起打包成apk。
本篇知識要點:
1、NDK開發(fā)之C/C++入門
2、JNI模塊開發(fā)
3、Linux編程
4、底層圖片處理
5、音視頻開發(fā)
6、機器學習
- Flutter學習進階
2019 年無疑是 Flutter 技術如火如荼發(fā)展的一年。
每一個移動開發(fā)者都在為 Flutter 帶來的“快速開發(fā)、富有表現力和靈活的 UI、原生性能”的特色和理念而癡狂,從超級 App 到獨立應用,從純 Flutter 到混合棧,開發(fā)者們在不同的場景下樂此不疲的探索和應用著 Flutter 技術,也在面臨著各種各樣不同的挑戰(zhàn)。
本篇知識要點:
1、Flutter跨平臺開發(fā)概述
2、Windows中Flutter開發(fā)環(huán)境搭建
3、編寫你的第一個Flutter APP
4、Flutter Dart語言系統(tǒng)入門
......
- 微信小程序開發(fā)
微信小程序作為現在比較火的編程開發(fā)應用場景之一,深受市場的青睞,這讓不少開發(fā)者眼饞不已。但是對于初學者來說,就完全摸不著頭腦了,不知道微信小程序開發(fā)制作需要學習那些知識,有需要的朋友可以參考本篇。
本篇知識要點:
1、小程序概述及入門
2、小程序UI開發(fā)
3、API操作
4、購物商場項目實戰(zhàn)
-
Android相關源碼解讀
只要是程序員,不管是Java還是Android,如果不去閱讀源碼,只看API文檔,那就只是停留于皮毛,這對我們知識體系的建立和完備以及實戰(zhàn)技術的提升都是不利的。
由于篇幅原因,以上完整學習筆記pdf如有需要,可以評論區(qū)留言或者私信我獲取!
問題
最后問一個問題,滿5年經驗的Android能夠在成都拿到月薪2W嗎?