天天看點

一位讀者邏輯清晰的提問

哥,想請教你一些問題,麻煩哥你有時間的時候幫我解答一下,非常感謝:

1.驅動崗位少?面試準備驅動會不會有點偏?

2.感覺自己之前看的太細了,有些東西記不住。你的pdf+正點原子+項目 完全看完不太現實。

3.我現在的情況:

正點原子裸機、系統移植看完,驅動看了大部分;之前花的時間很多,看的太細了,總在糾結一些細節是怎麼回事,而且記不住,面試估計展現不出來;正點的驅動介紹的太草率了,驅動後面部分隻講操作,不講原理,看不下去了。

資料結構嚴蔚敏書籍看完,你的pdf資料結構部分全部看完,pdf對應的力扣題目全部做完,劍指offer做了六七道題;有好多人給我講,嵌入式沒必要刷太多題,多把時間放在項目上,是以現在不太清楚該怎麼做,感覺題目還是要刷的。

這個寒假模仿志輝君做了一個F1C200s的小電腦,從硬體設計、PCB制作焊接到uboot移植、核心和裝置樹修改,Debian根檔案系統制作,然後LCD、觸摸屏、USB、音頻驅動,還有一些正在做,esp-12f做無線網卡、移植一個小遊戲、跑lvgl或qt。但是隻是照着别人的教程用核心的驅動或已經寫好的驅動,感覺自己不懂原理,面試不知道怎麼講,或者說不知道怎麼他們會問什麼我怎麼回答。準備照着别人的教程把功能實作,後面補充一些原理。哥你覺着這個項目能拿的出去嗎?

之前有做過一個關于Qt利用攝像頭進行長度測量的小項目,這個項目和驅動不相關,可以寫上去嗎?

你的pdf中還有C/ C++基礎、ARM體系與架構、作業系統、Linux驅動沒看,不知道怎麼取舍,時間不夠。

4.後面的計劃

我準備寒假年前繼續項目,年後看C/C++基礎,開學後複習正點pdf,然後看你的Linux驅動部分,然後盡量再準備一個項目,當然刷題要一直進行。至于ARM體系與架構和作業系統感覺沒時間看了,準備挑一下重點。

後面的基調應該定位為學習一些面試能夠展現自己的東西。

5.自己的缺點–心态問題

還是覺得自己看東西有執念,就想什麼都搞懂,看的特别細,一字一句都想搞明白,遇到問題耽誤時間,影響自己的計劃,就會感到焦慮。比如看資料結構部分,每道題幾種解法都看了,擔心自己記不住會多次複習,結果搞了一個學期,哦,還有小項目的硬體。是以我很羨慕像哥你一樣樂觀的人。

我的回答:

  1. 驅動崗位相比于應用開發,單片機開發,确實崗位會少點。但是,驅動待遇不錯,前景比較好,門檻高。未來可以從事很多專精的方向,比如linux核心開發,usb驅動開發,音視訊驅動開發等。這些方向,難度比較大,但越老越值錢,因為會的人比較少。
  2. 學習前期以正點原子+項目為主。面試前5個月左右開始刷PDF。看的細是好事,建議你多做筆記。把自己花了時間研究的問題都記下來,後面再複習下。
  3. 劍指offer是一定要刷的,大廠很愛考算法題,算法題筆試必考,面試必考!根本少不了的。劍指offer的題目,最低要求是一遍。有時間還是刷兩遍比較好。
  4. 小電腦的項目,先把功能實作再說。把做的過程中遇到的問題記錄下來。面試的時候就講你遇到的問題,解決思路是什麼。後期再針對一兩個功能實作,深挖下源代碼,搞懂原理。你這項目拿出去完全沒問題!
  5. 如果你是面驅動崗位,你列出的這幾部分都是要看的。除了linux驅動部分可能需要多了解,其他内容都是八股文,背誦下來就好了。OS是一定要看的,面試肯定會問的。ARM架構那塊,如果實在沒時間,可以不看那麼細。

    像作業系統這些八股文現在沒必要看太細。隻要能做到問你問題,能答出來就好了。

    等你找到工作後,可以好好研究下作業系統,計算機組成原理的内容。畢竟,我們現在的重點是找到一份工作,而不是把這些理論都搞懂。

  6. 有時間可以再準備一個項目,沒時間就算了。小電腦的項目搞懂70%,面試完全沒問題。QT項目+小電腦項目,兩個也夠了。驅動方面本來就很少有合适的項目。 驅動都是原廠做好的,我們拿來用。
  7. Linux驅動部分,要能講出基本的驅動架構。一個字元裝置驅動怎麼寫?塊裝置驅動怎麼寫?總線裝置驅動模型是什麼?這些不要求你都能寫出來,但面試一定要能答出來。說白了,還是背誦的問題。
  8. 重要度排名: C/C++基礎 > 劍指offer > 項目 > Linux驅動 > 作業系統 > ARM架構