【第一彈】嵌入式工程師面試題
為大家整理了一些面試經常會遇到的題目,希望這些乾貨對大家面試有所幫助。
一.已知一個陣列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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【第二彈】嵌入式工程師面試題工程師面試題
- python工程師面試題Python工程師面試題
- 【嵌入式工程師面試高頻問題】你知道SPI嗎工程師面試
- 2018前端圈面試題第一彈前端面試題
- c++工程師面試問題C++工程師面試
- 網際網路 Java 工程師面試題(Spring 面試題一)Java工程師面試題Spring
- 前端工程師面試題(html+css)前端工程師面試題HTMLCSS
- 前端工程師面試題彙總(轉)前端工程師面試題
- 面試過了,總結測試工程師面試題(含答案)工程師面試題
- 面試問題總結(Java工程師 20190301)面試Java工程師
- Linux運維工程師面試題之一Linux運維工程師面試題
- 經典web開發工程師面試題Web工程師面試題
- Java工程師面試題之Dubbo(含答案)Java工程師面試題
- 面試題-測試工程師常見的基礎問題面試題工程師
- web前端工程師面試題10條必會筆試題Web前端工程師面試題筆試
- 2020面試必知:中高階工程師面試題集整理(題目+答案)工程師面試題
- web前端工程師面試題更新了,找工作必背的面試題 一Web前端工程師面試題
- 2019年,Python工程師必考的6個面試題,Python面試題No5Python工程師面試題
- PHP開發工程師面試問題集錦PHP工程師面試
- Java初級開發工程師面試題合集Java工程師面試題
- .net開發工程師常見的面試題工程師面試題
- 軟體測試工程師必會的面試題目工程師面試題
- 回望2022,拒絕間接性努力【面試題第一彈】面試題
- 又面試了Python爬蟲工程師,碰到這麼幾道面試題,Python面試題No9Python爬蟲工程師面試題
- oppo、有贊測試開發工程師節選面試題工程師面試題
- 【演算法工程師】Python面試問題總結演算法工程師Python面試
- Python工程師必看的面試問題與解答(中)Python工程師面試
- 百度 Linux 運維工程師面試真題Linux運維工程師面試
- Linux運維工程師 50個常見面試題Linux運維工程師面試題
- Android開發工程師面試指南(面試題集附答案、簡歷模板)Android工程師面試題
- 雲端計算工程師面試題集錦,雲端計算面試題及答案工程師面試題
- 雲端計算面試題及答案,雲端計算工程師面試題集錦面試題工程師
- 測試工程師的面試總結工程師面試
- 2017 年軟體實施工程師筆試面試題及答案工程師筆試面試題
- 安卓系統工程師2018(面試題整理,含答案)安卓工程師面試題
- 史上最全的中高階JAVA工程師-面試題彙總Java工程師面試題
- Python工程師求職必知的經典面試題!Python工程師求職面試題
- Python工程師求職必知的經典面試題Python工程師求職面試題