2020秋招嵌入式面經——地平線、小米、CVTE、大華、綠米


地平線提前批 一面涼

投遞簡歷過程:官網投遞9月份之前投的都是提前批,投了北京、上海、南京地區的嵌入式軟件研發崗,北京和上海的都被篩掉了,南京的撈了我,hr小姐姐打電話邀約面試。

一面涼:

電話面試,第一次收到面試通知十分痛苦,面試AI芯片獨角獸,完全沒有一點點准備,知識也沒有撿起來,十分緊張,面試官很好,不停開導。

1、自我介紹

2、解釋register關鍵字

3、字節對齊

4、數據庫查詢左連接和右連接的區別(跪了,數據庫全忘了)

5、static關鍵字在函數中、源文件中、頭文件中有什么區別(涼)

6、數據結構和算法了解不,分治法、貪心法(涼)

7、項目介紹

8、你還有什么要問的

總結:面試表現太差,17分鍾結束,自己太菜,面試基礎很重要,牛客上說地平線嵌入式的面試考的很廣。

小米提前批 二面涼:

投遞簡歷過程:官網投遞9月份之前投的都是提前批,投了嵌入式工程師,地平線面試完晚上突然接到小米公司的電話,面試官邀約面試。

一面 27min:

牛客網視頻面試,心想又完了,還沒復習又來面試,而且是世界五百強公司的面試,作為米粉異常痛苦(對自己恨鐵不成鋼),好在小米的面試官也十分和善。

1、自我介紹

2、項目介紹

3、項目中的總線解釋一下

4、線程同步

5、編程題:冒泡排序、鏈表逆置(面試官說,我考一下你的編程能力吧,要簡單的題目還是要難的題目?答:簡單的)

6、談談你對小米的了解

7、你還有什么想問的

8、工作地點選一個(深圳,選完面試官解釋北京負責小米系列,南京負責MIUI,深圳負責紅米系列)

二面 30min:

小米深圳的面試官打電話邀約面試

1、C/C++程序 內存分布情況 常量所在的區(沒回答好)

2、STM32 GPIO(沒有認真復習,細節全記錯了,比如開漏輸出)

3、什么是倒灌(本來很能理解電流倒灌的原理,因為學習FPGA時了解到線與邏輯會導致倒灌而損壞器件,當時沒回想起來,用自己的話表述的,不甘心)

4、深挖項目(沒回答好,自己的項目也必須好好復習)

5、問了一下小米的培訓機制,導師制,最好實習6個月左右(大佬肯定不用,還有幾萬的簽字費)

總結:小米基本會給很多人面試的機會,只怪自己太菜,無准備之戰,必敗無疑

廣州視源(CVTE)一面涼:

投遞簡歷過程:官網投遞,選擇筆試場次(20多道選擇題,2道編程題),筆試通過后選擇面試場次。

一面 60+min:

去面試酒店掃碼排隊,酒店人超多,一定要提前去

1、自我介紹

2、項目介紹,畫出硬件拓撲圖

3、解釋一下中斷 中斷處理時間過長(中斷下半部) 中斷觸發方式 中斷處理函數注意事項(有參數和返回值嗎,為什么)

4、編程題 1)給出寄存器的地址和位寬,讀寫寄存器 2)字符串處理,大小寫轉換

5、對嵌入式的了解

6、我們是996,對加班的看法

7、有什么職業規划,什么原因會讓你離開公司(巨坑)

總結:面試官的暗語是一面和二面面試官都是我,回去等涼了的消息吧。

浙江大華 一面涼 20min:

網申投遞,通過篩選后筆試,筆試通過,面試官發短信讓我當天選擇時間,感覺自己是被隨便撈起來看看,面完第二天收到辭謝信。

1、項目介紹,IIC總線說一下。

2、C語言分哪幾區,static修飾的局部變量在哪里?

3、Linux有用過哪些,干了什么事?(我說Debian系列、Centos都用過)

4、NOR Flash 和 NAND Flash 文件系統(忘了,讓我補充了一下非嵌入式的文件系統)

5、Linux用戶態如何進入內核態?

6、看看你的筆試題,解釋一下棧的特點。

7、有什么想問我的?(問了一下 視頻會議C嵌入式的工作內容,面試官說有ARM單片機的,也有Linux的驅動開發,也有我做過的服務器和數據庫的部署,感覺超級符合)

8、什么時候能夠實習,畢設怎么辦?

總結:面試表現最好的一次,我說我在學習《Linux設備驅動程序》和《UNIX環境高級編程》,面試官說這兩本書要好好看,我想我還是表現太平庸了,大華投的人很多,優秀的人都不缺。

