3個月學會Android開發!大牛耗時一年最佳總結,讓你的app體驗更絲滑!Android崗

程式設計師大婕發表於2020-12-25

前言

想要成為一名優秀的Android開發,你需要一份完備的知識體系,在這裡,讓我們一起成長為自己所想的那樣~。

學演算法真的很痛苦,雖然大資料現在很火,但找到適合自己定位的職業也未嘗不是一種合理選擇。
投百度的經歷非常坎坷,想寫出來和大家分享一下,希望能帶給和我一樣準備不是非常充分(無對口專案、無實習經歷、渣碩演算法中途轉Android開發)的同學一些信心。

百度一開始是想找學弟內推的,但是我投的比較早(8月份),趕上了內推的時間,但仍然走的是正式批的流程。做筆試題的時候,三道演算法題只做出來第一道,之前經歷了騰訊一面掛、位元組筆試掛(補招的時候被撈一面掛)、京東筆試後沒訊息、美團簡歷掛,滴滴筆試完沒訊息(後來有面試並且收到了oc),覺得進面試拿到offer的希望也不大,所以就提前交卷,放棄掙扎了。最後意外收到了遠端面試的邀請,運氣到了攔也攔不住。

面試的時候除了演算法題,其他被懟成弟弟,沒想到面試官給過了,一天面完三面並且一週之後收到了oc,覺得自己非常的幸運,終於得到了大廠的認可(雖然是顆白菜)。這裡建議網友如果有自己亮點的話,還是可以勇敢大膽的嘗試一下大廠,畢竟除了實力之外,運氣與機遇也佔很大成分,遇到欣賞你的面試官,就會比較順利。

獻上百度的三面面經~

聽過很多人說Android學習很簡單,做個App就上手了,工作機會多,畢業後也比較容易找工作。這種觀點可能是很多Android開發者最開始入行的原因之一。

在工作初期,工作主要是按照業務需求實現App頁面的功能,按照設計師的設計稿實現頁面的效果。

在實現的過程中,總是會被提如下的需求:

這個字能不能大點或者醒目點兒?
感覺顏色和設計稿有差別,能不能再調調?
怎麼老是崩潰啊,行不行啊?

所以,工作過一年後你會發現,自己的工作重點就是**將找各種各樣的元件、框架,拖拖拽拽,改改樣式。**在極端情況下出現了問題後(比如部分機型上崩潰,載入圖片慢),也不知道該如何解決!都不好意思說自己是搞技術的。

造成這種局面的有兩種原因:

**1.**所開發的App功能要求並不複雜,在效能上呢,也不需要極致的追求;
2.自己的意識不夠,不知道如何從平凡的工作中提煉可優化的點,在向上提升方面也沒有完整的規劃

從自身規劃的角度講,技術上的進階分如下幾個階段:

**1.做好業務需求的功能。這個是初級程式設計師就應該有的能力。

**2.**解決極端情況下的技術問題,比如效能優化,OOM等。**稍有點規模的公司,肯定都會遇到這種問題,比如上文中說的App在部分機型上崩潰、頁面載入不出來等。只是大部分程式設計師會覺得難以復現,或者是因為小概率事件而忽略了。**在忽略這些問題的過程中,也放棄了進一步提升的可能性。**還有一部分程式設計師是看到了這些問題,但一直不知道怎麼解決,因為這些問題的產生基本都是要往底層框架去找原因,而平時只關注上層的業務邏輯程式碼,因而沒有深入研究底層的原理,導致心有餘而力不足。
**3.**在開發框架和效率上做文章。**舉個例子,很多程式設計師說自己的精力都在和產品的撕逼中浪費了,但有沒有想過,能夠通過技術手段將自己從繁雜的無技術含量的工作中解救出來?比如是否能夠做到只編寫一次程式碼,或者改個配置引數就能夠做到在不同平臺上執行。更高的要求是,能否將這些方案做成通用框架或產品。

上面列舉的幾個階段,首先要從思考方式上去逼迫自己不斷地逼迫自己,不要偷懶。其次,要想按照上述階段發展,還需要落在實處,在具體的技術體系中不斷的學習。

舉個例子:

對於OOM,需要知道有哪些優化工具可以使用(Lint、MAT等),如何檢測OOM,以及垃圾回收機制等深層次的原理。對於效能優化來說,如何減少apk體積、資源動態載入等都是必會的。以下是效能優化相關思維導圖**(文末還有更多Android架構進階的學習資料免費分享)**

在體系化的學習過程中,部落格、書籍、視訊課程都是較好的學習手段。

鑑於Android也是基於java語言的,因此很多與java相關的基礎也是必須掌握的,比如《深入理解Java虛擬機器》、《Effective Java》等相關書籍也是必讀的。

Android相關的書籍包括《Android權威程式設計指南》、《Android開發藝術探索》等,進一步的還可以去閱讀Android相關原始碼,配合《Android原始碼設計模式解析與實戰》等書籍,對閱讀原始碼大有裨益。

總結

其實要輕鬆掌握很簡單,要點就兩個:

  1. 找到一套好的視訊資料,緊跟大牛梳理好的知識框架進行學習。
  2. 多練。 (視訊優勢是互動感強,容易集中注意力)

你不需要是天才,也不需要具備強悍的天賦,只要做到這兩點,短期內成功的概率是非常高的。

對於很多初中級Android工程師而言,想要提升技能,往往是自己摸索成長,不成體系的學習效果低效漫長且無助。下面資料部分截圖是我花費幾個月時間整理的,誠意滿滿:特別適合有3-5年開發經驗的Android程式設計師們學習。

%96%AA%EF%BC%81.md)】。**

[外鏈圖片轉存中…(img-sicTMHVK-1608882474488)]

相關文章