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

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

07/03 16:01
429
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

面經(jīng)

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

自我介紹;

驗證一下項目真實性(項目背景、開發(fā)人員和分工);

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

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

BootLoader升級的流程;

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

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

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

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

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

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

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

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

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

當前接觸的公司和工作方向有哪些?

介紹公司,反問;

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

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

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

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

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

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

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

3、大疆創(chuàng)新

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

總結(jié):問的非常深入非常細節(jié),深入到源碼的理解,必須細致系統(tǒng)讀過FreeRTOS的源碼才能知道,對技術(shù)抓的很深,一直問到完全答出所有細節(jié)或者不會,這也是大疆的特點了。但最后反問的時候說進去做Python工具開發(fā)的,沒法接觸產(chǎn)品,應(yīng)該會拒了。

掃碼加我微信

進技術(shù)交流群

相關(guān)推薦

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

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