Android程式設計師必會!入職3個月的Android程式設計師面臨轉正
嵌入式開發難嗎?
經過這次和同學的交流,我自己也學到了很多。因為嵌入式方面的很多東西我也不懂,我也算學習了。
站在我個人角度來看,結合以前的學習體驗。我覺得嵌入式開發比網際網路軟開(比如Java
後端)還是要難一些的,比如我們搞Java
開發的,再怎麼說,基本也都是使用者態的東西,但嵌入式很多東西都深入到了核心態,所以難度肯定是有的,表現在幾個方面吧:
- 首先,嵌入式它偏底層,軟、硬體都要懂,對能力要求本來就要高不少;
- 其次,嵌入式開發的學習門檻也要高一些,而且像
Linux
平臺下的開發流程,很多人都不習慣,摸不清; - 再者,嵌入式學習的正向反饋可能比較慢,尤其是前期學習階段,導致沒有什麼成就感,也就堅持不下去了,所以往往就棄坑了。
但是話說回來,做IT的就是這樣,越往底層對人能力的鍛鍊就越高,所以對於能力來說是在升維,所以反過來,如果嵌入式做得好的,我覺得來做網際網路問題也不大,到時候就屬於降維打擊了。
總體學習思路
總體來說,還是可以把嵌入式學習分為三個大的階段:
首先基礎學習階段,這就包括通用程式設計基礎(C語言、資料結構/演算法、作業系統、計網、計組、Linux系統基礎)和基本的硬體基礎,紮實地掌握這兩大基礎,是後續持續發展和不斷進步的動力源泉。
其次就是嵌入式應用程式設計階段,或者說系統平臺程式設計階段。因為一般會以特定的嵌入式平臺和特定的嵌入式作業系統為依託,熟悉這個系統平臺上的程式設計方法和流程。以常見的ARM+Linux
最後就是深入嵌入式底層開發階段,最常見的就是核心開發和驅動開發,這些統屬於核心態開發範疇,所以需要對作業系統內部機制有所涉獵和理解,在此基礎上需要掌握從系統移植到核心開發、驅動開發的各個細節,這是成神之路。
大體思路是這樣,接下來看一下詳細的學習路線和知識點梳理。
學習路線+知識梳理
花了很長時間,就為了整理這張詳細的知識路線腦圖。當然由於時間有限、能力也都有限,畢竟嵌入式全體系實在太龐大了,包括我那做嵌入式的同學,也不可能什麼都懂,有些東西可能沒覆蓋到,不足之處,還希望小夥伴們一起交流補充,一起完善進步。
書籍推薦
最後,按照整體的學習路線,再推薦一些對應的經典書籍:
如何做好面試突擊,規劃學習方向?
面試題集可以幫助你查漏補缺,有方向有針對性的學習,為之後進大廠做準備。但是如果你僅僅是看一遍,而不去學習和深究。那麼這份面試題對你的幫助會很有限。最終還是要靠資深技術水平說話。
網上學習 Android的資料一大堆,但如果學到的知識不成體系,遇到問題時只是淺嘗輒止,不再深入研究,那麼很難做到真正的技術提升。建議先制定學習計劃,根據學習計劃把知識點關聯起來,形成一個系統化的知識體系。
學習方向很容易規劃,但是如果只通過碎片化的學習,對自己的提升是很慢的。
同時我還蒐集整理2020年位元組跳動,以及騰訊,阿里,華為,小米等公司的面試題,把面試的要求和技術點梳理成一份大而全的“ Android架構師”面試 Xmind(實際上比預期多花了不少精力),包含知識脈絡 + 分支細節。
在搭建這些技術框架的時候,還整理了系統的高階進階教程,會比自己碎片化學習效果強太多。
點選:《Android架構視訊+BAT面試專題PDF+學習筆記》即可免費獲取~
網上學習 Android的資料一大堆,但如果學到的知識不成體系,遇到問題時只是淺嘗輒止,不再深入研究,那麼很難做到真正的技術提升。希望這份系統化的技術體系對大家有一個方向參考。