智能嵌入式如何自學?

2016年行業薪資排行榜,IT技術研發名列前茅吸引衆多從業人員。那麼如何成功進入這個行業呢?

進入這個技術行業最重要的還是技術過關。很多人對這個技術過關的概念是非常模糊的。說不出來一個明顯的界限。因爲不同的企業對新人有不同的要求。其實這個界限並不模糊,IT研發企業更加註重實戰,一般公司對初級工程師的入門要求用代碼量來表示:能夠獨立編寫邏輯複雜度中等的單個項目代碼量在2000-3000行。只要能達到這個代碼量,雖然不能保證所有公司都能技術過關,但大部分的公司的技術這關是可以通過的。

到這裏順便給入行人糾正一件事,很多人在學習開的時候,只對着書本學習,不去實戰。這樣的學院派的學習方式,很難通過面試。例如技術面試官常問的一個問題“你在開發中遇到的印象最深刻的問題是什麼?如何解決的?”沒有實戰是沒辦法回答的。開發工程師本身的工作就是實戰編程,所以實戰是重點。也是面試官最關心的,你來我們公司能不能完成實際開發任務,能不能給公司創造價值,就看這個了。現在很多應屆大學生都希望能找一家公司,邊做邊學。對於好學生而言是最好不過的。不過對於技術沒有過關的同學而言,更多的是到處碰壁,被面試官打擊,直到喪失了做研發的念頭。所以如果你大學玩的比較多,或者沒有太多實戰經驗。最好是能夠系統的學習一下。

接下來就介紹一下系統學習內容(此內容是參考上海怡勝實訓中心的實訓課程):

系統學習的最重要的一件事情是有信心。很多人看到上面我提到的完成2000-3000行的代碼就已經開始退縮的。技術不想搞藝術,需要靈感沒靈感一輩子都沒辦法創造出好的作品。技術只需要你慢慢的學習積累,內容是有限的。只要慢慢努力肯定是可以實現的。

如何一步步去學習:

 

第一步:搭建環境,工慾善其事必先利其器。沒有一個開發環境談不上學習開發。對於想學習智能嵌入式給大家推薦一個主流的開發平臺Linux。Linux是設備開發裏面使用的最多的平臺,是目前主流的嵌入式開發平臺。安裝Linux系統(可以使用Vm等虛擬機軟件來輔助)。

學習最終要求:能夠熟練使用開發平臺,完成基本操作,爲學習開發做準備。

第二步:加強開發語言,首先從C語言開始。C語言從誕到現在大半個世紀,一直是全球使用最多的語言之一。其實很多開發語言都有C語言的身影,都是從C語言演化出來的。C語言的學習也可以讓你更加了解程序運行的最本質原理。學習的時候必須理論和編程相結合。千萬不要只看書(或者視頻)不去動手。看的再好,眼高手低等於零。要做到C語言中的每個知識點都能夠在程序中體現來,都能夠在程序中得到印證。通過理論寫出程序,通過程序印證加強理論。在實戰中訓練自己的編程思維(邏輯思維),邏輯思維能力是沒辦法通過書本學習的,也沒辦法傳授的,只能通過訓練來加強;也要完成對程序BUG調試能力的提升。第二階段是最整個學習階段最痛苦的。萬事開頭能,這個階段能夠堅持下來的人,就可以恭喜你,你已經完成邁入研發領域的第一步。

課程最終要求:學習完成後,編寫一個小的管理系統(學生管理、圖書管理、公司員工管理等)。不要覺得這個小系統無聊簡單。管理系統可以把我們學習到理論全面的整合到一起,應用到程序中。這個小項目是你綜合能力提升的一個標誌。怡勝實訓項目中有5個,都可以作爲參考項目)

第三步:算法。這裏所指的算法,主要是存儲相關的,更確切的說應該是數據結構。作爲計算機程序,其實主要是完成數據處理。要想完成對數據的處理,第一步就是如何把數據存入到計算機中。我們這裏需要研究的算法包括:鏈表、樹、hash等。算法研究的時候也要注意不要看理論。沒個算法都要能夠通過程序實際完成。否則但不上你掌握算法。除了存儲之外,還可以掌握一些,加解密、壓縮、二維碼等常用的算法,這些算法一半不需要知道如何實現,只要能夠知道怎麼找打這些算法庫,如何調用就可以了。

學習最終要求:能夠用程序實現存儲算法。

第四部:C++。C和C++在智能開發領域使用的都非常多。C++的學習語法並不難,更重要的是理解面向對象的理念,並在設計中體現出來。面向對象的三大思想:封裝、繼承、多態。前期可以重點理解封裝、繼承。多態思想在項目中的使用可以先放放。

學習最終要求:能夠完成使用面向對象的思想完成一個小項目。(可以翻寫一下C項目,重要的是引入面向對象的思想)

第五部分:Linux應用編程,主要掌握操作系統的基本原理及相關編程接口。內容:I/O操作、併發處理(進程、線程)、進程間數據交互、網絡協議棧的基本概念、網絡編程模型。學習這個部分一定要把理論先弄明白,然後結合程序瞭解。編程接口要能夠掌握基本的調用。具體細節內容可以參考怡勝的系統編程課程大綱(可以到他們官方網站留言獲取)。

學習最終要求:完成一個基於網絡通訊方面的項目。使用一種併發機制。

第六部分:Linux底層開發。底層開發三個部分:ARM原理、Linux移植(分應用移植、系統移植)、驅動。主要掌握驅動部分,企業需求主要是驅動工程師的需求。驅動要能夠完成基本硬件驅動程序編寫。按鍵驅動、蜂鳴器、字符設備等。這部分課程需要了解LInux內核模塊的原理機制。這部分課程如果沒有硬件功底的化,可以以後加強,先從應用入手進入研發行業。

學習最終要求:完成一個簡單的字符設備驅動。獨立完成。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章