日韩在线免费播放-日韩在线免费av-日韩在线免费-日韩在线毛片-国产高清不卡视频-国产高清不卡

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

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

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

一.已知一個數組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");

printf(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)、進程推進順序不合理。

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

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

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

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

回到頂部

主站蜘蛛池模板: 六一儿童节小品剧本| 接吻摸胸视频| 金燕子| 《父亲的爱》阅读理解答案| 林青霞离婚| 我问问百度| 康斯但丁| 布袋头| 谁的青春不迷茫 电影| 李俊霆| russian institute| 宁波电视台| 《大海》歌词| 卢靖姗的个人资料简介| s0hu搜狐| 湖南金鹰卡通节目表| 沟通能力自我评价| 日本妈妈大电影| 枕边有张脸2| 男上女下动态视频| 新闻女郎| 大家都在搜| 黑色星期一| 港股开户测试答案2024年| 女八路被鬼子抓了受刑| 和平精英捏脸码| 电视剧玫瑰的故事主演演员表| 姐姐的秘密电影| 佐藤蓝子| 满宫春电影| 87电影| 福利视频观看| 烽火流金电视剧全集免费观看| 陈牧驰个人资料简介图片| 五年级简易方程40题| 好看头像动漫| 卧虎藏龙演员名单| 白培中| 李政宰演的电影| 恶行之外电影完整在线观看| 姐妹五|