這裡的面試題目均為2021年嵌入式大廠面試題目。
公司一:
1、自我介紹,2分鐘
2、為什麼選擇我們公司
3、對我們公司有什麼了解
4、liunx組成部分(我從啟動流程解釋)
5、說一下驅動架構
6、說一下IIC協定細節
7、介紹多程序
8、講一個自己做的最成功的項目
9、項目中遇到了什麼難點
10、個人性格是怎樣的
11、家庭情況
12、工作地點有什麼意向
13、對于工作你最看重什麼
14、當你和别人因為項目意見不合怎麼辦
手撕代碼:
1、求素數
2、冒泡排序,快速排序
3、數組對角線求和
4、将一個數拆分成三個數,求這三個數最大的乘積(動态規劃)。擴充:拆分成n個數,其實有結論的,網上可以搜。最好拆分多個3。
5、給出日期,求是星期幾(基姆拉爾森計算公式)
公司二:
1、簡單的自我介紹(我主要介紹過去兩年我做的項目和個人的知識架構)
2、問了一下我主要用的程式設計語言,我說C
3、因為他們也做相機類産品,問了标定sensor,标定shading、AWB這些相機相關的。
4、防止編譯器優化:volatile
以及 static、const、extern關鍵字的考察。
5、在C++代碼中嵌入C代碼,需要做什麼 :extern C
6、程序與線程的差別。配置設定資源的最小機關是什麼?
7、網絡程式設計中長連結和短連結
8、多線程程式設計中,寫線程安全的函數要注意哪些點
9、斷言(assert)的用法
10、記憶體四區以及變量的存儲區域(堆、棧、全局區、代碼區)
11、了解幾種排序算法?時間複雜度分别為是多少?
公司三:
1、自我介紹
2、你如何了解“交叉編譯”
3、OSI七層網絡和TCP/IP網絡模型的差別,以及每一層名稱。
4、你覺得網絡分層協定和生活中什麼比較像?(和寄快遞比較像)
5、什麼是上下文切換(我從中斷上下文方面講。然後他問為什麼響應中斷要保護現場)
6、你如何了解異步(我從檔案IO中的異步非阻塞回答)
7、你是電氣工程專業,是不是和嵌入式不太比對,都是自學的嗎?
8、資料結構學的怎麼樣?
9、計算機作業系統學的怎麼樣?
10、你熟悉哪些資料結構
11、如何了解資料結構和算法的關系
12、你是電氣工程專業,是如何學習嵌入式的(我都是做項目,項目中學習)
13、C語言和其他程式設計語言有什麼關系,處于一個什麼地位。(更底層)
14、你如何了解指針
15、你如何了解程式設計語言和日常說話語言的關系
16、你如何了解指針(也是一種變量而已,隻是存儲的内容是位址,是以可以叫指針變量)
17、什麼是系統調用
18、使用者程式運作在usr space還是kernel space
19、普通調用和系統調用的差別
20、系統調用用什麼函數(ioctl等)
21、資料結構學的怎麼樣,學過紅黑樹嗎?講一講
22、講一講馮諾依曼和哈佛體系的差別
公司四:
1、簡單的自我介紹(2分鐘)
2、C語言全局變量可否定義在頭檔案中
3、全局變量和局部變量是否可以重名
4、extern C 的作用
5、從代碼編譯到可執行檔案的流程
6、程序和線程的差別
7、手撕代碼:寫一個雙向連結清單的随機插入(簡單點,插入到頭部)
8、問履歷上面的項目
9、IIC協定說一下
10、C++有了解嗎,用它做過什麼項目沒有。
11、裝置樹有了解嗎?
12、記憶體分為哪幾個部分(記憶體四區)
13、二分法查找的原理(類似于快速排序)
14、二叉樹了解過嗎?前序,中序,後序周遊流程說一下。
15、核心裁剪說一下
16、memcpy(), strcpy(), strcmp(), strcat()有什麼差別,如何避免記憶體越界
17、棧和隊列的差別
18、memcpy函數以什麼結尾
19、你最有成就的項目或者經曆是什麼
20、你有什麼想問的嗎?
後記:參加面試,自己履歷中寫的項目一定要熟悉,不熟悉的最好不要寫,你寫了面試官就很可能會問,到頭來自己給自己挖坑。