嵌入(ru)式軟件開發人員(yuan)經典面試題(ti),資深(shen)程序(xu)員(yuan)總結
時間:2018-08-15 來源:未(wei)知(zhi)
現在嵌入式發展的這么快,很多人都加入到這個行列中,嵌入式分為嵌入式軟件開發和嵌入式硬件開發,在這里就以嵌入式軟件開發為重點,收集了很多嵌入式軟件開發面試經典題,供嵌入式軟件開發人員學習,看看你都掌握了嗎?
1、從(cong)供選擇的(de)(de)答(da)(da)案中,選出(chu)應(ying)填入下面敘述中_?_內的(de)(de)最確切的(de)(de)解答(da)(da),把相(xiang)應(ying)編號寫在答(da)(da)卷的(de)(de)對應(ying)欄(lan)內。
假設某計(ji)(ji)算(suan)機(ji)具有(you)1M 字(zi)(zi)節(jie)的(de)(de)(de)內(nei)(nei)(nei)存(cun)(目前使用的(de)(de)(de)計(ji)(ji)算(suan)機(ji)往往具有(you)64M字(zi)(zi)節(jie)以上的(de)(de)(de)內(nei)(nei)(nei)存(cun)),并按字(zi)(zi)節(jie)編址,為(wei)(wei)(wei)了能存(cun)取該內(nei)(nei)(nei)存(cun)各地(di)(di)址的(de)(de)(de)內(nei)(nei)(nei)容,其地(di)(di)址寄存(cun)器(qi)至少需要(yao)二(er)進制_A_位。為(wei)(wei)(wei)使4字(zi)(zi)節(jie)組成的(de)(de)(de)字(zi)(zi)能從存(cun)儲(chu)器(qi)中一次讀出,要(yao)求(qiu)存(cun)放(fang)在(zai)存(cun)儲(chu)器(qi)中的(de)(de)(de)字(zi)(zi)邊界(jie)對(dui)齊,一個(ge)字(zi)(zi)的(de)(de)(de)地(di)(di)址碼應_B_。若存(cun)儲(chu)周(zhou)期為(wei)(wei)(wei)200NS,且每個(ge)周(zhou)期可訪(fang)問(wen)4個(ge)字(zi)(zi)節(jie),則(ze)該存(cun)儲(chu)器(qi)帶寬為(wei)(wei)(wei)_C_BIT/S。假如程序員可用的(de)(de)(de)存(cun)儲(chu)空間為(wei)(wei)(wei)4M字(zi)(zi)節(jie),則(ze)程序員所用的(de)(de)(de)地(di)(di)址為(wei)(wei)(wei)_D_,而(er)真正訪(fang)問(wen)內(nei)(nei)(nei)存(cun)的(de)(de)(de)地(di)(di)址稱為(wei)(wei)(wei)_E_。
供選擇的答(da)案:
A: ①10 ②16 ③20 ④32
B: ①最(zui)低(di)兩(liang)(liang)位為00 ②最(zui)低(di)兩(liang)(liang)位為10 ③最(zui)高兩(liang)(liang)位為00 ④最(zui)高兩(liang)(liang)位為10
C: ①20M ②40M ③80M ④160M
D: ①有效地址 ②程序(xu)地址 ③邏輯地址 ④物理地址
E: ①指令 ②物(wu)理地址 ③內(nei)存地址 ④數(shu)據(ju)地址
2、從供選擇的答(da)案中。選出應(ying)(ying)填入下面敘述中_?_內(nei)(nei)的最確切的解答(da),把相應(ying)(ying)編號寫在答(da)卷的對應(ying)(ying)欄內(nei)(nei)。
給定結點的(de)關(guan)鍵字序列(lie)(F、B、J、G、E、A、I、D、C、H),對它(ta)按字母的(de)字典順序進行排列(lie),采(cai)用不(bu)同方法,其最終結果相同。但中間結果是不(bu)同的(de)。
Shell排序的(de)第一趟掃描(步長為5)結果應為_A_。
冒泡排序(xu)(大數下(xia)沉)的第一(yi)趟起泡的效果是_B_3.
快速排(pai)序的(de)第(di)一趟結果是_C_。
二路歸并排序的第一趟(tang)結局是 _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、從供(gong)選擇的(de)答(da)案(an)中(zhong),選出應填入下面敘(xu)述中(zhong)_?_內的(de)最確切的(de)解(jie)答(da).把相應編號寫在答(da)卷的(de)對(dui)應欄內。
進程是(shi)操(cao)作(zuo)系統(tong)中的(de)一個重(zhong)要概念。進程是(shi)一個具有一定獨(du)立功能的(de)程序在某(mou)個數據集(ji)合上的(de)一次(ci)_A2_。
進程(cheng)是一(yi)個(ge)_B3_的概(gai)念,而程(cheng)序是一(yi)個(ge)_C3_的概(gai)念。
進程(cheng)的最(zui)基本(ben)狀態有_D4_。在(zai)一個單處理機中(zhong),若(ruo)有6個用(yong)戶進程(cheng),在(zai)非管態的某一時刻,處于(yu)就緒狀態的用(yong)戶進程(cheng)最(zui)多有_E5_個。
供選擇的答案
A:①單獨操(cao)作 ②關聯(lian)操(cao)作 ③運(yun)行活(huo)動 ④并(bing)發活(huo)動
B:①靜態 ②動態 ③邏輯 ④物(wu)理
C:①物理 ②邏輯 ③動態(tai) ④靜(jing)態(tai)
D:①就(jiu)緒、運(yun)行、隱蔽 ②停止(zhi)、就(jiu)緒、運(yun)行
③運(yun)(yun)行、就(jiu)緒(xu)、阻塞 ④就(jiu)緒(xu)、撤消(xiao)、運(yun)(yun)行
E:①5 ②6 ③1 ④4
4、軟件設計中(zhong)劃(hua)分模(mo)塊的(de)一(yi)個準(zhun)則是_A2_。兩(liang)個模(mo)塊之間的(de)耦(ou)(ou)合方式中(zhong),_B3_耦(ou)(ou)合的(de)耦(ou)(ou)合度(du)最(zui)(zui)高(gao),_C4_耦(ou)(ou)合的(de)耦(ou)(ou)合度(du)最(zui)(zui)低。一(yi)個模(mo)塊內部的(de)內聚(ju)種類中(zhong)_D4_內聚(ju)的(de)內聚(ju)度(du)最(zui)(zui)高(gao),_E1_內聚(ju)的(de)內聚(ju)度(du)最(zui)(zui)低。
供選擇的答案
A:①低(di)內(nei)聚低(di)耦(ou)合②低(di)內(nei)聚高(gao)耦(ou)合③高(gao)內(nei)聚低(di)耦(ou)合④高(gao)內(nei)聚高(gao)耦(ou)合
B:①數據 ②非直(zhi)接 ③控制(zhi) ④內容
C:①數(shu)據(ju) ②非(fei)直接 ③控制(zhi) ④內容
D:①偶然 ②邏(luo)輯 ③功能 ④過程
E:①偶然 ②邏輯 ③功(gong)能(neng) ④過程
5、從供(gong)選擇的(de)(de)(de)答案中選出應填(tian)入下(xia)面敘述中_?_內的(de)(de)(de)最確切的(de)(de)(de)解(jie)答,把相應編號(hao)寫在答卷的(de)(de)(de)對應欄(lan)內。
最常用的(de)一種基本數(shu)據(ju)(ju)模型(xing)是關系(xi)(xi)數(shu)據(ju)(ju)模型(xing),它用統一的(de)_A 1_結構來(lai)表示(shi)實體及實體之間的(de)聯(lian)系(xi)(xi)。關系(xi)(xi)數(shu)據(ju)(ju)庫的(de)數(shu)據(ju)(ju)操作(zuo)語言(DML)主要包括_B2_兩(liang)類(lei)操作(zuo)。
關系(xi)(xi)運算以關系(xi)(xi)代數為(wei)理(li)論基礎,關系(xi)(xi)代數的(de)最基本(ben)操作是并、差、笛卡(ka)爾積、_C4_。用(yong)R∣×∣S 表示關系(xi)(xi) R和關系(xi)(xi) S的(de)_D1_。
設關系R和關系S圖示如下:
R: A B C S: B C D T: A B C D
則(ze)關(guan)系T是關(guan)系R和關(guan)系S_E _的結果。
供選擇的答案
A:①樹(shu) ②網絡(luo) ③圖 ④二(er)維(wei)表
B:①插入(ru)和刪除 ②檢索和更新 ③查詢和編輯(ji) ④統計和修改
C:①投影、聯接 ②聯接、選(xuan)擇 ③選(xuan)擇、投影 ④交、選(xuan)擇
D:①聯(lian)(lian)接 ②笛卡(ka)爾(er)積 ③日(ri)聯(lian)(lian)接 ④自然聯(lian)(lian)接
E:①自(zi)然(ran)聯(lian)接 ②θ聯(lian)接 ③笛(di)卡爾積 ④并(bing)
試題二:程(cheng)序(xu)設計
用(yong)你(ni)所熟悉(xi)的任意一種程(cheng)序語言,編寫一個(ge)(ge)完整的過程(cheng),將一個(ge)(ge)字符(fu)串(chuan)插(cha)入(ru)到(dao)另(ling)一個(ge)(ge)字符(fu)串(chuan)的某個(ge)(ge)位(wei)置(zhi)(zhi)后面(mian)(mian)(例如:將“abc”插(cha)入(ru)到(dao)“abcdef”的第三個(ge)(ge)字符(fu)位(wei)置(zhi)(zhi)后面(mian)(mian),結果為“abcabcdef”)。編寫程(cheng)序時,請在必要(yao)的地方加以注(zhu)釋(注(zhu):不(bu)能用(yong)該(gai)程(cheng)序語言的內置(zhi)(zhi)函數或過程(cheng))。
用你所(suo)熟(shu)悉的任意(yi)一(yi)種(zhong)程序(xu)語言,編(bian)寫一(yi)個完(wan)整(zheng)的過程,完(wan)成從一(yi)個給定(ding)的完(wan)整(zheng)的文(wen)件(jian)路徑(如“C:\My Documents\Software Test 1.00.doc”)中,析取文(wen)件(jian)名,擴(kuo)展名和文(wen)件(jian)所(suo)處目錄的功能,編(bian)寫程序(xu)時,請在必要的地(di)方加以注(zhu)釋(注(zhu):不能用該程序(xu)語言的內(nei)置函數或過程)。
試題(ti)三:數據庫設計
下面(mian)的表有問題(ti)嗎?如(ru)果(guo)有,如(ru)何改進?

