gogo专业大尺度亚洲高清人体,美女张开双腿让男生桶,亚洲av无码一区二区三区鸳鸯影院,久久久久国产精品人妻

當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式招聘 > 嵌入式面試題 > 10道嵌入式工程師面試題(第一彈)

10道嵌入式工程師面試題(第一彈) 時(shí)間:2021-06-11      來源:華清遠(yuǎn)見

我們根據(jù)以往的學(xué)員的面試經(jīng)歷,為大家整理了一些面試經(jīng)常會(huì)遇到的題目,希望這些干貨對(duì)大家面試有所幫助。

一.已知一個(gè)數(shù)組table,用一個(gè)宏定義,求出數(shù)據(jù)的元素個(gè)數(shù)

答: #define NTBL (sizeof(tabl

二.一個(gè)32位的機(jī)器,該機(jī)器的指針是多少位?

答:指針是多少位只要看地址總線的位數(shù)就行了。80386以后的機(jī)子都是32的數(shù)據(jù)總線。所以指針的位數(shù)就是4個(gè)字節(jié)了。

三.關(guān)鍵字const有什么含義?

答:1)只讀。2)使用關(guān)鍵字const也許能產(chǎn)生更緊湊的代碼。3)使編譯器很自然地保護(hù)那些不希望被改變的參數(shù),防止其被無意的代碼修改。

四.TCP與UDP有啥區(qū)別?

答:TCP和UDP是OSI模型中的運(yùn)輸層中的協(xié)議。TCP提供可靠的通信傳輸,而UDP則常被用于廣播和細(xì)節(jié)控制交給應(yīng)用的通信傳輸,兩者主要的不同體現(xiàn)在一下幾個(gè)方面:

1、TCP面向連接(如打電話要先撥號(hào)建立連接);UDP是無連接的,即發(fā)送數(shù)據(jù)之前不需要建立連接

2、TCP提供可靠的服務(wù)。它通過校驗(yàn)和,丟包時(shí)的重傳控制,序號(hào)標(biāo)識(shí),滑動(dòng)窗口、確認(rèn)應(yīng)答,次序亂掉的分包進(jìn)行順序控制實(shí)現(xiàn)可靠傳輸。即通過TCP連接傳送的數(shù)據(jù),無差錯(cuò),不丟失,不重復(fù),且按序到達(dá); UDP盡最大努力交付,即不保證可靠交付。

3、UDP具有較好的實(shí)時(shí)性,工作效率比TCP高,適用于對(duì)高速傳輸和實(shí)時(shí)性有較高要求的通信或廣播通信場景。

4、每一條TCP連接只能是點(diǎn)到點(diǎn)的; UDP支持一對(duì)一,一對(duì)多,多對(duì)一和多對(duì)多的交互通信方式。

5、TCP對(duì)系統(tǒng)資源要求較多,UDP對(duì)系統(tǒng)資源要求較少。

UDP有時(shí)比TCP更有優(yōu)勢:

UDP以其簡單、傳輸快的優(yōu)勢,在越來越多場景下取代了TCP, 如實(shí)時(shí)游戲。

(1)網(wǎng)速的提升給UDP的穩(wěn)定性提供可靠網(wǎng)絡(luò)保障,丟包率很低,如果使用應(yīng)用層重傳,能夠確保傳輸?shù)目煽啃浴?/p>

(2)TCP為了實(shí)現(xiàn)網(wǎng)絡(luò)通信的可靠性,使用了復(fù)雜的擁塞控制算法,建立了繁瑣的握手過程,由于TCP在內(nèi)置的系統(tǒng)協(xié)議棧中,極難對(duì)其進(jìn)行改進(jìn)。

采用TCP,一旦發(fā)生丟包,TCP會(huì)將后續(xù)的包緩存起來,等前面的包重傳并接收到后再繼續(xù)發(fā)送,延時(shí)會(huì)越來越大。

