哥,想請(qǐng)教你一些問題,麻煩哥你有時(shí)間的時(shí)候幫我解答一下,非常感謝:
1.驅(qū)動(dòng)崗位少?面試準(zhǔn)備驅(qū)動(dòng)會(huì)不會(huì)有點(diǎn)偏?
2.感覺自己之前看的太細(xì)了,有些東西記不住。你的pdf+正點(diǎn)原子+項(xiàng)目 完全看完不太現(xiàn)實(shí)。
3.我現(xiàn)在的情況:正點(diǎn)原子裸機(jī)、系統(tǒng)移植看完,驅(qū)動(dòng)看了大部分;之前花的時(shí)間很多,看的太細(xì)了,總在糾結(jié)一些細(xì)節(jié)是怎么回事,而且記不住,面試估計(jì)體現(xiàn)不出來;正點(diǎn)的驅(qū)動(dòng)介紹的太草率了,驅(qū)動(dòng)后面部分只講操作,不講原理,看不下去了。
數(shù)據(jù)結(jié)構(gòu)嚴(yán)蔚敏書籍看完,你的pdf數(shù)據(jù)結(jié)構(gòu)部分全部看完,pdf對(duì)應(yīng)的力扣題目全部做完,劍指offer做了六七道題;有好多人給我講,嵌入式沒必要刷太多題,多把時(shí)間放在項(xiàng)目上,所以現(xiàn)在不太清楚該怎么做,感覺題目還是要刷的。
這個(gè)寒假模仿志輝君做了一個(gè)F1C200s的小電腦,從硬件設(shè)計(jì)、PCB制作焊接到uboot移植、內(nèi)核和設(shè)備樹修改,Debian根文件系統(tǒng)制作,然后LCD、觸摸屏、USB、音頻驅(qū)動(dòng),還有一些正在做,esp-12f做無線網(wǎng)卡、移植一個(gè)小游戲、跑lvgl或qt。但是只是照著別人的教程用內(nèi)核的驅(qū)動(dòng)或已經(jīng)寫好的驅(qū)動(dòng),感覺自己不懂原理,面試不知道怎么講,或者說不知道怎么他們會(huì)問什么我怎么回答。準(zhǔn)備照著別人的教程把功能實(shí)現(xiàn),后面補(bǔ)充一些原理。哥你覺著這個(gè)項(xiàng)目能拿的出去嗎?
之前有做過一個(gè)關(guān)于Qt利用攝像頭進(jìn)行長(zhǎng)度測(cè)量的小項(xiàng)目,這個(gè)項(xiàng)目和驅(qū)動(dòng)不相關(guān),可以寫上去嗎?
你的pdf中還有C/ C++基礎(chǔ)、ARM體系與架構(gòu)、操作系統(tǒng)、Linux驅(qū)動(dòng)沒看,不知道怎么取舍,時(shí)間不夠。
4.后面的計(jì)劃
我準(zhǔn)備寒假年前繼續(xù)項(xiàng)目,年后看C/C++基礎(chǔ),開學(xué)后復(fù)習(xí)正點(diǎn)pdf,然后看你的Linux驅(qū)動(dòng)部分,然后盡量再準(zhǔn)備一個(gè)項(xiàng)目,當(dāng)然刷題要一直進(jìn)行。至于ARM體系與架構(gòu)和操作系統(tǒng)感覺沒時(shí)間看了,準(zhǔn)備挑一下重點(diǎn)。
后面的基調(diào)應(yīng)該定位為學(xué)習(xí)一些面試能夠體現(xiàn)自己的東西。
5.自己的缺點(diǎn)--心態(tài)問題
還是覺得自己看東西有執(zhí)念,就想什么都搞懂,看的特別細(xì),一字一句都想搞明白,遇到問題耽誤時(shí)間,影響自己的計(jì)劃,就會(huì)感到焦慮。比如看數(shù)據(jù)結(jié)構(gòu)部分,每道題幾種解法都看了,擔(dān)心自己記不住會(huì)多次復(fù)習(xí),結(jié)果搞了一個(gè)學(xué)期,哦,還有小項(xiàng)目的硬件。所以我很羨慕像哥你一樣樂觀的人。
我的回答:
驅(qū)動(dòng)崗位相比于應(yīng)用開發(fā),單片機(jī)開發(fā),確實(shí)崗位會(huì)少點(diǎn)。但是,驅(qū)動(dòng)待遇不錯(cuò),前景比較好,門檻高。未來可以從事很多專精的方向,比如linux內(nèi)核開發(fā),usb驅(qū)動(dòng)開發(fā),音視頻驅(qū)動(dòng)開發(fā)等。這些方向,難度比較大,但越老越值錢,因?yàn)闀?huì)的人比較少。
學(xué)習(xí)前期以正點(diǎn)原子+項(xiàng)目為主。面試前5個(gè)月左右開始刷PDF??吹募?xì)是好事,建議你多做筆記。把自己花了時(shí)間研究的問題都記下來,后面再?gòu)?fù)習(xí)下。
劍指offer是一定要刷的,大廠很愛考算法題,算法題筆試必考,面試必考!根本少不了的。劍指offer的題目,最低要求是一遍。有時(shí)間還是刷兩遍比較好。
小電腦的項(xiàng)目,先把功能實(shí)現(xiàn)再說。把做的過程中遇到的問題記錄下來。面試的時(shí)候就講你遇到的問題,解決思路是什么。后期再針對(duì)一兩個(gè)功能實(shí)現(xiàn),深挖下源代碼,搞懂原理。你這項(xiàng)目拿出去完全沒問題!
如果你是面驅(qū)動(dòng)崗位,你列出的這幾部分都是要看的。除了linux驅(qū)動(dòng)部分可能需要多理解,其他內(nèi)容都是八股文,背誦下來就好了。OS是一定要看的,面試肯定會(huì)問的。ARM架構(gòu)那塊,如果實(shí)在沒時(shí)間,可以不看那么細(xì)。
像操作系統(tǒng)這些八股文現(xiàn)在沒必要看太細(xì)。只要能做到問你問題,能答出來就好了。
等你找到工作后,可以好好研究下操作系統(tǒng),計(jì)算機(jī)組成原理的內(nèi)容。畢竟,我們現(xiàn)在的重點(diǎn)是找到一份工作,而不是把這些理論都搞懂。
有時(shí)間可以再準(zhǔn)備一個(gè)項(xiàng)目,沒時(shí)間就算了。小電腦的項(xiàng)目搞懂70%,面試完全沒問題。QT項(xiàng)目+小電腦項(xiàng)目,兩個(gè)也夠了。驅(qū)動(dòng)方面本來就很少有合適的項(xiàng)目。驅(qū)動(dòng)都是原廠做好的,我們拿來用。
Linux驅(qū)動(dòng)部分,要能講出基本的驅(qū)動(dòng)框架。一個(gè)字符設(shè)備驅(qū)動(dòng)怎么寫?塊設(shè)備驅(qū)動(dòng)怎么寫?總線設(shè)備驅(qū)動(dòng)模型是什么?這些不要求你都能寫出來,但面試一定要能答出來。說白了,還是背誦的問題。
重要度排名:C/C++基礎(chǔ) > 劍指offer > 項(xiàng)目 > ?Linux驅(qū)動(dòng) > 操作系統(tǒng) > ARM架構(gòu)