面经——小米面经(2021春招)
摘自:小米面經(jīng)(2021春招)——感謝小米、感謝雷總、感謝上官可編程
作者:阿波羅啦啦啦啦
發(fā)布時間: 2021-05-01 11:08:41
網(wǎng)址:https://blog.csdn.net/weixin_44933419/article/details/116325554
3月31日投的,本來是想投嵌入式工程師的,看了一下發(fā)現(xiàn)沒有了,后來得知C/C++有一部分也是嵌入式的,趕緊投遞,4月21日接到一面邀請,4月26日接到二面邀請,4月28日接到HR電話。面試官也很專業(yè)。效率非常高。
一面(60分鐘)
1、簡單介紹一下自己
ARM、單片機部分
2、講一下ARM里面LR寄存器是什么?是做什么用的?ARM的硬件結構有哪些組成?
這題沒答出來,忘記了。好尷尬 簡歷上還寫的熟悉ARM 慚愧。
3、講一下你們比賽用的哪些芯片?芯片都有哪些模塊(這里應該指IIC、SPI這些)?
4、畫過幾層板?用什么軟件畫的?(我簡歷上寫了熟悉PCB,所以才問的)
兩層畫的比較多。AD
5、說一下IIC、SPI、UART的接口協(xié)議?IIC和SPI最多接幾個設備?為什么?
常用通信協(xié)議——IIC詳解(全網(wǎng)最全)
SPI和UART大家可以百度下。
6、說一下語音模塊、射頻模塊、指紋模塊的開發(fā)?具體是如何使用的?你做了哪些工作?(我簡歷上寫了這些模塊,所以才問的)
語音模塊主要使用它自帶的算法進行二次開發(fā),在項目中使用串口與控制器連接,傳輸數(shù)據(jù),在語音模塊中因為算法原理是通過拼音識別的,所以我在二次開發(fā)過程中會對近音字進行處理,提高識別精準度。
其他模塊也是類似,把自己做的部分說出就行。如果理解的內部算法也可以說出來。
C語言部分
7、C語言里未初始化的全變量放在哪里?已初始化的全局變量放在哪里?
基礎百度題
C語言還有幾個問題,忘了,但都比較基礎
8、熟悉C++嘛?C++特點是什么?C語言和C++的區(qū)別?
不熟悉,用只要是使用QT過程中使用了C++,C面向過程,C++面向對象
有時間的同學一定要補一下C++,C++問的還是很多的。
因為和面試管說了,沒有怎么使用過C++,他就沒問了
網(wǎng)絡部分
網(wǎng)絡部分不熟悉的同學,可以看一下下面的課程(白嫖)
千鋒教育-物聯(lián)網(wǎng)+嵌入式必學教程-網(wǎng)絡編程
9、講一下網(wǎng)絡里面TCP、UDP?它們使用的場景是什么?
基礎百度題
10、我需要傳一個大文件我應該采用哪種協(xié)議?
TCP。檢錯很重要。
Linux部分
11、講一下進程和線程?
基礎百度題
12、講一下進程間的通信方式有哪些?
基礎百度題
13、講一下共享內存?
基礎百度題
14、講一下線程間的互斥與同步方式有哪些?
基礎百度題
15、多線程的情況下,第一個線程使用的一個資源時,另一個線程能不能使用這個資源?為什么?
基礎百度題
16、講一下內核編譯中源碼配置中驅動配置部分*和M代表什么?
https://blog.csdn.net/weixin_44933419/article/details/113930007
17、講一下虛擬文件系統(tǒng)?它做什么用?它是具體一種文件系統(tǒng)嘛?
基礎百度題
18、了解驅動嗎?講一下驅動設備有幾種,簡單說下它們?
基礎百度題
項目部分
19、講一下你的項目。
講了一下智能車比賽的項目和智能家居的項目。
20、講解一下你們智能車使用的濾波算法?說一說為什么要使用?濾除哪些值?
21、智能家居項目中語音模塊主要是用了哪些功能?
這個問題其實上面問模塊的時候差不多答過了。
設計模式部分
22、講一下智能家居項目中使用的工廠模式?
基礎百度題
23、講一下還了解哪些設計模式?
說了線程里面的消費者與生產者、主從。參考這篇博文:Linux的多線程——生產者與消費者(條件變量、信號量)(大家一定要說自己能解釋清楚的,只記得名字就尷尬了)
代碼部分
24、??途W(wǎng)NC3 鏈表中環(huán)的入口結點
小米使用的是??途W(wǎng)的鏈接,出的都是中等難度題。面試官會問你熟悉哪種語言,這個還是很貼心的,我選了C,面試官貼心的選了個C的,但大家有時間還是好好學C++,寫代碼方便很多。
代碼寫完了,思路應該沒問題。題目不算難,10分鐘差不多寫完了,但運行超時了(估計哪個變量),后來面試結束檢查發(fā)現(xiàn)有個地方寫錯了(555555)。
面試官問了一下思路,看了一下代碼。
聊天部分
25、對小米有什么了解?
吧啦吧啦
最后問了一下什么時候出結果。
二面(37分鐘)
問答部分
1、講一下模擬IIC(智能車項目里使用了,所以問的)?
嵌入式常用通信協(xié)議
2、講一下xx模塊你做了哪些?(一面第6題類似)
3、線程的同步方式有哪幾種,詳細說下互斥鎖、信號量?
基礎百度題
4、講一下多進程創(chuàng)建的具體?
基礎百度題
5、寫了一個指針常量和常量指針,判斷,之后講一下它們具體有什么區(qū)別?
基礎百度題:指針常量和常量指針
代碼部分
6、??途W(wǎng)NC2重排鏈表
寫了差不多,沒敢點運行,面試官看了下,和他講了下思想
反問部分
7、有幸進入,具體工作負責哪個部分?
C語言的話主要負責驅動
最后問了一下什么時候出結果。
總結一下
1、熟練掌握基礎百度題 這個是問的最多的,除了上的那些其他題目大家可以去觀摩這位:嵌入式與Linux那些事的博客
2、掌握自己項目涉及到的知識,不僅僅要會操作,項目能使用,更要理解涉及的知識原理。
3、多刷刷題,這個沒啥捷徑,有時間的同學多刷點,沒時間的同學針對不同體型刷個10幾道也可以。
最后感謝在網(wǎng)上提供面經(jīng)的博主們,點贊!!!
總結
以上是生活随笔為你收集整理的面经——小米面经(2021春招)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL Server 中索引的禁用与删除
- 下一篇: 什么是Cortex、ARMv8、arm架