計算機四級嵌入式系統開發工程師模擬試題
在日復一日的學習、工作生活中,我們最不陌生的就是試題了,借助試題可以為主辦方提供考生某方面的知識或技能狀況的信息。大家知道什么樣的試題才是好試題嗎?以下是小編收集整理的計算機四級嵌入式系統開發工程師模擬試題,歡迎大家借鑒與參考,希望對大家有所幫助。
計算機四級嵌入式系統開發工程師模擬試題 1
一、編程開發能力:
1、用預處理指令#define聲明一個常數,用以表明一年中有多少秒(忽略閏年問題);寫一個“標準”宏MIN函數,這個宏輸入兩個參數并返回較小的一個。
2、用變量a給出下面的定義:
(1)一個整型數(An integer);
(2)一個指向整型數的指針(A pointer to an integer);
(3)一個指向指針的指針,它指向的指針是指向一個整型數(A pointer to a pointer to an integer);
(4)一個有10個整型數的數組(An array of 10 integers);
(5)一個有10個指針的數組,該指針是指向一個整型數的(A array of 10 pointers to integers);
(6)一個指向有10個整型數組的指針(A pointer to an array of 10 integers);
(7)一個指向函數的指針,該函數有一個整型參數并返回一個整型數(A pointer to a function that takes an integer as an argument returns an integer);
(8)一個有10個指針的數組,該指針指向一個函數,該函數有一個整型參數并返回一個整型數(An array of 10 pointers to functions that take an integer argument and return an integer);
3、關鍵字volatile有什么含義?并舉出三個不同的例子。
4、嵌入式系統總是要用戶對變量或寄存器進行位操作,給定一個整型變量a,寫兩段代碼,第一個設置a 的bit 3,第二個清除a 的bit 3,在以上操作中,要保持其他位不變。
5、嵌入式系統經常具有要求程序員去訪問某特定的內存位置的特點,在某工程中,要去設置一絕對地址為0x67a9的整型變量的值為0xaa66。編譯器是一個純粹的ANSI編譯器,寫代碼去完成這一任務。
6、中斷是嵌入式系統中的重要組成部分,這導致了很多編譯開發商提供一種擴展——讓標準C支持中斷,具有代表性的是,產生一個新的關鍵字:__interrupt,下面的代碼就使用了__interrupt去定義了一個中斷子程序(ISR),請評論下這段代碼的.__interrupt,
double compute_area(double radius) {
double area=PI*radius*radius; print f(" Area"=%f,area); return area; }
7、盡管不像非嵌入式計算機那樣常見,嵌入式系統還是有從堆(heap)中動態分配內存的過程的,那么嵌入式系統中,動態分派內存可能發生的問題是什么?
8、關鍵字static 的作用是什么?
9、#include 與#include "file.h"的區別? 10、請說出const 與#define 相比,有何優點?
二、嵌入式系統編程:
1、進程與線程有什么區別?
2、操作系統有哪幾個特征?最主要的特征是什么?虛擬存儲器有哪幾個特征?
其最本質的特征是什么?
3、庫函數的調用和系統調用的區別?
4、Linux進程間通行方式有哪幾種以及各自的特點?
5、Linux中四層網絡模型?IP的各種類型的范圍?
6、在Linux系統中,造成死鎖的原因有哪些?
7、Linux網絡編程中主要使用的API有哪些以及網絡服務器模型的種類? 8、簡述對Linux的認識(特點,優勢)。
三、嵌入式平臺開發
1、bootloader 是什么?bootloader的stage1和stage2分別做的工作有哪些? 2、Linux內核版本命名的規則? 3、Linux設備文件有哪幾類?
4、Linux文件系統的種類有哪些以及使用特點? 5、嵌入式系統移植的主要工作步驟是什么?
四、編程能力實測
1、編寫一個C函數,將“I am from shanghai”倒置為“shanghai from am I”即將句子中的單詞位置倒置,并不改變單詞內部結構。
2、請編寫一個C函數,該函數可以實現將一個整數轉為任意進制的字符串輸出。
計算機四級嵌入式系統開發工程師模擬試題 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
【計算機四級嵌入式系統開發工程師模擬試題】相關文章:
2016最新嵌入式系統開發工程師模擬試題03-18
2016計算機四級《嵌入式系統開發工程師》試題及答案11-16
歷年計算機四級嵌入式系統開發工程師模擬題12-03
計算機三級嵌入式系統開發技術模擬試題12-03
計算機四級信息安全工程師模擬試題11-26
計算機四級網絡工程師模擬試題及答案11-28
計算機三級《嵌入式系統開發》試題與答案03-19