綠米聯創 三面 offer:

網申后,宣講會筆試,筆試內容非常基礎,考察對C/C++的基礎,C++的全忘了,筆試完當天晚上收到面試邀請。

技術面 約50min:

面試官比較nice,十分和善。

1、復盤筆試題

  1)高內聚低耦合什么意思,為什么要這么做

  2)寫一個“標准”的宏,比較兩個數的大小(有什么需要改進的,為什么這么改,如果是i++怎么做,不知道,面試官告訴我應該用臨時變量)

  3)反轉鏈表的編程題寫錯了

2、IIC總線時序

3、寫出計算機網絡 五層模型 每一層對應的協議 解釋ICMP DHCP

4、HTTP 從瀏覽器輸入域名的全過程

5、項目架構畫一下,項目中的無線模塊是怎么回事 因為我投的無線組,問的比較深

6、寫個程序判斷CPU字節序,寫對了(小米的面試官也問過,當時不記得了,巨難受)

7、項目中的難題

8、你知道哪些加密方式,非對稱加密?

9、進入Linux內核態,為什么要分為用戶態和內核態

10、想搞哪個方向?(我作死,說想搞Linux,后面有了leader加面,因為這個方向是網關組的,當時沒意識到面試官是無線組的leader)

11、深圳壓力很大,為什么想來深圳?

12、有什么要問的,問了一下綠米產品的IoT安全。

hr面:

0、比較考察個人綜合素質,考察你對行業的認識,對公司的了解,臨場反應能力等,hr沒有給人壓力。

leader加面 30min:
1、IIC總線(?)

2、項目中類似於IFTTT的解釋了一下

3、給我一個硬件工程師做好的人體感應模塊,如何用zigbee對接網關(答的不好)

4、C++多態

5、自動控制原理中的PID

總結:我感覺我什么的可以說一下,但是回答的可能不是很讓面試官滿意,無論是對知識的理解正確度上、深度上,都差那么一口氣,還是要多學,學精學專一點。

秋招總結:

1、基礎!!!基礎!!!基礎!!!

2、不要盲目自信,自己的項目也要通透,能夠對答如流。

3、問一答十,准確且全面,不要擠牙膏,不會的問題一定要找個相似的補上,面試官想看到你知識體系,深度和廣度。

4、心態一定要調整好,瘋狂投遞刷題筆試面試,有機會就上,失敗了就多多復盤。

5、一定要好好准備,看面經啥的,可惜了提前批(學霸批)大廠獨角獸的面試機會,不過對於我一個菜鳥大廠只能是幻想。

附面試代碼:

1、字節對齊與大小端

 1 //
 2 //  Deepc.cpp
 3 //  Study  -- C的深入
 4 //
 5 //  Created by Admin-X on 2019/10/6.
 6 //  Copyright © 2019年 Admin-X. All rights reserved.
 7 //
 8 
 9 #include "Deepc.hpp"
10 #include <iostream>
11 using namespace std;
12 #pragma pack(4) //改變對齊字長
13 
14 void byteSize(){    //          4-byte                   8-byte
15     struct fun{         //  Address   offset         Address   offset
16         int a;          //  0x6EFE7C    +0           0x6EFE78    +0
17         double b;       //  0x6EFE80    +4           0x6EFE80    +8
18         char c;         //  0x6EFE88    +8           0x6EFE88    +8
19         char d;         //  0x6EFE89    +1           0x6EFE89    +1
20         int e;          //  0x6EFE8C    +3           0x6EFE8C    +3
21     }F;
22     cout << sizeof(F) << endl;
23     //printf("0x%X\n0x%X\n0x%X\n0x%X\n0x%X\n",&F.a,&F.b,&F.c,&F.d,&F.e);
24     //printf("0x%X\n",&F.k);
25 }
26 
27 void checkCPU()    //檢測CPU大小端字節序,小端字節序:低位的地址存儲低位的字節 ,大端反之
28 {
29     union w                 //                        Big-endian/Little-endian
30     {                       //(Address)     0x00 0x01 0x02 0x03 // 0x00 0x01 0x02 0x03
31         unsigned int a ;    //(Data)        0x87 0x65 0x43 0x21 // 0x21 0x43 0x65 0x87
32         char b;
33     }c;
34     c.a = 0x87654321;
35     if(c.b == 0x21){
36         printf("little-endian\n");
37     }else{
38         printf("big-endian\n");
39     }
40 }
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM