日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

2018年摩拜校招嵌入式工程师笔试卷

發(fā)布時(shí)間:2023/11/27 生活经验 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2018年摩拜校招嵌入式工程师笔试卷 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

拓展:

嵌入式工程師題庫(適用于各大名廠筆試、軟考、計(jì)算機(jī)等級考試)


第1題:下面代碼片段中有哪些隱患或者錯(cuò)誤?

回答:?

1、調(diào)用get2(m)函數(shù)的時(shí)候,沒有return,也不是全局變量,無法將new申請的內(nèi)存地址傳出,無法修改m的實(shí)際值;

2、調(diào)用m=get1()函數(shù)的時(shí)候,函數(shù)內(nèi)定義的數(shù)組是局部變量,對應(yīng)的內(nèi)存在這個(gè)函數(shù)結(jié)束的時(shí)候就會被釋放,因此return buf返回的地址是無效的,調(diào)用這樣的地址造成嚴(yán)重錯(cuò)誤;

3、調(diào)用memcpy(m,"aaa",3)函數(shù),m為int類型指針,并不是指針數(shù)組,往一個(gè)沒有權(quán)限的無效內(nèi)存空間拷貝數(shù)據(jù)是非法的。


第2題:用變量a給出以下定義:

  • 一個(gè)指向指針的指針,它指向的指針是指向一個(gè)整型數(shù);
  • 一個(gè)有10個(gè)指針的數(shù)組,該指針是指向一個(gè)整型數(shù)的;
  • 一個(gè)指向有10個(gè)整型數(shù)數(shù)組的指針。

回答:

int **a;
int *a[10];
int (*a)[10];

?第3題:簡述SPI、IIC、UART接口的區(qū)別和各自收發(fā)數(shù)據(jù)的方法。

回答:

SPI:串行同步外設(shè)接口,全雙工通信,SPI 是一個(gè)同步協(xié)議接口,所有的傳輸都參照一個(gè)共同的時(shí)鐘,這個(gè)同步時(shí)鐘信號由主機(jī)(處理器)產(chǎn)生,接收數(shù)據(jù)的外設(shè)(從設(shè)備)使用時(shí)鐘來對串行比特流的接收進(jìn)行同步化。可能會有許多芯片連到主機(jī)的同一個(gè)SPI接口上,這時(shí)主機(jī)通過觸發(fā)從設(shè)備的片選輸入引腳來選擇接收數(shù)據(jù)的從設(shè)備,沒有被選中的外設(shè)將不會參與SPI傳輸。

SPI主要使用4個(gè)信號:主機(jī)輸出/從機(jī)輸入(MOSI)、主機(jī)輸入/從機(jī)輸出(MISO)、串行SCLK或SCK和外設(shè)芯片(CS )。有些處理器有SPI接口專用的芯片選擇,稱為從機(jī)選擇(SS)。

主機(jī)和外設(shè)都包含一個(gè)串行移位寄存器,主機(jī)通過向它的SPI串行寄存器寫入一個(gè)字節(jié)來發(fā)起一次傳輸。寄存器是通過MOSI信號線將字節(jié)傳送給外設(shè),外設(shè)也將自己移位寄存器中的內(nèi)容通過MISO信號線返回給主機(jī),如下圖所示。這樣,兩個(gè)移位寄存器中的內(nèi)容就被交換了。外設(shè)的寫操作和讀操作是同步完成的,因此SPI成為一個(gè)很有效的協(xié)議。

IIC:?內(nèi)部集成電路總線,半雙工通信,只需要兩條線:一串行數(shù)據(jù)SDA線和串行時(shí)鐘SCL線,IIC總路線用兩線來連接多支路總線中的多個(gè)設(shè)備。這種總線是雙向、低速的,并與公共時(shí)鐘同步。可以直接將一個(gè)設(shè)備接到IIC總線上或是從該總線上取下,而不會影響其他設(shè)備。

利用IIC接口在設(shè)備之間進(jìn)行連接所使用的兩根線是SDA (串行數(shù)據(jù))和SCL (串行時(shí)鐘),它們都是開漏(open-drain), 通過一個(gè)上拉電阻接到正電源,因此在不使用的時(shí)候任保持高電平,IIC總線在傳送數(shù)據(jù)過程中共有3種類型信號,它們分別是開始信號、結(jié)束信號和應(yīng)答信號,解析如下所示:

  • 開始信號: SCL為高電平時(shí),SDA 由高電平向低電平跳變,開始傳送數(shù)據(jù);

  • 結(jié)束信號: SCL為低電平時(shí),SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù);

  • 應(yīng)答信號:接收數(shù)據(jù)的IC在接收到8位數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。CPU向受控單元發(fā)出一個(gè)信號后,等待受控單元發(fā)出一個(gè)應(yīng)答信號,CPU接收到應(yīng)答信號后,根據(jù)實(shí)際情況作出是否繼續(xù)傳遞信號的判斷。若未收到應(yīng)答信號,由判斷為受控單元出現(xiàn)故障。

發(fā)送方發(fā)出的每個(gè)字節(jié)都必須經(jīng)過接收方確認(rèn),每個(gè)字節(jié)的第8個(gè)數(shù)據(jù)位一旦傳送結(jié)束,發(fā)送方就釋放數(shù)據(jù)線SDA。然后主機(jī)在SCL上產(chǎn)生一個(gè)額外的時(shí)鐘脈沖,這會觸發(fā)接收方通過將SDA置為低電平來表示對接收到的字節(jié)進(jìn)行;如果接收方?jīng)]能將SDA置為低電平,發(fā)送方就會中斷傳輸,并且采取適當(dāng)?shù)腻e(cuò)誤處理措施。

