電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 121|回復: 0
收起左側(cè)

嵌入式MCU工程師,面試常被問及的問題。

[復制鏈接]

485

主題

485

帖子

1623

積分

三級會員

Rank: 3Rank: 3

積分
1623
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-11-5 17:50:00 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
我是老溫,一名熱愛學習的嵌入式工程師
0 O) s# |+ c6 C8 z2 m, y* X6 c; e關(guān)注我,一起變得更加優(yōu)秀!有些工程師可能覺得單片機沒啥技術(shù)含量,但事實是單片機涵蓋的技術(shù)非常之多,從底層到應用,應該沒有一個人能熟練掌握其中所有的技術(shù)。
+ P! }0 |/ z' Y' |' B0 R2 m& p6 t% ]0 X0 Q' k
這里就站在面試的角度來說說:單片機工程師面試常見問題。: }* I5 K6 }- u3 {4 B

+ {# d8 Y( `5 n, R9 Z1、單片機上電之后不運行,可能的原因有哪些?
) |, F7 r  d: e7 h1 R可能的原因包括供電問題(如VCC電壓偏離正常范圍)、晶振問題(如晶振損壞或未起振)、RESET引腳電平邏輯錯誤(如一直處于復位狀態(tài))、程序下載或擦除問題(如flash無法下載或損壞)以及控制程序問題(如程序存在bug)。3 s- A  X7 e" i. |

. M7 Y( M4 l, a3 B3 K) A2、看門狗定時器的作用?- q& k+ w0 d- i) H- N9 _7 r* g
看門狗定時器(Watchdog Timer)在嵌入式系統(tǒng)中用于監(jiān)控和重置系統(tǒng),以防止因軟件故障導致的系統(tǒng)崩潰。它通過定時檢查系統(tǒng)是否正常運行,并在超時后觸發(fā)系統(tǒng)重置,從而提高系統(tǒng)的可靠性和穩(wěn)定性。8 n9 d0 R7 p% w9 s( S! S) \# r
1 Z. R0 R  @* V" o
3、單片機中斷處理流程是怎樣的?
- G& h/ p4 p4 h  d2 Q6 p' e單片機中斷處理流程通常包括三個步驟:中斷響應、中斷處理和中斷返回。
8 }. [: o& j5 q0 ]- j# Z當中斷發(fā)生時,中斷系統(tǒng)通過硬件自動生成長調(diào)用指令(LACLL),將斷點地址壓入堆棧保護,并將對應的中斷入口地址裝入程序計數(shù)器PC,使程序轉(zhuǎn)向該中斷入口地址執(zhí)行中斷服務程序。中斷服務程序完成后,計算機通過中斷返回指令RE將斷點地址從堆棧中彈出,返回到程序計數(shù)器PC,并通知中斷系統(tǒng)已完成中斷處理。9 G  r3 }9 \( M( X
* j; f8 F4 s. F8 j0 W: Z
4、解釋一下進程、線程、協(xié)程的概念
+ s$ f9 R8 w  r進程:進程是并發(fā)執(zhí)行的程序在執(zhí)行過程中分配和管理資源的基本單位,是一個動態(tài)概念,競爭計算機系統(tǒng)資源的基本單位。8 @, k% g& r' Y$ ^" z
4 r6 \$ {- p2 _
線程:線程是進程的一個執(zhí)行單元,是進程內(nèi)科調(diào)度實體。比進程更小的獨立運行的基本單位。線程也被稱為輕量級進程。1 ]1 D, A, c0 n( d+ v* x
: Z% T2 V! ^4 n; }- }+ x
協(xié)程:是一種比線程更加輕量級的存在。一個線程也可以擁有多個協(xié)程。其執(zhí)行過程更類似于子例程,或者說不帶返回值的函數(shù)調(diào)用。3 y8 _3 M. B$ s

