久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式招聘 > 嵌入式面試題 > 10道嵌入(ru)式工程師面試題(第一彈(dan))

10道嵌入(ru)式工程(cheng)師面試題(第一彈) 時間:2021-06-11      來(lai)源(yuan):華清(qing)遠見

我們(men)根(gen)據以往(wang)的學員的面(mian)試經歷,為大家整理(li)了一些面(mian)試經常會遇到的題目,希望這(zhe)些干貨對大家面(mian)試有所幫助(zhu)。

一.已知一個數組table,用一個宏定義,求出數據的元素個數

答: #define NTBL (sizeof(tabl

二.一個32位的機器,該機器的指針是多少位?

答:指(zhi)針是多少(shao)位只要看(kan)地址總線的(de)位數就(jiu)行了(le)。80386以后的(de)機子都是32的(de)數據總線。所(suo)以指(zhi)針的(de)位數就(jiu)是4個(ge)字節了(le)。

三.關鍵字const有什么含義?

答:1)只讀。2)使(shi)用關鍵字const也許能產生更緊湊的代(dai)碼(ma)。3)使(shi)編譯器很自然地保護那些不希望被改(gai)變的參數,防止其被無(wu)意(yi)的代(dai)碼(ma)修(xiu)改(gai)。

四.TCP與UDP有啥區別?

答:TCP和UDP是OSI模型(xing)中的運輸(shu)層中的協議(yi)。TCP提供(gong)可靠的通(tong)信傳(chuan)輸(shu),而UDP則常被用于廣(guang)播(bo)和細節控制(zhi)交給應(ying)用的通(tong)信傳(chuan)輸(shu),兩者(zhe)主要的不同體現在一下幾個方面:

1、TCP面(mian)向連(lian)接(jie)(jie)(如打(da)電話要(yao)先撥號建(jian)立(li)(li)連(lian)接(jie)(jie));UDP是無(wu)連(lian)接(jie)(jie)的,即發送(song)數據之(zhi)前不需要(yao)建(jian)立(li)(li)連(lian)接(jie)(jie)

2、TCP提供可(ke)靠(kao)的(de)(de)服務。它通過校驗和(he),丟(diu)包時的(de)(de)重(zhong)傳控(kong)制(zhi)(zhi),序號標(biao)識,滑動(dong)窗口(kou)、確認應答,次序亂掉的(de)(de)分(fen)包進行(xing)順序控(kong)制(zhi)(zhi)實現(xian)可(ke)靠(kao)傳輸。即通過TCP連接傳送(song)的(de)(de)數據,無(wu)差錯(cuo),不丟(diu)失,不重(zhong)復,且按序到達; UDP盡最大努力交付,即不保證(zheng)可(ke)靠(kao)交付。

3、UDP具有較(jiao)好的實(shi)時性(xing),工作效率比TCP高(gao),適(shi)用于對高(gao)速(su)傳輸(shu)和(he)實(shi)時性(xing)有較(jiao)高(gao)要(yao)求的通信(xin)或廣播(bo)通信(xin)場景。

4、每一(yi)(yi)(yi)條TCP連(lian)接只能是點(dian)到點(dian)的(de); UDP支持一(yi)(yi)(yi)對(dui)一(yi)(yi)(yi),一(yi)(yi)(yi)對(dui)多(duo),多(duo)對(dui)一(yi)(yi)(yi)和多(duo)對(dui)多(duo)的(de)交(jiao)互通信(xin)方式(shi)。

5、TCP對系統資(zi)(zi)源(yuan)要求較多,UDP對系統資(zi)(zi)源(yuan)要求較少。

UDP有時比(bi)TCP更有優勢:

UDP以(yi)其簡單、傳(chuan)輸(shu)快的優勢,在(zai)越(yue)來越(yue)多(duo)場景下取代了TCP, 如實時游戲。

(1)網(wang)速的提升給UDP的穩定性提供可靠網(wang)絡保障(zhang),丟包率很(hen)低,如(ru)果使(shi)用(yong)應(ying)用(yong)層重傳,能夠(gou)確(que)保傳輸(shu)的可靠性。

(2)TCP為了實現網絡通信的(de)可靠性,使(shi)用了復雜的(de)擁塞控制算法,建(jian)立了繁(fan)瑣的(de)握手過程,由于TCP在內置的(de)系(xi)統協議棧中,極難對其進行改進。

采用TCP,一旦發生丟包,TCP會將后續的包緩存起來(lai),等(deng)前面的包重傳并接收到后再繼(ji)續發送,延時會越來(lai)越大。

基于UDP對實時性要求較為嚴格的(de)情況下,采用自(zi)定義重傳機(ji)制,能夠把丟包產生的(de)延遲降到最低,盡(jin)量減少(shao)網(wang)絡問題造成(cheng)的(de)影響。

