<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            嵌入式面試試題附答案

            時間:2024-10-23 08:56:33 嵌入式培訓 我要投稿

            2024年嵌入式面試試題(附答案)

              嵌入式分為操作系統和硬件兩個方面,就業的方向更廣、更深,就業機會和入職待遇比普通軟件工程師好。下面小編為大家整理了關于嵌入式面試的試題,希望對你有所幫助。

            2024年嵌入式面試試題(附答案)

              嵌入式面試試題附答案 1

              一、嵌入式系統中,動態分配內存可能發生的問題是什么

              盡管不像非嵌入式計算機那么常見,嵌入式系統還是有從堆(heap)中動態分配內存的過程的。那么嵌入式系統中,動態分配內存可能發生的問題是什么?

              這里,我期望應試者能提到內存碎片,碎片收集的問題,變量的持行時間等等。這個主題已經在ESP雜志中被廣泛地討論過了(主要是 P.J. Plauger, 他的解釋遠遠超過我這里能提到的任何解釋),所有回過頭看一下這些雜志吧!讓應試者進入一種虛假的安全感覺后,我拿出這么一個小節目:下面的代碼片段的輸出是什么,為什么?

              char *ptr;

              if ((ptr = (char *)malloc(0)) == NULL)

              puts(“Got a null pointer”);

              else

              puts(“Got a valid pointer”);

              這是一個有趣的問題。最近在我的一個同事不經意把0值傳給了函數malloc,得到了一個合法的指針之后,我才想到這個問題。這就是上面的代碼,該代碼的輸出是“Got a valid pointer”。我用這個來開始討論這樣的一問題,看看被面試者是否想到庫例程這樣做是正確。得到正確的答案固然重要,但解決問題的方法和你做決定的基本原理更重要些。

              二、關鍵字volatile有什么含意并給出三個不同的例子

              一個定義為volatile的變量是說這變量可能會被意想不到地改變,這樣,編譯器就不會去假設這個變量的值了。精確地說就是,優化器在用到這個變量時必須每次都小心地重新讀取這個變量的值,而不是使用保存在寄存器里的備份。下面是volatile變量的幾個例子:

              1). 并行設備的硬件寄存器(如:狀態寄存器)

              2). 一個中斷服務子程序中會訪問到的非自動變量(Non-automatic variables)

              3). 多線程應用中被幾個任務共享的變量

              三、嵌入式系統中經常要用到無限循環,你怎么樣用C編寫死循環呢?

              這個問題用幾個解決方案。我首選的方案是:

              while(1) { }

              一些程序員更喜歡如下方案:

              for(;;) { }

              這個實現方式讓我為難,因為這個語法沒有確切表達到底怎么回事。如果一個應試者給出這個作為方案,我將用這個作為一個機會去探究他們這樣做的基本原理。如果他們的基本答案是:“我被教著這樣做,但從沒有想到過為什么。”這會給我留下一個壞印象。

              第三個方案是用 goto

              Loop:

              …

              goto Loop;

              應試者如給出上面的方案,這說明或者他是一個匯編語言程序員(這也許是好事)或者他是一個想進入新領域的BASIC/FORTRAN程序員。

              四、嵌入式系統中關于中斷的問題

              中斷是嵌入式系統中重要的組成部分,這導致了很多編譯開發商提供一種擴展—讓標準C支持中斷。具代表事實是,產生了一個新的關鍵字 __interrupt。下面的代碼就使用了__interrupt關鍵字去定義了一個中斷服務子程序(ISR),請評論一下這段代碼的`。

              __interrupt double compute_area (double radius)

              { double area = PI * radius * radius;

              printf(” Area = %f”, area);

              return area;

              }

              這個函數有太多的錯誤了,以至讓人不知從何說起了:

              1). ISR 不能返回一個值。如果你不懂這個,那么你不會被雇用的。

              2). ISR 不能傳遞參數。如果你沒有看到這一點,你被雇用的機會等同第一項。

              3). 在許多的處理器/編譯器中,浮點一般都是不可重入的。有些處理器/編譯器需要讓額處的寄存器入棧,有些處理器/編譯器就是不允許在ISR中做浮點運算。此外,ISR應該是短而有效率的,在ISR中做浮點運算是不明智的。

              4). 與第三點一脈相承,printf()經常有重入和性能上的問題。如果你丟掉了第三和第四點,我不會太為難你的。不用說,如果你能得到后兩點,那么你的被雇用前景越來越光明了。

              嵌入式面試試題附答案 2

              1、下面有關servlet中init,service,destroy方法描述錯誤的是?

              A.init()方法是servlet生命的起點。一旦加載了某個servlet,服務器將立即調用它的init()方法

              B.Service()方法處理客戶機發出的所有請求

              C.destroy()方法標志servlet生命周期的結束

              D.servlet在多線程下使用了同步機制,因此,在并發編程下servlet是線程安全的.

              參考答案:D

              2、下面有關java和c++的描述,錯誤的是?

              A.java是一次編寫多處運行,c++是一次編寫多處編譯

              B.c++和java支持多重承

              C.Java不支持操作符重載,操作符重載被認為是c++的突出特征

              D.java沒有函數指針機制,c++支持函數指針

              參考答案:B

              3、()設計模式將抽象部分與它的實現部分相分離。

              A.Singleton(單例)

              B.Bridge(橋接)

              C.Composite(組合)

              D.Facade(外觀)

              參考答案:B

              4、哪些設計模式是降低資源使用率:

              A.prototype

              B.singleton

              C.flyweight

              D.abstract factory

              參考答案:BC

              5、運行在多核處理器上的Linux環境中,若臨界區非常短,且不允許線程上下文切換的情況下,使用下列哪種機制滿足上述需求并且性能最好?

              A.SpinLock

              B.Mutex

              C.Semaphore

              D.Condition variable

              參考答案:C

              6、Unix系統中,哪些可以用于進程間的通信?()

              A.Socket

              B.共享內存

              C.消息隊列

              D.信號量

              參考答案:ABCD

              7、對一些資源以及狀態的操作保存,最好是保存在生命周期的哪個函數中進行?

              A.onPause()

              B.onCreate()

              C.onResume()

              D.onStart()

              參考答案:A

              8、在android中使用Menu時可能需要重寫的方法有?

              A.onCreateOptionsMenu()

              B.onCreateMenu()

              C.onOptionsItemSelected()

              D.onItemSelected()

              參考答案:AC

              二、解答題

              1、編寫一個函數,作用是把一個char組成的字符串循環右移n個。比如原來是“abcdefghi”如果n=2,移位后應該是“hiabcdefgh” 函數頭是這樣的:

              //pStr是指向以結尾的字符串的指針

              //steps是要求移動的n

              void LoopMove ( char*pStr, int steps )

              {

              //請填充...

              }

              參考答案

              正確解答1:

              void LoopMove ( char*pStr, int steps )

              {

              int n = strlen( pStr ) - steps;

              char tmp[MAX_LEN];

              strcpy ( tmp, pStr + n );

              strcpy ( tmp + steps, pStr);

              *( tmp + strlen ( pStr ) ) = ;

              strcpy( pStr, tmp );

              }

              正確解答2:

              void LoopMove ( char*pStr, int steps )

              {

              int n = strlen( pStr ) - steps;

              char tmp[MAX_LEN];

              memcpy( tmp, pStr + n, steps );

              memcpy(pStr + steps, pStr, n );

              memcpy(pStr, tmp, steps );

              }

              【剖析】

              這個試題主要考查面試者對標準庫函數的熟練程度,在需要的時候引用庫函數可以很大程度上簡化程序編寫的工作量。

              最頻繁被使用的庫函數包括:

              (1) strcpy

              (2) memcpy

              (3) memset

              2、軟件測試應該劃分幾個階段?簡述各個階段應重點測試的點?各個階段的含義?

              參考答案:

              大體上來說可分為單元測試,集成測試,系統測試,驗收測試,每個階段又分為以下五個步驟: 測試計劃,測試設計,用例設計,執行結果,測試報告

              初始測試集中在每個模塊上,保證源代碼的正確性,該階段成為單元測試,主要用白盒測試方法。 接下來是模塊集成和集成以便組成完整的軟件包。集成測試集中在證實和程序構成問題上。主要采用黑盒測試方法,輔之以白盒測試方法。

              軟件集成后,需要完成確認和系統測試。確認測試提供軟件滿足所有功能、性能需求的最后保證。確認測試僅僅應用黑盒測試方法。

              嵌入式面試試題附答案 3

              1、一根金條長31厘米,如果把它切成數段,使其中的一段或幾段能夠接成長為1到31中任何整數的金條,請問要切幾次?

              A.4

              B.5

              C.6

              D.7

              參考答案:A

              2、運行在多核處理器上的Linux環境中,若臨界區非常短,且不允許線程上下文切換的情況下,使用下列哪種機制滿足上述需求并且性能最好?

              A.SpinLock

              B.Mutex

              C.Semaphore

              D.Condition variable

              參考答案:A

              3、以下程序輸出的結果是()

              #include

              int main(){

              int x=10,y=10;

              printf("%d %d",x--,--y);

              }

              A.10 10

              B.9 9

              C.9 10

              D.10 9

              參考答案:D

              4、下面所述步驟中,不是創建進程所必須的步驟是?

              A.由調度程序為進程分配CPU

              B.建立一個進程控制塊

              C.為進程分配內存

              D.將進程控制塊鏈入就緒隊列

              參考答案:A

              5、下面描述中,表達正確的有()

              A.公有繼承是基類中的public成員在派生類中仍是public的

              B.公有繼承是基類中的'private成員在派生類中仍是private的

              C.公有繼承是基類中的protected成員在派生類中仍是protected的

              D.私有繼承是基類中的public成員在派生類中仍是private的

              參考答案:ACD

              6、int listen(SOCKET s, int backlog);該函數中第二個參數的含義是?

              A.是否打開log信息

              B.是否打開后臺log信息

              C.后臺等待連接隊列的最大限制值

              D.后臺等待連接隊列的最小限制值

              參考答案:C

              7、Java程序中的類名稱必須與存放該類的文件名相同。

              A.對

              B.錯

              參考答案:B

              8、造成軟件危機的主要原因是以下里的哪幾個?

              ①用戶使用不當 ②硬件不可靠 ③對軟件的錯誤認識 ④缺乏好的開發方法和手段 ⑤軟件本身特點 ⑥開發效率低

              A.(①②③)

              B.(②③④)

              C.(③⑤⑥)

              D.(④⑤⑥)

              參考答案:D

              9、下面有個hibernate延遲加載,說法錯誤的是?

              A.Hibernate2延遲加載實現:a)實體對象 b)集合(Collection)

              B.Hibernate3 提供了屬性的延遲加載功能

              C.get支持延遲加載,load不支持延遲加

              D.hibernate使用Java反射機制,而不是字節碼增強程序來實現透明性

              參考答案:C

              10、確定模塊的功能和模塊的接口是在軟件設計的那個階段完成的?

              A.需求分析

              B.概要設計

              C.詳細設計

              D.編碼

              參考答案:B

            【嵌入式面試試題附答案】相關文章:

            嵌入式C語言面試題(附答案)03-17

            photoshop試題附答案07-15

            CAD基礎試題「附答案」06-23

            excel單選試題「附答案」03-09

            最新photoshop試題附答案10-10

            ps理論試題「附答案」05-11

            2016年嵌入式工程師面試題及答案「精選」03-07

            關于導游業務試題(附答案)02-26

            最新ps考證試題附答案03-19

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看