8 P3 ]4 p: o8 n" `9 r6 A5、什么是嵌入式系統(tǒng)?
6 z: Q* L+ |' s$ w) r4 g/ H# T嵌入式系統(tǒng)是以應用為中心,以計算機技術(shù)為基礎(chǔ),軟硬件可裁剪的專用計算機系統(tǒng)。它適用于應用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴格要求的場合。嵌入式系統(tǒng)通常由處理器、存儲器、輸入輸出設(shè)備、軟件等組成,具有體積小、功耗低、可靠性高、功能專用等特點。
; |, ^& o' ^' C% M% h( k. R5 q4 x" f0 |7 }6 r
6、C語言中堆和棧的區(qū)別是什么?' K! y) d1 N6 e+ G
堆和棧是C語言中用于存儲數(shù)據(jù)的兩種不同區(qū)域。棧由系統(tǒng)自動分配和管理,通常用于存儲局部變量和函數(shù)調(diào)用時的臨時數(shù)據(jù);而堆需要程序員自己申請和釋放,通常用于存儲動態(tài)分配的數(shù)據(jù)。兩者在存儲內(nèi)容、管理方式、空間大小、能否產(chǎn)生碎片、生長方向、分配方式和分配效率等方面都存在差異。( E4 U- W2 b& k0 G$ P; ]+ z

7 L, |0 S. q% l  L0 F  S7、請簡單說下嵌入式系統(tǒng)中的RTOS調(diào)度策略
% E; [5 T, \# E3 x7 sRTOS(實時操作系統(tǒng))的調(diào)度策略包括基于優(yōu)先級的調(diào)度、輪詢調(diào)度、時間片輪轉(zhuǎn)調(diào)度等。這些策略直接影響系統(tǒng)的實時性和效率,確保任務能夠按照預定要求得到執(zhí)行。( z# P. U% G  I& p6 E3 }
# q" \2 s/ f% s; \
8、你如何保證單片機代碼的質(zhì)量和可靠性?
9 a! T& o" x; K5 i3 W在單片機項目中,我通常會采取以下措施來保證代碼的質(zhì)量和可靠性:首先,我會對代碼進行嚴格的測試和驗證,包括單元測試、集成測試和系統(tǒng)測試等;其次,我會遵循良好的編程規(guī)范和代碼風格,以提高代碼的可讀性和可維護性;最后,我會定期回顧和更新代碼,以消除潛在的錯誤和漏洞。: {+ j4 C0 D5 z4 ?

* ?% v6 l/ u' H+ n, K9、程序的局部變量、全局變量和動態(tài)申請數(shù)據(jù)分別存在于哪里?- ^1 E) X3 t5 ^: z( d+ I
局部變量存在于棧區(qū)。全局變量存在于靜態(tài)區(qū)(數(shù)據(jù)段)。動態(tài)申請的數(shù)據(jù)存在于堆區(qū)。+ d+ ^) y7 L+ q5 p
10、在C語言中,如何實現(xiàn)鏈表?請舉例說明。
) W& h1 F2 l' {  M. N3 B0 C0 Y鏈表是一種動態(tài)數(shù)據(jù)結(jié)構(gòu),由節(jié)點組成,每個節(jié)點包含數(shù)據(jù)部分和指向下一個節(jié)點的指針。
# ^, W' w. X1 k7 J5 K1 F8 J在C語言中,可以通過結(jié)構(gòu)體和指針來實現(xiàn)鏈表。例如,單鏈表的節(jié)點可以定義為:' J$ v' N. }" ~
  • struct Node {    int data;    struct Node* next;};/ x9 y3 H1 G4 s
    然后通過動態(tài)分配內(nèi)存和設(shè)置指針來構(gòu)建鏈表。例如,創(chuàng)建一個新的節(jié)點并插入到鏈表的開頭:
      |% F' \4 e3 B6 M: g
  • struct Node* head = NULL;struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));newNode->data = 10;newNode->next = head;head = newNode;" q& r+ |  P+ K5 C" P& J2 w
    由于篇幅有限,今天就分享這些,其實還有很多很多,大家面試之前,盡量先刷一波面試題。' z7 B! M! s! T8 W7 k  R
    ' Z; Q3 D2 n4 J. Q' ]6 O2 c" ]2 _
    作者 | strongerHuang
    6 a* M9 l, V/ P# l) ^: F微信公眾號 | strongerHuang, |" O- E0 u% A8 T! z" g8 R/ M
    -END-
    - G- K7 y- K# E* p- B往期推薦:點擊圖片即可跳轉(zhuǎn)閱讀
    - j' l" S( Q8 Q' _1 F! e                                                        2 W9 l- |- O' p% w, l/ S. a' |% M
                                                                    ' a, `' O, O3 Y
                                                                            & p4 a( o: m7 g
                                                                                    ( W7 L9 ]8 w! ?- y3 j, a# x

    $ L. Y7 ]; a7 R3 w9 u                                                                               
    9 ]6 k" D7 c" q                                                                                        硬件都做出來了,客戶說想改一下,結(jié)果,全部推倒重做!
    ) q7 v  k$ Q9 R3 {1 _                                                       
    % G" `5 j0 e: l/ Q# H1 q' f1 }                                                               
    . I$ B+ t& F/ v3 b( |9 Q+ M8 n                                                                        ) S* ?- v  Z% P2 h
                                                                                    : v. l" p1 Q# y

    8 a  V0 c+ T9 }8 b# A  f$ w                                                                               
    * q" ~0 F" q. N7 E                                                                                        嵌入式架構(gòu)設(shè)計,淺談"驅(qū)動分離式"設(shè)計思想。
    2 e* G* c) ]" u( `7 H                                                                7 l2 n/ L: \% X4 a, M- D6 ]1 K
                                                                            0 b- q6 ^8 B! n0 y" F4 l
                                                                                   
    8 z4 u, N# z* p$ E7 J4 y 0 D! a& M" l; [: X9 s
                                                                                    9 z& P' w3 J8 |, \2 e0 I1 `* _3 `; |
                                                                                            分享一個跨平臺通用的 GUI 框架!
    4 ^4 r) l: ^. H                                                                               
    6 |* p/ L+ H* }) N9 A3 O1 p, b                                                                       
    % _0 s# I+ o8 w! y) U& C: P                                                                , N( o6 X" N$ r( L' P) D% M; D
                                                            我是老溫,一名熱愛學習的嵌入式工程師% C, i+ U+ h% S: N. p- a
    關(guān)注我,一起變得更加優(yōu)秀!
  • 回復

    使用道具 舉報

    發(fā)表回復

    您需要登錄后才可以回帖 登錄 | 立即注冊

    本版積分規(guī)則


    聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表