• 正文
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

大疆實(shí)習(xí)面經(jīng)分享

6小時(shí)前
262
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

面經(jīng)

1、卓馭(大疆車(chē)載)- 軟件開(kāi)發(fā)實(shí)習(xí)生(MCU/RTOS/LINUX)

自我介紹;

驗(yàn)證一下項(xiàng)目真實(shí)性(項(xiàng)目背景、開(kāi)發(fā)人員和分工);

IICSPI的底層代碼是自己手搓的嗎?(是)

IIC通訊和SPI通訊的區(qū)別;(速度IIC慢/SPI快、IIC半/SPI全雙工、通信架構(gòu)IIC總線多主多從/SPI點(diǎn)對(duì)點(diǎn)單主多從)

BootLoader升級(jí)的流程;

static關(guān)鍵字;(修飾變量、函數(shù))

介紹一下函數(shù)指針和應(yīng)用場(chǎng)景;(BootLoader跳轉(zhuǎn)APP)

結(jié)構(gòu)體變量的初始化方式(定義后逐個(gè)初始化、定義時(shí)按順序初始化、定義時(shí)按指定成員初始化)

//?1、定義后逐個(gè)初始化
struct?Point?p3;
p3.x?=?30;
p3.y?=?40;

//?2、定義時(shí)按順序初始化
struct?Point?p5?=?{70,?80};

//?3、定義時(shí)按指定成員初始化
struct?Point?p6?=?{.y?=?90,?.x?=?100};

團(tuán)隊(duì)業(yè)務(wù)(智駕應(yīng)用開(kāi)發(fā))和過(guò)往經(jīng)歷(單片機(jī)底層)不算很匹配,感興趣嗎?

了解卓馭科技嗎?(成行智駕平臺(tái))

實(shí)習(xí)時(shí)間、入職時(shí)間、學(xué)校時(shí)間安排;

當(dāng)前接觸的公司和工作方向有哪些?

介紹公司,反問(wèn);

2、地平線 - ?嵌入式開(kāi)發(fā)實(shí)習(xí)生(上海)

一面
    自我介紹;FreeRTOS的任務(wù)創(chuàng)建方法;(動(dòng)態(tài)、靜態(tài))寵物喂養(yǎng)機(jī)項(xiàng)目中有具體有哪些線程,它們的優(yōu)先級(jí)是如何考慮的?(線下控制>MQTT連接>線上控制>OTA>數(shù)據(jù)上報(bào))Linux了解嗎?(確實(shí)不懂)IIC和SPI的區(qū)別;IIC一條總線上最多控制多少個(gè)設(shè)備?(7位從機(jī)地址最多控制2^7=128個(gè)設(shè)備)外掛Flash的選型?(為方便開(kāi)發(fā)選擇了W25Q64)Flash的讀寫(xiě)有什么區(qū)別?(只能由1寫(xiě)0,因此需要先擦再寫(xiě),同時(shí)擦除和寫(xiě)入只能按塊或按扇區(qū)操作,而讀取可以按字節(jié)讀)有沒(méi)有用到STM32內(nèi)部的Flash存儲(chǔ)參數(shù)?(沒(méi)有用到,參數(shù)直接用外部EEPROM存了)為什么不用內(nèi)部Flash而采用外部EEPROM(EEPROM能夠按字節(jié)任意讀寫(xiě),使用方便一些,內(nèi)部Flash要擦除再寫(xiě),而且只能按半字寫(xiě)入)反問(wèn),聊了很多,面試官說(shuō)組內(nèi)有做車(chē)載以太網(wǎng)的,還反問(wèn)我感不感興趣,看起來(lái)比較滿(mǎn)意。

總結(jié):面試體驗(yàn)很不錯(cuò),面試官很溫文爾雅,每個(gè)回答都會(huì)有回應(yīng)和肯定,不清楚的問(wèn)題也會(huì)慢慢引導(dǎo),盡管方向不是很契合,也有部分技術(shù)棧不熟悉,面試官還是讓過(guò)了,約了二面。