基于UDP對(duì)實(shí)時(shí)性要求較為嚴(yán)格的情況下,采用自定義重傳機(jī)制,能夠把丟包產(chǎn)生的延遲降到最低,盡量減少網(wǎng)絡(luò)問題造成的影響。

五.請(qǐng)問以下代碼有什么問題:

int main() {

char a;

char *str=&a;

strcpy(str,"hello");

printf(str);

return 0;

}

答:沒有為str分配內(nèi)存空間,將會(huì)發(fā)生異常,問題出在將一個(gè)字符串復(fù)制進(jìn)一個(gè)字符變量指針?biāo)傅刂。雖然可以正確輸出結(jié)果,但因?yàn)樵浇邕M(jìn)行內(nèi)在讀寫而導(dǎo)致程序崩潰。

e)/sizeof(table[0]))

2.程序的局部變量存在于哪里,全局變量存在于哪里,動(dòng)態(tài)申請(qǐng)數(shù)據(jù)存在于哪里。

答:程序的局部變量存在于棧區(qū);全局變量存在于靜態(tài)區(qū);動(dòng)態(tài)申請(qǐng)數(shù)據(jù)存在于堆區(qū)。

六.寫一個(gè)"標(biāo)準(zhǔn)"宏MIN ,這個(gè)宏輸入兩個(gè)參數(shù)并返回較小的一個(gè)

答:#define MIN(A,B) ((A) <= (B) ? (A) : (B))

考點(diǎn):

1) 標(biāo)識(shí)#define在宏中應(yīng)用的基本知識(shí)。這是很重要的。因?yàn)樵?嵌入(inline)操作符 變?yōu)闃?biāo)準(zhǔn)C的一部分之前,宏是方便產(chǎn)生嵌入代碼的唯一方法,對(duì)于嵌入式系統(tǒng)來說,為了能達(dá)到要求的性能,嵌入代碼經(jīng)常是必須的方法。

2) 三重條件操作符的知識(shí)。這個(gè)操作符存在C語言中的原因是它使得編譯器能產(chǎn)生比if-then-else更優(yōu)的代碼,了解這個(gè)用法是很重要的。

3) 懂得在宏中小心地把參數(shù)用括號(hào)括起來。

七.引用與指針有什么區(qū)別?

答:

1) 引用必須被初始化,指針不必。

2) 引用初始化以后不能被改變,指針可以改變所指的對(duì)象。

3) 不存在指向空值的引用,但是存在指向空值的指針。

八.do……while和while有什么區(qū)別?

答:前一個(gè)循環(huán)一遍再判斷,后一個(gè)判斷以后再循環(huán)。

九.什么是預(yù)編譯,何時(shí)需要預(yù)編譯?

答:

1、總是使用不經(jīng)常改動(dòng)的大型代碼體。

2、程序由多個(gè)模塊組成,所有模塊都使用一組標(biāo)準(zhǔn)的包含文件和相同的編譯選項(xiàng)。在這種情況下,可以將所有包含文件預(yù)編譯為一個(gè)預(yù)編譯頭。

預(yù)編譯指令指示了在程序正式編譯前就由編譯器進(jìn)行的操作,可以放在程序中的任何位置。

十.產(chǎn)生死鎖的原因是什么?

答:多個(gè)并發(fā)進(jìn)程因爭奪系統(tǒng)資源而產(chǎn)生相互等待的現(xiàn)象。即:一組進(jìn)程中的每個(gè)進(jìn)程都在等待某個(gè)事件發(fā)生,而只有這組進(jìn)程中的其他進(jìn)程才能觸發(fā)該事件,這就稱這組進(jìn)程發(fā)生了死鎖。

產(chǎn)生死鎖的本質(zhì)原因?yàn)椋?/p>

1)、系統(tǒng)資源有限。

2)、進(jìn)程推進(jìn)順序不合理。

希望以上整理的面試題能對(duì)眾位求職者有所幫助。

上一篇:面試專用Linux知識(shí)點(diǎn)

下一篇:九道常見嵌入式工程師面試題(第二彈)

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5京公海網(wǎng)安備11010802025203號(hào)

回到頂部