五.請問以下代碼有什么問題:

int main() {

char a;

char *str=&a;

strcpy(str,"hello");

printf(str);

return 0;

}

答:沒有(you)為(wei)str分(fen)配內存空(kong)間,將會(hui)發生異常,問題出在將一個字符(fu)串(chuan)復制(zhi)進一個字符(fu)變量指(zhi)針所(suo)指(zhi)地址。雖(sui)然可以正確輸(shu)出結(jie)果,但因為(wei)越界(jie)進行內在讀(du)寫(xie)而導致程序崩潰(kui)。

e)/sizeof(table[0]))

2.程序的局(ju)部(bu)變(bian)量(liang)存在(zai)于(yu)哪(na)(na)里,全局(ju)變(bian)量(liang)存在(zai)于(yu)哪(na)(na)里,動態申(shen)請數(shu)據(ju)存在(zai)于(yu)哪(na)(na)里。

答:程序的(de)局(ju)部變量(liang)存在(zai)(zai)于棧區(qu);全局(ju)變量(liang)存在(zai)(zai)于靜態區(qu);動態申請數據存在(zai)(zai)于堆區(qu)。

六.寫一個"標準"宏MIN ,這個宏輸入兩個參數并返回較小的一個

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

考點:

1) 標(biao)識#define在(zai)(zai)宏中應用的基本知識。這是很重(zhong)要的。因(yin)為在(zai)(zai) 嵌入(inline)操(cao)作符(fu) 變(bian)為標(biao)準C的一(yi)部分之前,宏是方便產生嵌入代碼的唯一(yi)方法,對(dui)于嵌入式系(xi)統來說,為了能達到要求的性能,嵌入代碼經常是必須的方法。

2) 三重條件(jian)操(cao)作(zuo)(zuo)符的(de)(de)(de)知識。這個操(cao)作(zuo)(zuo)符存在C語言中的(de)(de)(de)原因是(shi)它使(shi)得編(bian)譯器能(neng)產生比(bi)if-then-else更優的(de)(de)(de)代碼,了解這個用法是(shi)很重要的(de)(de)(de)。

3) 懂得在宏中小心地把參數用括(kuo)號括(kuo)起來。

七.引用與指針有什么區別?

答:

1) 引用必(bi)須被初(chu)始化(hua),指針不(bu)必(bi)。

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

3) 不(bu)存(cun)在(zai)指(zhi)向空值(zhi)的(de)引用,但是存(cun)在(zai)指(zhi)向空值(zhi)的(de)指(zhi)針。

八.do……while和while有什么區別?

答:前一(yi)(yi)個(ge)循(xun)環一(yi)(yi)遍(bian)再判(pan)斷,后一(yi)(yi)個(ge)判(pan)斷以(yi)后再循(xun)環。

九.什么是預編譯,何時需要預編譯?

答:

1、總(zong)是使用(yong)不(bu)經常改(gai)動的大(da)型代碼(ma)體。

2、程序由多個模(mo)塊組成,所(suo)有模(mo)塊都使(shi)用一組標準的包含(han)文件(jian)和相同(tong)的編(bian)譯選項(xiang)。在這種情況下(xia),可以將(jiang)所(suo)有包含(han)文件(jian)預(yu)(yu)編(bian)譯為(wei)一個預(yu)(yu)編(bian)譯頭。

預編譯指(zhi)令指(zhi)示了在程(cheng)序(xu)正式編譯前就由編譯器進行的操作,可以放在程(cheng)序(xu)中的任(ren)何位置。

十(shi).產生死鎖(suo)的(de)原因是什么?

答:多個(ge)并發(fa)進(jin)(jin)(jin)程(cheng)因(yin)爭奪系統資源而產生相(xiang)互等待的現象。即(ji):一組(zu)(zu)進(jin)(jin)(jin)程(cheng)中的每個(ge)進(jin)(jin)(jin)程(cheng)都在等待某個(ge)事(shi)件(jian)發(fa)生,而只(zhi)有這組(zu)(zu)進(jin)(jin)(jin)程(cheng)中的其他進(jin)(jin)(jin)程(cheng)才能觸發(fa)該事(shi)件(jian),這就稱這組(zu)(zu)進(jin)(jin)(jin)程(cheng)發(fa)生了死鎖(suo)。

產生死鎖的(de)本質原因為(wei):

1)、系統資源有(you)限(xian)。

2)、進程(cheng)推進順序不合理。

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

上一篇:面試專用Linux知識點

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

熱點文章推薦
華(hua)清學員就業榜單
高薪學員經驗分享
熱點新聞(wen)推(tui)薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院(yuan)校合作洽談專線(xian):010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部