現在嵌入式發展的這么快,很多人都加入到這個行列中,嵌入式分為嵌入式軟件開發和嵌入式硬件開發,在這里就以嵌入式軟件開發為重點,收集了很多嵌入式軟件開發面試經典題,供嵌入式軟件開發人員學習,看看你都掌握了嗎?
1、從供選擇的答案中,選出應填入下面敘述中_?_內的最確切的解答,把相應編號寫在答卷的對應欄內。
假設某計算機具有1M 字節的內存(目前使用的計算機往往具有64M字節以上的內存),并按字節編址,為了能存取該內存各地址的內容,其地址寄存器至少需要二進制_A_位。為使4字節組成的字能從存儲器中一次讀出,要求存放在存儲器中的字邊界對齊,一個字的地址碼應_B_。若存儲周期為200NS,且每個周期可訪問4個字節,則該存儲器帶寬為_C_BIT/S。假如程序員可用的存儲空間為4M字節,則程序員所用的地址為_D_,而真正訪問內存的地址稱為_E_。
供選擇的答案:
A: ①10 ②16 ③20 ④32
B: ①最低兩位為00 ②最低兩位為10 ③最高兩位為00 ④最高兩位為10
C: ①20M ②40M ③80M ④160M
D: ①有效地址 ②程序地址 ③邏輯地址 ④物理地址
E: ①指令 ②物理地址 ③內存地址 ④數據地址
2、從供選擇的答案中。選出應填入下面敘述中_?_內的最確切的解答,把相應編號寫在答卷的對應欄內。
給定結點的關鍵字序列(F、B、J、G、E、A、I、D、C、H),對它按字母的字典順序進行排列,采用不同方法,其最終結果相同。但中間結果是不同的。
Shell排序的第一趟掃描(步長為5)結果應為_A_。
冒泡排序(大數下沉)的第一趟起泡的效果是_B_3.
快速排序的第一趟結果是_C_。
二路歸并排序的第一趟結局是 _D_。
供選擇的答案
A:①(B、F、G、J、A、D、I、E、H、C)
②(B、F、G、J、A、E、D、I、C、H)
③(A、B、D、C、E、F、I、J、G、H)
④(C、B、D、A、E、F、I、G、J、H)
B:①(A、B、D、C、F、E、I、J、H、G)
②(A、B、D、C、E、F、I、H、G、J)
③(B、F、G、E、A、I、D、C、H、J)
④(B、F、G、J、A、E、D、I、C、H)
C:①(C、B、D、A、F、E、I、J、G、H)
②(C、B、D、A、E、F、I、G、J、H)
③(B、A、D、E、F、G、I、J、H、C)
④(B、C、D、A、E、F、I、J、G、H)
D:①(B、F、G、J、A、E、D、I、G、H)
②(B、A、D、E、F、G、I、J、H、C)
③(A、B、D、C、E、F、I、J、G、H)
④(A、B、D、C、F、E、J、I、H、C)
3、從供選擇的答案中,選出應填入下面敘述中_?_內的最確切的解答.把相應編號寫在答卷的對應欄內。
進程是操作系統中的一個重要概念。進程是一個具有一定獨立功能的程序在某個數據集合上的一次_A2_。
進程是一個_B3_的概念,而程序是一個_C3_的概念。
進程的最基本狀態有_D4_。在一個單處理機中,若有6個用戶進程,在非管態的某一時刻,處于就緒狀態的用戶進程最多有_E5_個。
供選擇的答案
A:①單獨操作 ②關聯操作 ③運行活動 ④并發活動
B:①靜態 ②動態 ③邏輯 ④物理
C:①物理 ②邏輯 ③動態 ④靜態
D:①就緒、運行、隱蔽 ②停止、就緒、運行
③運行、就緒、阻塞 ④就緒、撤消、運行
E:①5 ②6 ③1 ④4
4、軟件設計中劃分模塊的一個準則是_A2_。兩個模塊之間的耦合方式中,_B3_耦合的耦合度最高,_C4_耦合的耦合度最低。一個模塊內部的內聚種類中_D4_內聚的內聚度最高,_E1_內聚的內聚度最低。
供選擇的答案
A:①低內聚低耦合②低內聚高耦合③高內聚低耦合④高內聚高耦合
B:①數據 ②非直接 ③控制 ④內容
C:①數據 ②非直接 ③控制 ④內容
D:①偶然 ②邏輯 ③功能 ④過程
E:①偶然 ②邏輯 ③功能 ④過程
5、從供選擇的答案中選出應填入下面敘述中_?_內的最確切的解答,把相應編號寫在答卷的對應欄內。
最常用的一種基本數據模型是關系數據模型,它用統一的_A 1_結構來表示實體及實體之間的聯系。關系數據庫的數據操作語言(DML)主要包括_B2_兩類操作。
關系運算以關系代數為理論基礎,關系代數的最基本操作是并、差、笛卡爾積、_C4_。用R∣×∣S 表示關系 R和關系 S的_D1_。
設關系R和關系S圖示如下:
R: A B C S: B C D T: A B C D
則關系T是關系R和關系S_E _的結果。
供選擇的答案
A:①樹 ②網絡 ③圖 ④二維表
B:①插入和刪除 ②檢索和更新 ③查詢和編輯 ④統計和修改
C:①投影、聯接 ②聯接、選擇 ③選擇、投影 ④交、選擇
D:①聯接 ②笛卡爾積 ③日聯接 ④自然聯接
E:①自然聯接 ②θ聯接 ③笛卡爾積 ④并
試題二:程序設計
用你所熟悉的任意一種程序語言,編寫一個完整的過程,將一個字符串插入到另一個字符串的某個位置后面(例如:將“abc”插入到“abcdef”的第三個字符位置后面,結果為“abcabcdef”)。編寫程序時,請在必要的地方加以注釋(注:不能用該程序語言的內置函數或過程)。
用你所熟悉的任意一種程序語言,編寫一個完整的過程,完成從一個給定的完整的文件路徑(如“C:\My Documents\Software Test 1.00.doc”)中,析取文件名,擴展名和文件所處目錄的功能,編寫程序時,請在必要的地方加以注釋(注:不能用該程序語言的內置函數或過程)。
試題三:數據庫設計
下面的表有問題嗎?如果有,如何改進?
*城市和街道聯合做主鍵
分成二個表,第一個表有以下字段:城市和街道,以城市作為主鍵;第二個表:街道和郵政編碼,以街道為主鍵.通過街道與第一個表的街道相關聯
2、假設有以下的兩個表:
*主鍵
表Cus_A和表Cus_B的結構完全相同,表Cus_A和表Cus_B中既存在ID相同的記錄,也存在ID不同的記錄。現要求將ID只存在于表Cus_A中而不存在于表Cus_B中的記錄全部插入到Cus_B表中,并用表Cus_A中的記錄更新表Cus_B中相同的ID的記錄,請寫出完成這一功能的存儲過程。
Create or procedure test is
Declare id1 CusA.id%type;
Begin
Select id into id1 from CusA a,CusB b where a.id=b.id;
3、某公司正在開發一個檔案管理系統,要求在關系數據庫中實現和Windows文件系統完全一致的樹狀文件目錄。為了實現這一目錄結構,至少需求哪些表?請詳細描述這些表的用途和結構(如有必要,可用圖表進行描述)。最后,請用偽編碼(或自然語言)描述按樹狀結構遍歷所有檔案的算法。
試題四:系統設計
簡述“面向對象”的概念,并設計一個學校選課系統的對象模型。
簡述“軟件系統的兩層和多層體系結構”的概念(如有必要,可用圖表進行描述),并指出兩者的主要區別。
3、簡述一個軟件工程的主要步驟,并指出每個步驟的明確目標及實施辦法。最后分析哪些是關鍵步驟。
試題五:綜合
你認為在團隊開發中,你能發揮自己的能力嗎?為什么?當個人意見與主管出現矛盾時,你用什么方法解決?