1. 程式人生 > 其它 >Android程式設計師必會!入職3個月的Android程式設計師面臨轉正

Android程式設計師必會!入職3個月的Android程式設計師面臨轉正

Android程式設計師必會!入職3個月的Android程式設計師面臨轉正

嵌入式開發難嗎?

經過這次和同學的交流,我自己也學到了很多。因為嵌入式方面的很多東西我也不懂,我也算學習了。

站在我個人角度來看,結合以前的學習體驗。我覺得嵌入式開發比網際網路軟開(比如Java後端)還是要難一些的,比如我們搞Java開發的,再怎麼說,基本也都是使用者態的東西,但嵌入式很多東西都深入到了核心態,所以難度肯定是有的,表現在幾個方面吧:

  • 首先,嵌入式它偏底層,軟、硬體都要懂,對能力要求本來就要高不少;
  • 其次,嵌入式開發的學習門檻也要高一些,而且像Linux平臺下的開發流程,很多人都不習慣,摸不清;
  • 再者,嵌入式學習的正向反饋可能比較慢,尤其是前期學習階段,導致沒有什麼成就感,也就堅持不下去了,所以往往就棄坑了。

但是話說回來,做IT的就是這樣,越往底層對人能力的鍛鍊就越高,所以對於能力來說是在升維,所以反過來,如果嵌入式做得好的,我覺得來做網際網路問題也不大,到時候就屬於降維打擊了。


總體學習思路

總體來說,還是可以把嵌入式學習分為三個大的階段:

首先基礎學習階段,這就包括通用程式設計基礎(C語言、資料結構/演算法、作業系統、計網、計組、Linux系統基礎)和基本的硬體基礎,紮實地掌握這兩大基礎,是後續持續發展和不斷進步的動力源泉。

其次就是嵌入式應用程式設計階段,或者說系統平臺程式設計階段。因為一般會以特定的嵌入式平臺和特定的嵌入式作業系統為依託,熟悉這個系統平臺上的程式設計方法和流程。以常見的ARM+Linux

平臺為例,需要掌握從記憶體管理到多工程式設計、檔案I/O、網路程式設計,甚至圖形化介面程式設計等幾個大的方面。

最後就是深入嵌入式底層開發階段,最常見的就是核心開發和驅動開發,這些統屬於核心態開發範疇,所以需要對作業系統內部機制有所涉獵和理解,在此基礎上需要掌握從系統移植到核心開發、驅動開發的各個細節,這是成神之路。

大體思路是這樣,接下來看一下詳細的學習路線和知識點梳理。


學習路線+知識梳理

花了很長時間,就為了整理這張詳細的知識路線腦圖。當然由於時間有限、能力也都有限,畢竟嵌入式全體系實在太龐大了,包括我那做嵌入式的同學,也不可能什麼都懂,有些東西可能沒覆蓋到,不足之處,還希望小夥伴們一起交流補充,一起完善進步。


書籍推薦

最後,按照整體的學習路線,再推薦一些對應的經典書籍:

如何做好面試突擊,規劃學習方向?

面試題集可以幫助你查漏補缺,有方向有針對性的學習,為之後進大廠做準備。但是如果你僅僅是看一遍,而不去學習和深究。那麼這份面試題對你的幫助會很有限。最終還是要靠資深技術水平說話。

網上學習 Android的資料一大堆,但如果學到的知識不成體系,遇到問題時只是淺嘗輒止,不再深入研究,那麼很難做到真正的技術提升。建議先制定學習計劃,根據學習計劃把知識點關聯起來,形成一個系統化的知識體系。

學習方向很容易規劃,但是如果只通過碎片化的學習,對自己的提升是很慢的。

同時我還蒐集整理2020年位元組跳動,以及騰訊,阿里,華為,小米等公司的面試題,把面試的要求和技術點梳理成一份大而全的“ Android架構師”面試 Xmind(實際上比預期多花了不少精力),包含知識脈絡 + 分支細節

在搭建這些技術框架的時候,還整理了系統的高階進階教程,會比自己碎片化學習效果強太多。

點選:《Android架構視訊+BAT面試專題PDF+學習筆記》即可免費獲取~

網上學習 Android的資料一大堆,但如果學到的知識不成體系,遇到問題時只是淺嘗輒止,不再深入研究,那麼很難做到真正的技術提升。希望這份系統化的技術體系對大家有一個方向參考。