二面
    1. 自我介紹;問(wèn)實(shí)習(xí)時(shí)間,地點(diǎn),經(jīng)濟(jì)上是否有壓力;如果mentor非常忙沒(méi)時(shí)間給予指導(dǎo),怎么辦?

      1. 回答:首先自己查找資料,集中時(shí)間向mentor咨詢(xún)。面試官給了更好的答案:主動(dòng)上去詢(xún)問(wèn)mentor正在忙的活,看看有沒(méi)有哪些能幫上忙的地方,給mentor減負(fù)的同時(shí)也能參與到更深入的工作中,能學(xué)到更多。

FreeRTOS有多少個(gè)優(yōu)先級(jí);FreeRTOS是實(shí)時(shí)的還是非實(shí)時(shí)的;介紹一下單片機(jī)中斷的具體流程;知道向量表嗎?向量表里存的是什么?(中斷處理程序的地址);反問(wèn),具體介紹了所屬部門(mén)和小組,介紹了具體的工作(具體的芯片、系統(tǒng)都說(shuō)了,雖然我不懂hh);

總結(jié):面試官是那種很有親和力的技術(shù)大佬,看起來(lái)很有技術(shù)深度,但又非常親切,全程笑容,說(shuō)話提問(wèn)也很輕松,還會(huì)反過(guò)來(lái)給我的答案建議,不只是考察面試者,還會(huì)給予指導(dǎo),這點(diǎn)我非常佩服。

3、大疆創(chuàng)新

    自我介紹作為比賽項(xiàng)目的隊(duì)長(zhǎng)角色做了什么工作哪個(gè)地方你覺(jué)得自己做的最好有哪些值得改進(jìn)的地方技術(shù)方案上有哪些缺點(diǎn)有具體測(cè)試過(guò)嗎印象最深的難點(diǎn)(bootloader跳轉(zhuǎn)進(jìn)入hardfault)怎么解決的?(直接用內(nèi)聯(lián)匯編,或者inline展開(kāi))inline展開(kāi)是在哪個(gè)階段進(jìn)行的(開(kāi)始說(shuō)編譯,想了想應(yīng)該是鏈接)鏈接這個(gè)過(guò)程發(fā)生了什么?(只有籠統(tǒng)理解)FreeRTOS有哪些情況會(huì)發(fā)生任務(wù)調(diào)度任務(wù)調(diào)度會(huì)保存哪些上下文主動(dòng)調(diào)度port_yield是怎么實(shí)現(xiàn)的說(shuō)一說(shuō)PendSV中斷說(shuō)一說(shuō)信號(hào)量具體有哪些操作take信號(hào)量具體做了什么事情,如果take不到會(huì)發(fā)生什么(阻塞)說(shuō)一下阻塞的本質(zhì),實(shí)際上發(fā)生了什么(掛到阻塞鏈表)在中斷里能用take_semph嗎(不能,要用FromISR后綴的,非阻塞接口)為什么中斷中不能阻塞?(時(shí)間不確定,中斷里不允許)還有別的原因嗎?提示:在中斷里阻塞之后,又被喚醒,會(huì)發(fā)生什么?(思考了一會(huì),沒(méi)想明白)

總結(jié):?jiǎn)柕姆浅I钊敕浅<?xì)節(jié),深入到源碼的理解,必須細(xì)致系統(tǒng)讀過(guò)FreeRTOS的源碼才能知道,對(duì)技術(shù)抓的很深,一直問(wèn)到完全答出所有細(xì)節(jié)或者不會(huì),這也是大疆的特點(diǎn)了。但最后反問(wèn)的時(shí)候說(shuō)進(jìn)去做Python工具開(kāi)發(fā)的,沒(méi)法接觸產(chǎn)品,應(yīng)該會(huì)拒了。

掃碼加我微信

進(jìn)技術(shù)交流群

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶(hù)資源
  • 寫(xiě)文章/發(fā)需求
立即登錄

作者就職于某500強(qiáng)公司,擔(dān)任BSP工程師。具有豐富的嵌入式開(kāi)發(fā)經(jīng)驗(yàn)。專(zhuān)欄主要分享計(jì)算機(jī)基礎(chǔ),操作系統(tǒng),Linux驅(qū)動(dòng)開(kāi)發(fā),Arm體系與架構(gòu),C/C++,數(shù)據(jù)結(jié)構(gòu)與算法等相關(guān)文章。歡迎關(guān)注我的公眾號(hào)【嵌入式與Linux那些事】,一起學(xué)習(xí)交流。