博流智慧型科技面嵌入式開發工程師面經

2021-09-26 21:52:27 字數 2125 閱讀 4994

暑假時學校研電賽召開的招聘會,當時投了8,9家公司,收到面試邀請兩家,一家江蘇蘇美達(由於當時在實習就沒去),一家今天這家。

今天面博流智慧型科技,內心倍遭打擊,特此記錄,引以為戒。

約的3點,早到了乙個鐘頭,失誤了,結果下午精神沒有達到最佳狀態。

抵達孵鷹大廈,先做一套筆試題,筆試題一共4題:

1、比較簡單,但是自己犯了乙個錯誤,一會面試官給我檢查時指出

void func(int a[4])

char *s = "hello world!",

printf("%d",sizeof(s));              這裡我竟然寫13,真是蠢到沒朋友

char *ptr;

ptr = malloc(1204);

printf("%d",sizepf(ptr));            這裡我竟然寫1024,真是活該我單身

2、也比較簡單,但自己仍犯弱智型錯誤

主要考變數和資料的記憶體分布,這個我明明總結過得,卻還是總結的不到位

char *ptr;

ptr = malloc(1024);                ptr是存在棧上的,1024是存在堆上的,我竟然。。。

還有問我rw區和zi區,直接懵逼。。。。。。沒見過這兩個區啊,回來後查資料才知道只是不知道它的英文縮寫是這個。。。。。就是全域性區的初始化區和未初始化區,附資料如下:

如上圖,code是程式**所佔的位元組,即**區;

ro-data 代表唯讀資料,程式中所定義的常量資料和字串等都位於此處,即常量區;

rw-data 代表已初始化的讀寫資料,程式中定義並且初始化的全域性變數和靜態變數位於此處,一部分靜態區(全域性區);

zi-data 代表未初始化的讀寫資料,程式中定義了但沒有初始化的全域性變數和靜態變數位於此處,另一部分的靜態區(全域性區)。zi英語是zero initial,就是程式中用到的變數並且被系統初始化為0的變數的位元組數,keil編譯器預設是把你沒有初始化的變數都賦值乙個0,這些變數在程式執行時是儲存在ram中的。

為什麼rom中還要存rw,因為掉電後ram中所有資料都丟失了,每次上電ram中的資料是被重新賦值的,每次這些固定的值就是儲存在rom中的,為什麼不包含zi段呢,是因為zi資料都是0,沒必要包含,只要程式執行之前將zi資料所在的區域一律清零即可,包含進去反而浪費儲存空間。

實際上,rom中的指令至少應該有這樣的功能:

1. 將rw從rom中搬到ram中,因為rw是變數,變數不能存在rom中。

2. 將zi所在的ram區域全部清零,因為zi區域並不在image中,所以需要程式根據編譯器給出的zi位址及大小來將相應得ram區域清零。zi中也是變數,同理:變數不能存在rom中。

在程式執行的最初階段,ro中的指令完成了這兩項工作後c程式才能正常訪問變數。否則只能執行不含變數的**。

然後又問了我乙個我現在還是不理解的問題:

全域性變數

int a = 2;

面試官:這個2存在**?

我:不是在常量區嗎?

面試官:怎麼把它給a 的?

我:。。。。。。

面試官:是在編譯執行那個階段怎麼給a的?你可以寫乙個介面取到這個值嗎?

我:。。。。。。

3、第三題是程式設計填空,我又沒做對(我他嗎怎麼可以這麼菜)

具體題目默不下來了,反正是給你乙個結構體

struct node

;struct node * l;

現在有乙個指標ptr指向c的值,讓你求結構體的指標。

我的意思的ptr這個位址值左移64位,即可求結構體的指標位址值,結果我寫成了 ptr >>= 64;

我真是,這是把ptr的位址值擴大2的64次方倍,

應該寫成 (char *)ptr -= 64;

唉,後面我還給面試官吹我讀過c和指標。。。。。。。也是心大。

4、第四題是一道大題,分析題,大概意思就是從鍵盤開啟chrome輸入www.baidu.com到瀏覽器彈出網頁你所知道的技術有哪些?

。。。。。。

我。。。。。。。強答了一波鍵盤的防抖技術鬆手檢測,tcp/ip的四層網路結構

面試:實習那部分答得也還行,聊天室部分又是整段垮掉。。。。。。

唉!我好難啊

博流智慧型科技 招聘FPGA工程師

今天給各位大俠帶來優質企業的招聘資源,有需要的可以往下瞧一瞧看一看,感覺符合自己的,可以試一試,自行投遞簡歷。免費 fpga工程師人才招聘平台 fpga人才招聘,企業hr,看過來!公司簡介 博流智慧型科技 bouffalo lab 創立於2016年末,是一家專注於研發超低功耗 智慧型物聯網和邊緣計算...

嵌入式工程師需要mysql 嵌入式工程師的發展路線

最近遇到很多處於迷茫中的新手,在糾結要不要去學嵌入式,主要問題在於嵌入式的門檻非常高,經驗少 或者非電子專業投身嵌入式行業能否發展下去。現在嵌入式開發行業的確發展很好,大多數從業者都是科班出身,但我們也看到很多非科班的人分享了自己的從業過程,也許起初知識不如科班的多,但他們經過持續數年學習實踐,也成...

嵌入式軟體工程師面經

經過幾個月的慘烈秋招,終於上岸linux開發,現總結一些秋招經驗,希望對下一屆或者準備春招的同學有幫助。2019.07.15 奧威亞 嵌入式軟體工程師 面 1 tcp udp的區別 2 http get post的傳輸過程 3 虛擬檔案系統的作用 筆試 sizeof strlen的區別 已知畫點函式...