UART:?通用異步收發(fā)傳輸器,全雙工通信,異步式傳輸把每一個(gè)字符當(dāng)作獨(dú)立的信息來傳送,并按照一固定且預(yù)定的時(shí)序傳送,但在字符之間卻取決于字符與字符的任意時(shí)序。UART負(fù)責(zé)處理數(shù)據(jù)總線和串行口之間的串/并、并/串轉(zhuǎn)換,并規(guī)定了幀格式;通信雙方只要采用相同的幀格式和波特率,就能在未共享時(shí)鐘信號的情況下,僅用兩根信號線(Rx 和Tx)就可以完成通信過程,因此也稱為異步串行通信。

拓展學(xué)習(xí):詳解RS232、RS485、RS422、串口和握手


第4題:從以下幾種無線通信方式中選取一種了解的盡可能詳細(xì)的描述一下:BLE,Wi-Fi ,NFC,NB-IoT,eMTC。

回答:

互聯(lián)網(wǎng)上有很多解析,列舉兩例。

BLE:低功耗藍(lán)牙,2.4GHz ISM頻段,IEEE 802.15.1標(biāo)準(zhǔn),它利用許多智能手段最大限度地降低功耗。藍(lán)牙低能耗技術(shù)采用可變連接時(shí)間間隔,這個(gè)間隔根據(jù)具體應(yīng)用可以設(shè)置為幾毫秒到幾秒不等。另外,因?yàn)锽LE技術(shù)采用非常快速的連接方式,因此平時(shí)可以處于“非連接”狀態(tài)(節(jié)省能源),此時(shí)鏈路兩端相互間只是知曉對方,只有在必要時(shí)才開啟鏈路,然后在盡可能短的時(shí)間內(nèi)關(guān)閉鏈路。BLE技術(shù)的工作模式非常適合用于從微型無線傳感器(每半秒交換一次數(shù)據(jù))或使用完全異步通信的遙控器等其它外設(shè)傳送數(shù)據(jù)。這些設(shè)備發(fā)送的數(shù)據(jù)量非常少(通常幾個(gè)字節(jié)),而且發(fā)送次數(shù)也很少(例如每秒幾次到每分鐘一次,甚至更少)。

拓展:NB-IoT技術(shù)發(fā)展史漫談、NB-IoT綜合項(xiàng)目實(shí)戰(zhàn)開發(fā)背景及平臺


第5題:試描述MQTT、CoAP、HTTP三種協(xié)議的區(qū)別。

回答:

參見:物聯(lián)網(wǎng)協(xié)議對比(HTTP、websocket、XMPP、COAP、MQTT和DDS協(xié)議)


第6題:試描述TCP建立和斷開連接時(shí)的三次握手和四次揮手。

回答:

三次握手(Three-Way Handshake)即建立TCP連接時(shí),需要客戶端和服務(wù)端總共發(fā)送3個(gè)包以確認(rèn)連接的建立,如下圖所示:

  • 第一次:客戶端發(fā)送請求到服務(wù)器,服務(wù)器知道客戶端發(fā)送,自己接收正常。SYN=1,seq=x;
  • 第二次:服務(wù)器發(fā)給客戶端,客戶端知道自己發(fā)送、接收正常,服務(wù)器接收、發(fā)送正常。ACK=1,ack=x+1,SYN=1,seq=y;
  • 第三次:客戶端發(fā)給服務(wù)器:服務(wù)器知道客戶端發(fā)送,接收正常,自己接收,發(fā)送也正常.seq=x+1,ACK=1,ack=y+1。

四次揮手(Four-Way Wavehand)即終止TCP連接時(shí),需要客戶端和服務(wù)端總共發(fā)送4個(gè)包以確認(rèn)連接的斷開,如下圖所示:

  • 第一次:客戶端請求斷開FIN,seq=u
  • 第二次:服務(wù)器確認(rèn)客戶端的斷開請求ACK,ack=u+1,seq=v
  • 第三次:服務(wù)器請求斷開FIN,seq=w,ACK,ack=u+1
  • 第四次:客戶端確認(rèn)服務(wù)器的斷開ACK,ack=w+1,seq=u+1


第7題:一個(gè)無序的長度為n的數(shù)組,找到最小的值,請用C語言編碼實(shí)現(xiàn)以下函數(shù)

int get_min(int* array, int n) {}

?回答(C語言編寫):

int get_min(int* array, int n)
{int i ;int min = array[0];for(i=1; i<n; i++){if(array[i] < min)min = array[i];}return min;
}

第8題:工廠生產(chǎn)摩拜單車包含兩道工序,工序A每5min生產(chǎn)一輛摩拜單車,生產(chǎn)完成后送到工序B檢測,每1min檢測一輛,檢測失敗的需要返回工序A重新生產(chǎn);試用多線程(多任務(wù))的機(jī)制實(shí)現(xiàn)上述的生產(chǎn)工序,實(shí)現(xiàn)產(chǎn)能的最大化。

回答:

由于時(shí)間原因,后續(xù)更新。

?

總結(jié)

以上是生活随笔為你收集整理的2018年摩拜校招嵌入式工程师笔试卷的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。