同樣工作5年,我實(shí)在自愧不如?;蛟S是因?yàn)?a href="http://www.wenjunhu.com/soft/data/21-22/" target="_blank">嵌入式太繁雜,一個(gè)公司一種開發(fā)模式,導(dǎo)致我個(gè)人的積累有些單薄。
為了方便大家,我決定簡單列出面試題目,而不做詳細(xì)說明,大家可以自己去搜索答案。
背景:
我之前工作過兩家公司,一家做智能卡芯片的,一家做藍(lán)牙產(chǎn)品,基本是應(yīng)用層的內(nèi)容。可惜嵌入式開發(fā)會(huì)越來越向底層發(fā)展,沒做過底層協(xié)議開發(fā)是我的一大軟肋。
自學(xué)過TCP/IP,linux內(nèi)核(0.11版)
使用過python
公司A
一面
項(xiàng)目模式(產(chǎn)品/模塊)
藍(lán)牙芯片在產(chǎn)品中的作用(MCU,控制外部DSP或其他芯片;或只作為藍(lán)牙模塊)
藍(lán)牙軟件成品模式(固件模式,通過SPI燒錄)
藍(lán)牙協(xié)議棧的架構(gòu)和分層
藍(lán)牙協(xié)議棧與網(wǎng)絡(luò)協(xié)議棧(4層架構(gòu)或7層架構(gòu))的對比
藍(lán)牙芯片(是否基于Linux或其他常用架構(gòu))
藍(lán)牙軟件的軟件架構(gòu)(event-driven類型的,而不是單片機(jī)那種大while循環(huán)的)
函數(shù)指針與指針函數(shù)分別是什么?用簡單的代碼表示出來
Linux內(nèi)核的版本;操作系統(tǒng)任務(wù)切換的關(guān)鍵是什么(保存上個(gè)任務(wù)的上下文,加載下個(gè)任務(wù)的上下文)
二面
說說經(jīng)歷過的最難的項(xiàng)目
分享
這個(gè)其實(shí)是我同學(xué)推薦的,雖然面試完全沒有準(zhǔn)備(因?yàn)閭€(gè)人原因還未開始投簡歷),但面試過程還算基本順利。可惜該公司有個(gè)性格測試,沒過
公司B
自我介紹
項(xiàng)目模式(產(chǎn)品/模塊)
藍(lán)牙芯片在產(chǎn)品中的作用(MCU,控制外部DSP或其他芯片;或只作為藍(lán)牙模塊)
藍(lán)牙協(xié)議棧與TCP/IP模型的對比;描述一下TCP/IP模型(協(xié)議)的主要內(nèi)容;藍(lán)牙協(xié)議的細(xì)節(jié)
wifi與藍(lán)牙的對比
藍(lán)牙通信速率(面試時(shí)沒答上來,基本沒關(guān)注過……后來了解到現(xiàn)在最大24Mbps,一般也就幾十k)
python的項(xiàng)目經(jīng)歷
I2C的通信模式(看來是答錯(cuò)了,我以為有個(gè)校驗(yàn)位(UART有校驗(yàn)位,是10位數(shù)據(jù)),結(jié)果每次傳輸是8bit,然后1bit應(yīng)答),通信速率,工作時(shí)的掛載情況(最多5,6個(gè)設(shè)備)
USB的協(xié)議架構(gòu)
git的使用
makefile的了解(編譯的經(jīng)過)
Linux內(nèi)核的版本(推薦我看2.4版本……)
Linux驅(qū)動(dòng)開發(fā)
socket
分享
總結(jié)了之前的經(jīng)驗(yàn),專門看了一些藍(lán)牙底層協(xié)議和網(wǎng)絡(luò)四層協(xié)議的對比,但是忽略了I2C,之前做I2C也不是做I2C的底層協(xié)議,主要是應(yīng)用,抓取過一些I2C的通信數(shù)據(jù),UART也是同樣的,結(jié)果我在數(shù)據(jù)格式上沒分清UART和I2C。USB協(xié)議也不太了解,只是在原來的公司做過一些基本是應(yīng)用層的代碼改動(dòng)。
公司C
部門1
自我介紹
手機(jī)開發(fā)
手機(jī)架構(gòu)分層
C開發(fā)平臺
是否做過Linux驅(qū)動(dòng)開發(fā)
部門2:
一面
自我介紹
最有挑戰(zhàn)的項(xiàng)目
職業(yè)發(fā)展方向(我表示我想做Linux驅(qū)動(dòng)開發(fā)或系統(tǒng)開發(fā),不過面試官說他們的項(xiàng)目里并沒有分的很詳細(xì))
我問的問題:項(xiàng)目的產(chǎn)品
二面
C程序,判斷一個(gè)對稱數(shù)
刪除雙鏈表中的一個(gè)已知節(jié)點(diǎn)p
好的代碼應(yīng)該有的特點(diǎn)
分享
部門1是做芯片開發(fā)的,可惜我完全沒接觸過。所以問了幾個(gè)問題后感覺不合適,就結(jié)束了。
公司D
單片機(jī)經(jīng)驗(yàn)(51或linux)
軟件架構(gòu);個(gè)人負(fù)責(zé)的部分
我問的問題:公司的主控芯片和產(chǎn)品的關(guān)系
分享
這個(gè)公司是看到我的藍(lán)牙經(jīng)驗(yàn),考慮他們的產(chǎn)品中可能會(huì)用到藍(lán)牙才面試我的,但我做的不是藍(lán)牙底層協(xié)議,他們了解到這個(gè)后就沒怎么再問了
公司E
一面
好的編程習(xí)慣(結(jié)合C語言的測試題詳細(xì)說明,第一個(gè)點(diǎn)出C變量的聲明和初始化的位置應(yīng)該在一起)
第一份工作的內(nèi)容,負(fù)責(zé)的部分,拿到一個(gè)文檔后如何開發(fā)/測試
第二份工作中影響最大的項(xiàng)目,為什么要實(shí)現(xiàn)藍(lán)牙設(shè)備之間的連接?為什么不從主設(shè)備直接向2個(gè)藍(lán)牙設(shè)備播放音樂?
這么多年編程有什么最寶貴的編程經(jīng)驗(yàn)?
二面
影響最大的項(xiàng)目
分享
一面有點(diǎn)像壓力測試,比如問題“為什么要實(shí)現(xiàn)藍(lán)牙設(shè)備之間的連接?為什么不從主設(shè)備直接向2個(gè)藍(lán)牙設(shè)備播放音樂?”產(chǎn)品設(shè)計(jì)并不是我做的,至于為什么我也不清楚?!盀槭裁床粡闹髟O(shè)備直接向2個(gè)藍(lán)牙設(shè)備播放音樂?”這是因?yàn)槟壳暗娜魏我豢钍謾C(jī)還不支持同時(shí)向2個(gè)藍(lán)牙設(shè)備播放音樂??磥泶蠹叶贾浪{(lán)牙,但是都沒用過啊,如果面試官用過多個(gè)藍(lán)牙設(shè)備,就不會(huì)問這種問題了。
公司F
volatile的作用(沒答上來)
如何寫一個(gè)無限循環(huán)?
如何跳出無限循環(huán)?(面試官說可以使用goto來跳出循環(huán))
為什么一般C程序中不使用goto(面試官提示:如果從一個(gè)函數(shù)中使用goto到函數(shù)外,會(huì)有什么影響?)
UART,通信的細(xì)節(jié):UART的數(shù)據(jù)格式?如何保證在偵聽UART時(shí)不會(huì)一直判斷接收到0?
2種CPU架構(gòu)(不知道,面試官說是馮諾伊曼架構(gòu)和哈佛架構(gòu),還提了一句圖靈機(jī)……)
RISC和CISC的區(qū)別(沒回答上來,面試官說是與指令長度有關(guān)。我說我只了解比如匯編中RET長度可能只有2字節(jié),而jmp指令可能是4字節(jié),這樣匯編轉(zhuǎn)換成機(jī)器碼后,可能會(huì)做4字節(jié)對齊,如果一段指令剛好差2個(gè)字節(jié),就會(huì)補(bǔ)2字節(jié)的0。所以有些機(jī)器碼反匯編后就會(huì)出錯(cuò),是因?yàn)閯偤醚a(bǔ)0造成的。)
寄存器長度變小,尋址范圍會(huì)變小么?(我答錯(cuò)了。應(yīng)該是不會(huì),考慮CPU上的地址總線和數(shù)據(jù)總線是分開的)
一個(gè)簡單的C函數(shù)編程,如何把一個(gè)變量中的某一比特取反?
在軟件上,有中斷號,中斷向量表,中斷函數(shù),3者的關(guān)系是什么?(學(xué)過linux 0.11版的同學(xué)們肯定都知道答案)
發(fā)生中斷,芯片會(huì)做什么?(我回答的軟件部分的東西:影響堆棧,任務(wù)會(huì)切換到內(nèi)核態(tài)并執(zhí)行中斷。不清楚具體硬件上會(huì)做什么,印象里CPU只有中斷標(biāo)志位會(huì)被置位。其他芯片不太了解)
芯片如何降低功耗(sleep部分模塊,具體的睡眠操作:斷電還是取消時(shí)鐘)
如何喚醒已經(jīng)睡眠的模塊?
時(shí)鐘變慢的影響?(不太懂芯片……)
英文對話
我問的問題:項(xiàng)目的工作方向(了解到是做一個(gè)芯片內(nèi)部的模塊驗(yàn)證工作)
分享
這家公司是做芯片的,所以問的東西有點(diǎn)偏底層,微電子方向。雖然感覺面試官超有親和力,但我還是想做軟件開發(fā)方面的,所以有點(diǎn)對不住這位面試官。
總結(jié)
嵌入式開發(fā)還是相當(dāng)繁雜的。從芯片級開發(fā)到嵌入式產(chǎn)品的開發(fā),或許我投的還是有些廣,但是有一點(diǎn)大家一定要知道,把自己寫在簡歷上的內(nèi)容掌握,無論別人怎么問都不會(huì)出錯(cuò),這樣才能正確體現(xiàn)自己的實(shí)力
-
嵌入式
+關(guān)注
關(guān)注
5087文章
19153瀏覽量
306416 -
工程師
+關(guān)注
關(guān)注
59文章
1571瀏覽量
68574
發(fā)布評論請先 登錄
相關(guān)推薦
評論