【第一彈】嵌入式工程師面試題

cdfarsight發表於2021-11-04

為大家整理了一些面試經常會遇到的題目,希望這些乾貨對大家面試有所幫助。

一.已知一個陣列table,用一個宏定義,求出資料的元素個數
答: #define NTBL (sizeof(tabl

二.一個32位的機器,該機器的指標是多少位?
答:指標是多少位只要看地址匯流排的位數就行了。80386以後的機子都是32的資料匯流排。所以指標的位數就是4個位元組了。

三.關鍵字const有什麼含義?
答:1)只讀。2)使用關鍵字const也許能產生更緊湊的程式碼。3)使 很自然地保護那些不希望被改變的引數,防止其被無意的程式碼修改。

四.TCP與UDP有啥 ?
答:TCP和UDP是OSI模型中的運輸層中的協議。TCP提供可靠的 ,而UDP則常被用於廣播和細節控制交給應用的通訊傳輸,兩者主要的不同體現在一下幾個方面:
1、TCP面向連線(如打電話要先撥號建立連線);UDP是無連線的,即傳送資料之前不需要建立連線
2、TCP提供可靠的服務。它透過校驗和,丟包時的重傳控制,序號標識,滑動視窗、確認應答,次序亂掉的分包進行順序控制實現可靠傳輸。即透過TCP連線傳送的資料,無差錯,不丟失,不重複,且按序到達; UDP盡最大努力交付,即不保證可靠交付。
3、UDP具有較好的實時性,工作效率比TCP高,適用於對高速傳輸和實時性有較高要求的通訊或廣播通訊場景。
4、每一條TCP連線只能是點到點的; UDP支援一對一,一對多,多對一和多對多的互動通訊方式。
5、TCP對系統資源要求較多,UDP對系統資源要求較少。
UDP有時比TCP更有優勢:
UDP以其簡單、傳輸快的優勢,在越來越多場景下取代了TCP, 如實時遊戲。
(1)網速的提升給UDP的穩定性提供可靠網路保障,丟包率很低,如果使用應用層重傳,能夠確保傳輸的可靠性。
(2)TCP為了實現網路通訊的可靠性,使用了複雜的擁塞控制演算法,建立了繁瑣的握手過程,由於TCP在內建的系統協議棧中,極難對其進行改進。
採用TCP,一旦發生丟包,TCP會將後續的包快取起來,等前面的包重傳並接收到後再繼續傳送,延時會越來越大。
基於UDP對實時性要求較為嚴格的情況下,採用自定義重傳機制,能夠把丟包產生的延遲降到最低,儘量減少網路問題造成的影響。

五.請問以下程式碼有什麼問題:
int main() {
char a;
char *str=&a;
strcpy(str,"hello");
(str);
return 0;
}
答:沒有為str分配記憶體空間,將會發生異常,問題出在將一個字串複製進一個字元變數指標所指地址。雖然可以正確輸出結果,但因為越界進行內在讀寫而導致程式崩潰。
e)/sizeof(table[0]))
2.程式的區域性變數存在於哪裡,全域性變數存在於哪裡,動態申請資料存在於哪裡。
答:程式的區域性變數存在於棧區;全域性變數存在於靜態區;動態申請資料存在於堆區。

六.寫一個"標準"宏MIN ,這個宏輸入兩個引數並返回較小的一個
答:#define MIN(A,B) ((A) <= (B) ? (A) : (B))
考點:
1) 標識#define在宏中應用的基本知識。這是很重要的。因為在  (inline)運算子 變為標準C的一部分之前,宏是方便產生嵌入程式碼的唯一方法,對於 系統來說,為了能達到要求的效能,嵌入程式碼經常是必須的方法。
2) 三重條件運算子的知識。這個運算子存在C語言中的原因是它使得編譯器能產生比if-then-else更優的程式碼,瞭解這個用法是很重要的。
3) 懂得在宏中小心地把引數用括號括起來。

七.引用與指標有什麼區別?
答:
1) 引用必須被初始化,指標不必。
2) 引用初始化以後不能被改變,指標可以改變所指的物件。
3) 不存在指向空值的引用,但是存在指向空值的指標。

八.do……while和while有什麼區別?
答:前一個迴圈一遍再判斷,後一個判斷以後再迴圈。

九.什麼是預編譯,何時需要預編譯?
答:
1、總是使用不經常改動的大型程式碼體。
2、程式由多個模組組成,所有模組都使用一組標準的包含檔案和相同的編譯選項。在這種情況下,可以將所有包含檔案預編譯為一個預編譯頭。
預編譯 指示了在程式正式編譯前就由編譯器進行的操作,可以放在程式中的任何位置。

十.產生死鎖的原因是什麼?
答:多個併發程式因爭奪系統資源而產生相互等待的現象。即:一組程式中的每個程式都在等待某個事件發生,而只有這組程式中的其他程式才能觸發該事件,這就稱這組程式發生了死鎖。
產生死鎖的本質原因為:
1)、系統資源有限。
2)、程式推進順序不合理。
希望以上整理的面試題能對眾位求職者有所幫助。


可私信我瞭解更多嵌入式

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69996125/viewspace-2840526/,如需轉載,請註明出處,否則將追究法律責任。

相關文章