*城(cheng)市和街道聯合做主鍵(jian)
分成二(er)個表(biao),第一個表(biao)有以(yi)下字段:城市(shi)和街道(dao)(dao),以(yi)城市(shi)作為主鍵;第二(er)個表(biao):街道(dao)(dao)和郵政編碼,以(yi)街道(dao)(dao)為主鍵.通過街道(dao)(dao)與第一個表(biao)的街道(dao)(dao)相(xiang)關聯
2、假設有以下的(de)兩個表:

*主鍵
表(biao)(biao)(biao)Cus_A和表(biao)(biao)(biao)Cus_B的(de)結構(gou)完全相(xiang)同,表(biao)(biao)(biao)Cus_A和表(biao)(biao)(biao)Cus_B中(zhong)(zhong)既(ji)存(cun)在(zai)(zai)ID相(xiang)同的(de)記(ji)錄(lu),也存(cun)在(zai)(zai)ID不(bu)(bu)同的(de)記(ji)錄(lu)。現要求將ID只存(cun)在(zai)(zai)于表(biao)(biao)(biao)Cus_A中(zhong)(zhong)而(er)不(bu)(bu)存(cun)在(zai)(zai)于表(biao)(biao)(biao)Cus_B中(zhong)(zhong)的(de)記(ji)錄(lu)全部插入到Cus_B表(biao)(biao)(biao)中(zhong)(zhong),并用(yong)表(biao)(biao)(biao)Cus_A中(zhong)(zhong)的(de)記(ji)錄(lu)更新(xin)表(biao)(biao)(biao)Cus_B中(zhong)(zhong)相(xiang)同的(de)ID的(de)記(ji)錄(lu),請寫(xie)出完成這(zhe)一功能的(de)存(cun)儲過程。
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、某(mou)公司正(zheng)在開發一(yi)個(ge)檔案(an)管(guan)理系統(tong),要(yao)求(qiu)在關系數據(ju)庫中實現和(he)Windows文(wen)件(jian)系統(tong)完全一(yi)致的(de)(de)樹狀文(wen)件(jian)目(mu)(mu)錄。為了(le)實現這一(yi)目(mu)(mu)錄結(jie)構(gou),至少需(xu)求(qiu)哪(na)些(xie)表?請詳細描(miao)述這些(xie)表的(de)(de)用途和(he)結(jie)構(gou)(如有(you)必要(yao),可用圖表進行描(miao)述)。最后,請用偽編(bian)碼(或(huo)自然語言)描(miao)述按樹狀結(jie)構(gou)遍歷所有(you)檔案(an)的(de)(de)算法。
試題四:系統設(she)計
簡述(shu)“面向對象(xiang)”的概念(nian),并設計一個學校選課系統的對象(xiang)模型。
簡述“軟件(jian)系統的兩層和多層體系結構”的概(gai)念(如有必要(yao),可(ke)用圖表進行描述),并(bing)指出(chu)兩者的主要(yao)區別。
3、簡述一個軟件(jian)工程的主(zhu)要(yao)步(bu)驟,并(bing)指出每個步(bu)驟的明確目標及實施(shi)辦(ban)法。最后(hou)分(fen)析哪(na)些是關(guan)鍵步(bu)驟。
試題五:綜合
你認為在團隊開發中(zhong),你能(neng)發揮自己的能(neng)力嗎(ma)?為什么(me)?當個(ge)人(ren)意見與主管(guan)出(chu)現矛盾(dun)時(shi),你用什么(me)方(fang)法解(jie)決(jue)?

