- 相關推薦
軟件設計師歷年真題
親愛的考生們,軟件設計師歷年真題是你備考路上的寶貴資源。通過這些真題,你可以了解考試題型、難度及命題趨勢。認真鉆研每一道題,分析解題思路,查漏補缺,為你的考試助力。讓我們一起借助歷年真題,開啟高效備考之旅,向著軟件設計師的目標穩步邁進。
第 1 題:單選題(本題1分)
計算機指令系統采用多種尋址方式。立即尋址是指操作數包含在指令中,寄存器尋址是指操作數在寄存器中,直接尋址是指操作數的地址在指令中。這三種尋
址方式獲取操作數的速度 ( )。
A.立即尋址最快,寄存器尋址次之,直接尋址最慢
B.寄存器尋址最快,立即尋址次之,直接尋址最慢
C.直接尋址最快,寄存器尋址次之,立即尋址最慢
D.寄存器尋址最快,直接尋址次之,立即尋址最慢
【正確答案】:A
【試題解析】:
尋址方式是如何對指令中的地址字段進行解釋,以獲得操作數的方法或獲得程序轉移地址的方法。
第
2 題:單選題(本題1分)
以下關于PCI總線和SCSI總線的敘述中,正確的是( )。
A.PCI總線是串行外總線,SCSI 總線是并行內總線
B.PCI總線是串行內總線,SCSI 總線是串行外總線
C.PCI總線是并行內總線,SCSI 總線是串行內總線
D.PCI總線是并行內總線,SCSI 總線是并行外總線
【正確答案】:D
【試題解析】:
PCI總線是PC機常用總線,SCSI是軟硬磁盤、光盤、掃描儀常用總線。他們都是并行總線。
第 3 題:單選題(本題1分)
以下關于中斷方式與DMA方式的敘述中,正確的是( )
A.中斷方式與DMA方式都可實現外設與CPU之間的并行工作
B.程序中斷方式和DMA方式在數據傳輸過程中都不需要CPU的干預
C.采用DMA方式傳輸數據的速度比程序中斷方式的速度慢
D.程序中斷方式和DMA方式都不需要CPU保護現場
【正確答案】:A
【試題解析】:
中斷方式與DMA方式都可實現外設與CPU之間的并行工作。
第
4 題:單選題(本題1分)
中斷向量提供( )。
A.被選中設備的地址
B.待傳送數據的起始地址
C.中斷服務程序入口地址
D.主程序的斷點地址
【正確答案】:C
【試題解析】:
中斷向量表用來保存各個中斷源的中斷服務程序的入口地址。當外設發出中斷請求信號(INTR)以后,由中斷控制器(INTC)確定其中
斷號,并根據中斷號查找中斷向量表來取得其中斷服務程序的入口地址,同時INTC把中斷請求信號提交給CPU。
第 5 題:單選題(本題1分)
( ) 是一種需要通過周期性刷新來保持數據的存儲器件。
A.SRAM
B.DRAM
C.FLASH
D.EEPROM
【正確答案】:B
第 6 題:單選題(本題1分)
某種機器的浮點數表示格式如下(允許非規格化表示)。若階碼以補碼表示,尾數以原碼表示,則1 0001 0 0000000001表示的浮點數是( ) 。
【正確答案】:B
【試題解析】:
題干尾數是原碼為:0000000001,數符是0,這表示該尾數是負數為2^-10 。階碼是0001是補碼,轉換成原碼是1111,是十進制的15,這
里注意階符是1,這表示階碼是負數,因此該浮點數是2^-15 ×2^-10 。
第 7 題:單選題(本題1分)
以下可以有效防治計算機病毒的策略是( ) 。
A.部署防火墻
B.部署入侵檢測系統
C.安裝并及時升級防病毒軟件
D.定期備份數據文件
【正確答案】:C
【試題解析】:
防病毒軟件可以檢測、防護,并采取行動來解除或刪除惡意軟件程序,如病毒和蠕蟲。因此安裝并及時升級防病毒軟件可以有效防治計
算機病毒。
第 8 題:單選題(本題1分)
AES是一種( )算法。
A.公鑰加密
B.流密碼
C.分組加密
D.消息摘要
【正確答案】:C
【試題解析】:
高級加密標準(Advanced Encryption Standard,AES)是一種分組(對稱)加密算法,替代了原先的DES,是目前最流行的算法之一。
第 9 題:單選題(本題1分)
下列不能用于遠程登陸或控制的是( )
A.IGMP
B.SSH
C.Telnet
D.RFB
【正確答案】:A
【試題解析】:
Telnet協議是Internet遠程登錄服務的標準協議和主要方式。它為用戶提供了在本地計算機上完成遠程主機工作的能力。RFB ( Remote
Frame Buffer 遠程幀緩沖) 協議是一個用于遠程訪問圖形用戶界面的簡單協議。SSH協議是較可靠,專為遠程登錄會話和其他網絡服務
提供安全性的協議。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題。主機與本地路由器之間使用Internet組管理協議
(IGMP,Internet Group Management Protocol)來進行組播組成員信息的交互。
第 10 題:單選題(本題1分)
包過濾防火墻對( )的數據報文進行檢查。
A.應用層
B.物理層
C.網絡層
D.鏈路層
【正確答案】:C
【試題解析】:
包過濾型防火墻是在網絡層對數據包進行分析、選擇,選擇的依據是系統內設置的過濾規則(訪問控制表)。通過檢查每個數據包的源
地址、目的地址、端口和協議狀態等因素,確定是否允許該數據包通過。
第 11 題:單選題(本題1分)
防火墻通常分為內網、外網和DMZ三個區域,按照受保護程度,從低到高正確的排列次序為( )。
A.內網、外網和DMZ
B.外網、DMZ和內網
C.DMZ、內網和外網
D.內網、DMZ和外網
【正確答案】:B
【試題解析】:
防火墻認為內部網絡是安全和可信賴的,而外部網絡是不安全和不可信賴的。因此受保護的程度外網是最低而內網是最高的。
第 12 題:單選題(本題1分)
( )是構成我國保護計算機軟件著作權的兩個基本法律文件。
A.《計算機軟件保護條例》和《軟件法》
B.《中華人民共和國著作權法》和《軟件法》
C.《中華人民共和國著作權法》和《計算機軟件保護條例》
D.《中華人民共和國版權法》和《中華人民共和國著作權法》
【正確答案】:C
【試題解析】:
《中華人民共和國著作權法》和《計算機軟件保護條例》是構成我國保護計算機軟件著作權的兩個基本法律文件。在具體實施時,首先
按照《計算機軟件保護條例》適用條款執行,若是《計算機軟件保護條例》中沒有適用條款,再依據《中華人民共和國著作權法》的有
關條款執行。
第 13 題:單選題(本題1分)
X 公司接受Y公司的委托開發了一款應用軟件,雙方沒有訂立任何書面合同。在此情形下,( ) 享有該軟件的著作權。
A.X、Y公司共同
B.X公司
C.Y公司
D.X、Y公司均不
【正確答案】:B
【試題解析】:
接受他人委托開發的軟件,其著作權的歸屬由委托人與受托人簽訂書面合同約定;無書面合同或者合同未作明確約定的,其著作權由受
托人享有。
第 14 題:單選題(本題1分)
廣大公司(經銷商)擅自復制并銷售恭大公司開發的OA軟件已構成侵權。鴻達公司在不知情時從廣大公司(經銷商)處購入該軟件并已安裝使用。在鴻達公司知道了
所使用的軟件為侵權復制的情形下,其使用行為( )。
A.侵權,支付合理費用后可以繼續使用該軟件
B.侵權,須承擔賠償責任
C.不侵權,可繼續使用該軟件
D.不侵權,不需承擔任何法律責任
【正確答案】:A
【試題解析】:
鴻達公司在知道所使用的軟件為侵權復制的情形下繼續使用的行為屬于侵權行為,但在支付合理費用后是可以繼續使用該軟件的。
第 15 題:單選題(本題1分)
繪制分層數據流圖 (DFD)時需要注意的問題中,不包括( )。
A.給圖中的每個數據流、加工、數據存儲和外部實體命名
B.圖中要表示出控制流
C.一個加工不適合有過多的數據流
D.分解盡可能均勻
【正確答案】:B
【試題解析】:
數據流圖表現的是數據流而不是控制流。
第 16 題:單選題(本題1分)
以下關于軟件設計原則的敘述中,不正確的是出( )。
A.將系統劃分為相對獨立的模塊
B.模塊之間的耦合盡可能小
C.模塊規模越小越好
D.模塊的扇入系數和扇出系數合理
【正確答案】:C
【試題解析】:
模塊的規模要適當。過大的模塊會使系統分解得不充分而過小的模塊又有可能降低模塊的獨立性,造成系統接口的復雜性。
第 17 題:單選題(本題1分)
在風險管理中,通常需要進行風險監測,其目的不包括( )。
A.消除風險
B.評估所預測的風險是否發生
C.保證正確實施了風險緩解步驟
D.收集用于后續進行風險分析的信息
【正確答案】:A
【試題解析】:
風險可以避免其發生或者盡量減少風險發生后的影響,但是完全消除風險是不可能的。
第 18 題:單選題(本題1分)
下圖是一個軟件項目的活動圖,其中頂點表示項目里程碑,連接頂點的邊表示活動,邊上的權重表示完成該活動所需要的時間(天),則活動(作答此空) 不在關鍵
路徑上;顒覤I和EG的松弛時間分別是( )。
A.BD
B.BI
C.GH
D.KL
【正確答案】:B
【試題解析】:
關鍵路徑是AEGHKL、ABDIJL、ABDIJKL,工期20天。BI的松弛時間等于最遲開始時間-最早開始時間=4-3=1。EG在關鍵路徑上,松弛
時間是0。
第 19 題:單選題(本題1分)
下圖是一個軟件項目的活動圖,其中頂點表示項目里程碑,連接頂點的邊表示活動,邊上的權重表示完成該活動所需要的時間(天),則活動( ) 不在關鍵路徑上。
活動BI和EG的松弛時間分別是(作答此空)。
A.0和1
B.1和0
C.0和
2
D.2和0
【正確答案】:B
【試題解析】:
關鍵路徑是AEGHKL、ABDIJL、ABDIJKL,工期20天。BI的松弛時間等于最遲開始時間-最早開始時間=4-3=1。EG在關鍵路徑上,松弛
時間是0。
第 20 題:單選題(本題1分)
下圖所示的二叉樹表示的算術表達式是( )(其中的*,/,-,表示乘、除、減運算)。
A.a*b/c-D
B.a*b/(c-d)
C.a*(b/c-d)
D.a*(b-c/d)
【正確答案】:C
【試題解析】:
算術表達式采用中序遍歷(左、根、右)的方式,遍歷的結果是a*(b/c-d) 。
第 21 題:單選題(本題1分)
對高級程序語言進行編譯的過程中,使用( )來記錄源程序中各個符號的必要信息,以輔助語義的正確性檢查和代碼生成。
A.決策表
B.符號表
C.廣義表
D.索引表
【正確答案】:B
【試題解析】:
符號表的作用是記錄源程序中各個符號的必要信息,以輔助語義的正確性檢查和代碼生成,在編譯過程中需要對符號表進行快速有效地
查找、插入、修改和刪除等操作。符號表的建立可以始于詞法分析階段,也可以放到語法分析和語義分析階段,但符號表的使用有時會
延續到目標代碼的運行階段。
第 22 題:單選題(本題1分)
下圖所示為一個非確定有限自動機(NFA),S0為初態,S3為終態。該NFA識別的字符串分( )。
A.不能包含連續的字符“0”
B.不能包含連續的字符“1”
C.必須以“101”開頭
D.必須以“101”結尾
【正確答案】:D
【試題解析】:
該自動機可以識別的字符串有101、1*101、0*101、1*0*101、0*1*101,這些字符串的共同特點都是以101結尾。
第 23 題:單選題(本題1分)
在單處理機計算機系統中,有1臺打印機、1臺掃描儀,系統采用先來先服務調度算法。假設系統中有進程P1、P2、P3、P4,其中P1為運行狀態,P2為就緒狀
態,P3等待打印機,P4等待掃描儀。此時,若P1釋放了掃描儀,則進程P1、P2、P3、P4的狀態分別為( )。
A.等待、運行、等待、就緒
B.運行、就緒、等待、就緒
C.就緒、就緒、等待、運行
D.就緒、運行、等待、就緒
【正確答案】:D
【試題解析】:
按照來先服務調度算法,P1運行狀態結束后,P2運行,P3繼續等待打印機,而P1釋放掃描儀后處于等待狀態的P4可以獲取掃描儀,只需
等待處理機調度即可運行,因此P4由等待狀態轉為就緒狀態。此時,P1沒有等待發生的外部事件,它處于就緒狀態。
第 24 題:單選題(本題1分)
進程P1、P2、P3、P4、P5和P6的前趨圖如下所示。用PV操作控制這6個進程之間同步與互斥的程序如下,程序中的空①和空②處應分別為(作答此空),空③
和
空
④處應分別為( ),空⑤
A.V(S1)和PS2)P(S3)
B.V(S1)和V(S2)V(S3)
C.P(S1)和P(S2)V(S3)
D.P(S1)和V(S2)V(S3)
【正確答案】:D
【試題解析】:
信號量的分配如下圖所示。
這里進程P1和P6分別是第一個進程和最后一個進程,因此P1只有V操作,信號量是S2,即V(S2)。P6只有P操作,信號量是S5和S6,結
果為P(S5)、P(S6),中間進程P2、P3、P4、P5既有P操作也有V操作 ,分別是P2:P(S1)、V(S2)、V(S3),P3:P(S2)、V
(S4),P4:P(S3)、V(S5),P5:P(S4)、V(S6)。
第 25 題:單選題(本題1分)
進程P1、P2、P3、P4、P5和P6的前趨圖如下所示。用PV操作控制這6個進程之間同步與互斥的程序如下,程序中的空①和空②處應分別為( ),空③和空④處應
分別為(作答此空),空⑤和空⑥處應分別為( )。
A.V(S3)和P(S3)
B.V(S4)和P(S3)
C.P(S3)和P(S4)
D.V(S4)和P(S4)
【正確答案】:B
【試題解析】:
信號量的分配如下圖所示。
{圖}
這里進程P1和P6分別是第一個進程和最后一個進程,因此P1只有V操作,信號量是S2,即V(S2)。P6只有P操作,信號量是S5和S6,結
果為P(S5)、P(S6),中間進程P2、P3、P4、P5既有P操作也有V操作 ,分別是P2:P(S1)、V(S2)、V(S3),P3:P(S2)、V
。⊿4),P4:P(S3)、V(S5),P5:P(S4)、V(S6)。
第 26 題:單選題(本題1分)
進程P1、P2、P3、P4、P5和P6的前趨圖如下所示。用PV操作控制這6個進程之間同步與互斥的程序如下,程序中的空①和空②處應分別為( ),空③和空④處應
分別為( ),空⑤和空⑥處應分別為(作答此空)。
A.V(S6)和P(S5)
B.V(S5)和P(S6)
C.P(S5)和V(S6)
D.P(S5)和V(S5)
【正確答案】:A
【試題解析】:
信號量的分配如下圖所示。
這里進程P1和P6分別是第一個進程和最后一個進程,因此P1只有V操作,信號量是S2,即V(S2)。P6只有P操作,信號量是S5和S6,結
果為P(S5)、P(S6),中間進程P2、P3、P4、P5既有P操作也有V操作 ,分別是P2:P(S1)、V(S2)、V(S3),P3:P(S2)、V
。⊿4),P4:P(S3)、V(S5),P5:P(S4)、V(S6)。
第 27 題:單選題(本題1分)
在磁盤上存儲數據的排列方式會影響IO服務的總時間。假設每個磁道被劃分成10個物理塊,每個物理塊存放1個邏輯記錄。邏輯記錄R1,R2,.....,R10存放在同一個
磁道上,記錄的排列順序如下表所示。
假定磁盤的旋轉速度為10ms/周,磁頭當前處在R1的開始處。若系統順序處理這些記錄,使用單緩沖區,每個記錄處理時間為2ms,則處理這10個記錄的最長時間
為(作答此空);若對存儲數據的排列順序進行優化,處理10個記錄的最少時間為( )。
A.30ms
B.60ms
C.94ms
D.102ms
【正確答案】:D
【試題解析】:
磁頭當前處于R1 處,讀取出R1的時間為10ms/10=1ms,然后的使用單緩沖區處理,花費2ms。R1處理完畢后磁頭此時已處于R4處,若是
順序讀和處理R2則需要再等待8ms,R2的讀取與處理時間與R1相同,當R2處理完畢再讀取 R3 仍然需要再等待8 ms......依次類推,10個記
錄讀完處理完畢的時間一共是102ms。若對存儲數據的排列順序進行優化,即在原先存放R4處,存放R2,則十個記錄的處理時間會縮短
至30ms。
第 28 題:單選題(本題1分)
在磁盤上存儲數據的排列方式會影響IO服務的總時間。假設每個磁道被劃分成10個物理塊,每個物理塊存放1個邏輯記錄。邏輯記錄R1,R2,.....,R10存放在同一個
磁道上,記錄的排列順序如下表所示。
假定磁盤的旋轉速度為10ms/周,磁頭當前處在R1的開始處。若系統順序處理這些記錄,使用單緩沖區,每個記錄處理時間為2ms,則處理這10個記錄的最長時間
為( );若對存儲數據的排列順序進行優化,處理10個記錄的最少時間為(作答此空)。
A.30ms
B.60ms
C.94ms
D.102ms
【正確答案】:A
【試題解析】:
磁頭當前處于R1 處,讀取出R1的時間為10ms/10=1ms,然后的使用單緩沖區處理,花費2ms。R1處理完畢后磁頭此時已處于R4處,若是
順序讀和處理R2則需要再等待8ms,R2的讀取與處理時間與R1相同,當R2處理完畢再讀取 R3 仍然需要再等待8 ms......依次類推,10個記
錄讀完處理完畢的時間一共是102ms。若對存儲數據的排列順序進行優化,即在原先存放R4處,存放R2,則十個記錄的處理時間會縮短
至30ms。
第 29 題:單選題(本題1分)
以下關于增量模型優點的敘述中,不正確的是( )。
A.強調開發的階段性早期計劃
B.第一個可交付版本所需要的時間少和成本低
C.開發由增量表示的小系統所承擔的風險小
D.系統管理成本低、效率高、配置簡單
【正確答案】:D
【試題解析】:
增量模型的優點有:①容易理解②管理成本低③強調開發的階段性早期計劃及需求調查和產品測試④第一個可交付版本所需要的成本和
時間很少⑤開發由增量表示的小系統所承擔的風險不大⑥由于很快發布了第一個版本,因此可以減少用戶需求的變更⑦運行增量投資,
即在項目開始時,可以僅對一個或兩個增量投資。
第 30 題:單選題(本題1分)
以下關于敏捷統一過程(AUP)的敘述中,不正確的是( )。
A.在大型任務上連續
B.在小型活動上迭代
C.每一個不同的系統都需要一套不同的策略、約定和方法論
D.采用經典的UP階段性活動,即初始、精化、構建和轉換
【正確答案】:C
【試題解析】:
敏捷統一過程(Agile Unified Process,AUP)采用"在大型上連續"以及在"在小型上迭代"的原理來構建軟件系統。采用經典的UP階段性活
動(初始、精化、構建和轉換),提供了一系列活動,能夠使團隊為軟件項目構想出一個全面的過程流。
第 31 題:單選題(本題1分)
在ISO/IEC軟件質量模型中,可移植性是指與軟件可從某環境移到另一環境的能力有關的一組屬性,其子特性不包括( )。
A.適應性
B.易測試性
C.易安裝性
D.易替換性
【正確答案】:B
【試題解析】:
ISO/IEC軟件質量模型規定的質量特性有:
易測試性屬于可維護性指標。
第 32 題:單選題(本題1分)
在軟件開發過程中,系統測試階段的測試目標來自于( )階段。
A.需求分析
B.概要設計
C.詳細設計
D.軟件實現
【正確答案】:A
【試題解析】:
軟設測試目標需要在需求分析階段就確認好。
第 33 題:單選題(本題1分)
信息系統的文檔是開發人員與用戶交流的工具。在系統規劃和系統分析階段,用戶與系統分析人員交流所使用的文檔不包括( )。
A.可行性研究報告
B.總體規劃報告
C.項目開發計劃
D.用戶使用手冊
【正確答案】:B
【試題解析】:
用戶使用手冊是概要設計階段產生的文檔,除此以外,概要設計階段產生的文檔還有概要設計說明書、數據庫設計說明書、修訂測試計
劃。
第 34 題:單選題(本題1分)
如下所示代碼(用縮進表示程序塊),要實現語句覆蓋,至少需要(作答此空)個測試用例。采用McCabe度量法計算該代碼對應的程序流程圖的環路復雜性為
( )。
A.1
B.2
C.3
D.4
【正確答案】:A
【試題解析】:
該流程圖的作用是從小到大排列數組A
的
n個元素,例如排列數組元素3、2、1,只用一個測試用例即可實現。圖中有兩個循環形成兩個閉
環,環路復雜度為閉環個數加1等于3個。
第 35 題:單選題(本題1分)
如下所示代碼(用縮進表示程序塊),要實現語句覆蓋,至少需要( )個測試用例。采用McCabe度量法計算該代碼對應的程序流程圖的環路復雜性為(作答此
空)。
A.1
B.2
C.3
D.4
【正確答案】:C
【試題解析】:
該流程圖的作用是從小到大排列數組A
的
n個元素,例如排列數組元素3、2、1,只用一個測試用例即可實現。圖中有兩個循環形成兩個閉
環,環路復雜度為閉環個數加1等于3個。
第 36 題:單選題(本題1分)
系統可維護性是指維護人員理解、改正、改動和改進軟件系統的難易程度,其評價指標不包括( )。
A.可理解性
B.可測試性
C.可修改性
D.一致性
【正確答案】:D
【試題解析】:
系統可維護性包括:可理解性、可測試性、可修改性。
第 37 題:單選題(本題1分)
面向對象設計時包含的主要活動是( )。
A.認定對象、組織對象、描述對象間的相互作用、確定對象的操作
B.認定對象、定義屬性、組織對象、確定對象的操作
C.識別類及對象、確定對象的操作、描述對象間的相互作用、識別關系
D.識別類及對象、定義屬性、定義服務、識別關系、識別包
【正確答案】:D
【試題解析】:
面向對象設計時包含的主要活動是識別類及對象、定義屬性、定義服務、識別關系、識別包。
第 38 題:單選題(本題1分)
在面向對象設計時,如果重用了包中的一個類,那么就要重用包中的所有類,這屬于( )原則。
A.接口分離
B.開放-封閉
C.共同封閉
D.共同重用
【正確答案】:D
【試題解析】:
接口分離原則:不應該強迫客戶依賴于它們不用的方法。開放-封閉原則:軟件實體(類、模塊、函數等)應該是可以擴展的,即開放的;
但是不可修改的,即封閉的。共同封閉原則:包中的所有類對于同一類性質的變化應該是共同封閉的。一個變化若對一個包產生影響,
則將對該包中的所有類產生影響,而對于其他的包不造成任何影響。共同重用原則:一個包中的所有類應該是共同重用的。如果重用了
包中的一個類,那么就要重用包中的所有類。
第 39 題:單選題(本題1分)
某電商系統在采用面向對象方法進行設計時,識別出網店、商品、購物車、訂單、買家、庫存、支付(微信、支付寶)等類。其中,購物車與商品之間適合采用
(作答此空) 關系,網店與商品之間適合采用( ) 關系。
A.關聯
B.依賴
C.組合
D.聚合
【正確答案】:D
【試題解析】:
購物車與商品是整體與部分的關系,購物車包含了商品,但是商品可以脫離購物車獨立存在,這是一種聚合關系。網店與商品之間是一
種整體與部分的關系,商品是網店的一部分,如果網店不存在了,那么網店中的商品也不存在,它們之間是組合關系。
第 40 題:單選題(本題1分)
某電商系統在采用面向對象方法進行設計時,識別出網店、商品、購物車、訂單、買家、庫存、支付(微信、支付寶)等類。其中,購物車與商品之間適合采用( )
關系,網店與商品之間適合采用(作答此空) 關系。
A.關聯
B.依賴
C.組合
D.聚合
【正確答案】:C
【試題解析】:
購物車與商品是整體與部分的關系,購物車包含了商品,但是商品可以脫離購物車獨立存在,這是一種聚合關系。網店與商品之間是一
種整體與部分的關系,商品是網店的一部分,如果網店不存在了,那么網店中的商品也不存在,它們之間是組合關系。
第 41 題:單選題(本題1分)
某軟件系統限定:用戶登錄失敗的次數不能超過3次。采用如所示的UML狀態圖對用戶登錄狀態進行建模,假設活動狀態是Logging in,那么當Valid Entrty發生
時,(作答此空)。其中,[triesimage.png3]和tries++分別為( )和 ( )。
A.保持在Logging in狀態
B.若[triesimage.png3]為true,則Logged in變為下一個活動狀態
C.Logged in立刻變為下一個活動狀態
D.若tries=3為true,則Logging Denied變為下一個活動狀態
【正確答案】:B
【試題解析】:
根據狀態圖,事件Valid Entrty發生,同時當triesimage.png3時,系統變為Logged in狀態。[triesimage.png3]是監護條件,是一種布爾表達
式,當結果為true時,說明轉換符合觸發條件。tries++屬于轉換,是兩個狀態之間的一種關系,轉換包括事件與動作。轉換會引起系統
狀態的轉變。
第 42 題:單選題(本題1分)
某軟件系統限定:用戶登錄失敗的次數不能超過3次。采用如所示的UML狀態圖對用戶登錄狀態進行建模,假設活動狀態是Logging in,那么當Valid Entrty發生
時,( )。其中,[triesimage.png3]和tries++分別為(作答此空)和 ( )。
A.狀態
B.轉換
C.監護條件
D.轉換后效果
【正確答案】:C
【試題解析】:
根據狀態圖,事件Valid Entrty發生,同時當triesimage.png3時,系統變為Logged in狀態。[triesimage.png3]是監護條件,是一種布爾表達
式,當結果為true時,說明轉換符合觸發條件。tries++屬于轉換,是兩個狀態之間的一種關系,轉換包括事件與動作。轉換會引起系統
狀態的轉變。
第 43 題:單選題(本題1分)
某軟件系統限定:用戶登錄失敗的次數不能超過3次。采用如所示的UML狀態圖對用戶登錄狀態進行建模,假設活動狀態是Logging in,那么當Valid Entrty發生
時,( )。其中,[triesimage.png3]和tries++分別為( )和 (作答此空)。
A.狀態
B.轉換
C.監護條件
D.轉換后效果
【正確答案】:B
【試題解析】:
根據狀態圖,事件Valid Entrty發生,同時當triesimage.png3時,系統變為Logged in狀態。[triesimage.png3]是監護條件,是一種布爾表達
式,當結果為true時,說明轉換符合觸發條件。tries++屬于轉換,是兩個狀態之間的一種關系,轉換包括事件與動作。轉換會引起系統
狀態的轉變。
第 44 題:單選題(本題1分)
在某系統中,不同組(Group)訪問數據的權限不同,每個用戶(User)可以是一個或多個組中的成員,每個組包含零個或多個用戶,F要求在用戶和組之間設計映
射,將用戶和組之間的關系由映射進行維護,得到如下所示的類圖。該設計采用(作答此空) 模式,用一個對象來封裝系列的對象交互; 使用戶對象和組對象不
需要顯式地相互引用,從而使其耦合松散,而且可以獨立地改變它們之間的交互。該模式屬于( )模式,該模式適用于: ( )。
A.狀態(State)
B.策略(Strategy)
C.解釋器(Interpreter)
D.中介者(Mediator)
【正確答案】:D
【試題解析】:
中介者模式用一個中介對象來封裝一系列的對象交互,中介者使各對象不需要顯式地相互引用,從而使其耦合松散,而且可以獨立地改
變它們之間的交互。中介者模式屬于行為型對象模式,適應于下列情況:一組對象以定義良好但是復雜的方式進行通信,產生的相互依
賴關系結構混亂且難以理解。一個對象引用其他很多對象并且直接與這些對象通信,導致難以復用該對象。想定制一個分布在多個類中
的行為,而又不想生成太多的子類。
第 45 題:單選題(本題1分)
在某系統中,不同組(Group)訪問數據的權限不同,每個用戶(User)可以是一個或多個組中的成員,每個組包含零個或多個用戶。現要求在用戶和組之間設計映
射,將用戶和組之間的關系由映射進行維護,得到如下所示的類圖。該設計采用( ) 模式,用一個對象來封裝系列的對象交互; 使用戶對象和組對象不需要顯式
地相互引用,從而使其耦合松散,而且可以獨立地改變它們之間的交互。該模式屬于(作答此空)模式,該模式適用于: ( )。
A.創建型類
B.創建型對象
C.行為型對象
D.行為型類
【正確答案】:C
【試題解析】:
中介者模式用一個中介對象來封裝一系列的對象交互,中介者使各對象不需要顯式地相互引用,從而使其耦合松散,而且可以獨立地改
變它們之間的交互。中介者模式屬于行為型對象模式,適應于下列情況:一組對象以定義良好但是復雜的方式進行通信,產生的相互依
賴關系結構混亂且難以理解。一個對象引用其他很多對象并且直接與這些對象通信,導致難以復用該對象。想定制一個分布在多個類中
的行為,而又不想生成太多的子類。
第 46 題:單選題(本題1分)
在某系統中,不同組(Group)訪問數據的權限不同,每個用戶(User)可以是一個或多個組中的成員,每個組包含零個或多個用戶,F要求在用戶和組之間設計映
射,將用戶和組之間的關系由映射進行維護,得到如下所示的類圖。該設計采用( ) 模式,用一個對象來封裝系列的對象交互; 使用戶對象和組對象不需要顯式
地相互引用,從而使其耦合松散,而且可以獨立地改變它們之間的交互。該模式屬于( )模式,該模式適用于: (作答此空)。
A.需要使用一個算法的不同變體
B.有一個語言需要解釋執行,并且可將句子表示為一個抽象語法樹
C.一個對象的行為決定于其狀態且必須在運行時刻根據狀態改變行為
D.一組對象以定義良好但是復雜的方式進行通信,產生的相互依賴關系結構混亂且難以理解
【正確答案】:D
【試題解析】:
中介者模式用一個中介對象來封裝一系列的對象交互,中介者使各對象不需要顯式地相互引用,從而使其耦合松散,而且可以獨立地改
變它們之間的交互。中介者模式屬于行為型對象模式,適應于下列情況:一組對象以定義良好但是復雜的方式進行通信,產生的相互依
賴關系結構混亂且難以理解。一個對象引用其他很多對象并且直接與這些對象通信,導致難以復用該對象。想定制一個分布在多個類中
的行為,而又不想生成太多的子類。
第 47 題:單選題(本題1分)
在設計某購物中心的收銀軟件系統時,要求能夠支持在不同時期推出打折、返利、滿減等不同促銷活動,則適合采用( )模式。
A.策略(Strategy)
B.訪問者(Visitor)
C.觀察者(Observer)
D.中介者(Mediator)
【正確答案】:A
【試題解析】:
使用策略模式可以將不同時期的促銷活動定義為一個個算法,進行封裝,它們彼此可以互相替換,也能獨立于使用它們的客戶而變化。
客戶也不必知道算法使用的數據,避免暴露相關的數據結構。
第 48 題:單選題(本題1分)
Python 語言的特點不包括( )。
A.跨平臺、開源
B.編譯型
C.支持面向對象程序設計
D.動態編程
【正確答案】:B
【試題解析】:
Python屬于解釋型而非編譯型程序設計語言。
第 49 題:單選題(本題1分)
在 Python語言中,( )是一種可變的、有序的序列結構,其中元素可以重復。
A.元組(tuple)
B.字符串(str)
C.列表(list)
D.集合(set)
【正確答案】:C
【試題解析】:
列表是個有序的數據集合,可以隨時添加或者刪除元素。元組與列表類似,但元組里面的元素不可變。集合里面的元素是無序的。字符
串是由獨立的字符組成,字符類型不可變。
第 50 題:單選題(本題1分)
以下Python語言的模塊中,( )不支持深度學習模型。
A.TensorFlow
B.MatplotliB
C.PyTorch
D.Keras
【正確答案】:B
【試題解析】:
Matplotlib是Python的繪圖庫,可以繪制直方圖、條形圖、散點圖等圖形。
第 51 題:單選題(本題1分)
采用三級模式結構的數據庫系統中,如果對一個表創建聚簇索引,那么改變的是數據庫的 ( ) 。
A.外模式
B.模式
C.內模式
D.用戶模式
【正確答案】:C
【試題解析】:
數據庫的三級模式分別是:
第 52 題:單選題(本題1分)
設關系模式R(U,F), U={A1,A2,A3,A4},函數依賴集F={A1→A2,A1→A3 ,A2→A4},關系R的候選碼是(作答此空)。下列結論錯誤的是( )。
A.A1
B.A2
C.A1A2
D.A1A3
【正確答案】:A
【試題解析】:
通過A1可以得到A2、A3,通過A2又可以得到A4,因此A1屬于候選碼。A3只能由A1得到,A2無法得到A3。
第 53 題:單選題(本題1分)
設關系模式R(U,F), U={A1,A2,A3,A4},函數依賴集F={A1→A2,A1→A3 ,A2→A4},關系R的候選碼是( )。下列結論錯誤的是(作答此空)。
A.A1→A2A3為
F所蘊涵
B.A1→ A4為
F所蘊涵
C.A1A2→ A4為
F所蘊涵
D.A2→ A3為
F所蘊涵
【正確答案】:D
【試題解析】:
通過A1可以得到A2、A3,通過A2又可以得到A4,因此A1屬于候選碼。A3只能由A1得到,A2無法得到A3。
第 54 題:單選題(本題1分)
給定學生關系S(學號,姓名,學院名,電話,家庭住址)、課程關系C(課程號,課程名,選修課程號)、選課關系SC(學號,課程號,成績)。查詢“張晉”選修了“市場營
銷”課程的學號、學生名、學院名、成績的關系代數表達式為: π1,2,3,7(π1,2,3(作答此空) ) ( ))) 。
A.σ2=張晉(S)
B.σ2=‘張晉’(S)
C.σ2=張晉(SC)
D.σ2=‘張晉’(SC)
【正確答案】:B
【試題解析】:
第 55 題:單選題(本題1分)
給定學生關系S(學號,姓名,學院名,電話,家庭住址)、課程關系C(課程號,課程名,選修課程號)、選課關系SC(學號,課程號,成績)。查詢“張晉”選修了“市場營
銷”課程的學號、學生名、學院名、成績的關系代數表達式為: π1,2,3,7(π1,2,3( ) ) (作答此空))) 。
A.π2,3(σ2=‘市場營銷’(C))SC
B.π2,3(σ2=市場營銷(SC)) C
C.π1,2(σ2=‘市場營銷’(C))SC
D.π1,2(σ2=市場營銷(SC))C
【正確答案】:C
【試題解析】:
第 56 題:單選題(本題1分)
數據庫的安全機制中,通過提供( )供第三方開發人員調用進行數據更新,從而保證數據庫的關系模式不被第三方所獲取。
A.觸發器
B.存儲過程
C.視圖
D.索引
【正確答案】:B
【試題解析】:
存儲過程(Stored Procedure)是在大型數據庫系統中,一組為了完成特定功能的SQL語句集,它存儲在數據庫中,一次編譯后永久有效,
用戶通過指定存儲過程的名字并給出參數(如果該存儲過程帶有參數)來執行它。存儲過程是數據庫所提供的一種數據庫對象,通過存
儲過程定 義一段代碼,提供給應用程序調用來執行。 從安全性的角度考慮,更新數據時,通過提供存儲過程讓第三方調用,將需要更
新的數據傳入存儲過程,而在存儲過程內部用代碼分別對需要的多個表進行更新,從而避免了向第三方提供系統的表結構,保證了系統
的數據安全。
第 57 題:單選題(本題1分)
若棧采用順序存儲方式,現有兩棧共享空間V[1..n],,top[i]代表i( i=1,2)個棧的棧頂(兩個棧都空時top[1]= 1、top[2]= n),棧1的底在V[1],棧
2的底在V[n], 則棧滿(即
n
個元素暫存在這兩個棧)的條件是( )。
A.top[1]= top[2]
B.top[1]+ top[2]==1
C.top[1]+ top[2]==n
D.top[1]- top[2]== 1
【正確答案】:D
【試題解析】:
最后一個棧元素的位置加1為棧滿的情況,因此判斷的條件就是top[1]- top[2]== 1,選擇D。
第 58 題:單選題(本題1分)
采用循環隊列的優點是( )。
A.入隊和出隊可以在隊列的同端點進行操作
B.入隊和出隊操作都不需要移動隊列中的其他元素
C.避免出現隊列滿的情況
D.避免出現隊列空的情況
【正確答案】:B
【試題解析】:
循環隊列是將順序隊列形成一個環狀結構,元素入隊時修改尾指針,元素出隊時修改頭指針,入隊和出隊操作都不需要移動隊列中的其
他元素。
第 59 題:單選題(本題1分)
二叉樹的高度是指其層數,空二叉樹的高度為0,僅有根結點的二叉樹高度為1。若某二叉樹中共有1024個結點,則該二叉樹的高度是整數區間( )中的任一值。
A.(10, 1024)
B.[10, 1024]
C.(11, 1024)
D.[11, 1024]
【正確答案】:D
【試題解析】:
本題分三種情況,第一種1024個結點排列成單枝樹,即非葉子結點只有一個孩子的樹。該二叉樹的高度為1024。第二種情況是完全二叉
樹的情況,根據二叉樹特性:具有n個結點的完全二叉樹的深度為?log2n?+1,可得二叉樹深度為11。第三種情況是非完全二叉樹,層數在
12-1023之間。綜上所述,該二叉樹的層數是整數區間 [11, 1024]中的任一值。
第 60 題:單選題(本題1分)
n個關鍵碼構成的序列{k1,k2, ...kn,}當且僅當滿足下列關系時稱其為堆。 以下關鍵碼序列中,( ) 不是堆。
A.15,25, 21,53,73, 65,33
B.15,25, 21,33, 73, 65,53
C.73, 65, 25, 21, 15,53, 33
D.73, 65, 25,33, 53,15, 21
【正確答案】:C
【試題解析】:
將一個一維數組看成是一棵完全二叉樹,如果該完全二叉樹中所有非終端結點的值均不小于其左、右孩子結點的值,則稱之為大頂
。ǜ┒。如果該完全二叉樹中所有非終端結點的值均不大于其左、右孩子結點的值,則稱之為小頂(根)堆。將選項C的數組構造成完
全二叉樹,顯然是不滿足堆的條件的。如下圖所示。
第 61 題:單選題(本題1分)
對有向圖G進行拓撲排序得到的拓撲序列中,頂點Vi在頂點Vj之前,則說明G中( )。
A.一定存在有向弧image.pngVi, Vj>
B.一定不存在有向弧image.pngVj, Vi>
C.可能存在從Vi到Vj的路徑
D.必定存在從Vj到Vi的路徑
【正確答案】:C
【試題解析】:
如下圖所示有向圖,頂點V0在頂點V3之前,且并無有向弧image.pngV0,V2>,image.pngV2,V3>的路徑。左圖V1到V2并無路徑,右圖
V2到V1沒有路徑。
第 62 題:單選題(本題1分)
歸并排序算法在排序過程中,將待排序數組分為兩個大小相同的子數組,分別對兩個子數組采用歸并排序算法進行排序,排好序的兩個子數組采用時間復雜度
為O(n)的過程合并為一個大數組。根據上述描述,歸并排序算法采用了(作答此空)算法設計策略。歸并排序算法的最好和最壞情況下的時間復雜度為( )。
A.分治
B.動態規劃
C.貪心
D.回溯
【正確答案】:A
【試題解析】:
歸并排序將問題先分解、再處理、再合并的方式采用了分治法的思想。
第 63 題:單選題(本題1分)
歸并排序算法在排序過程中,將待排序數組分為兩個大小相同的子數組,分別對兩個子數組采用歸并排序算法進行排序,排好序的兩個子數組采用時間復雜度
為O(n)的過程合并為一個大數組。根據上述描述,歸并排序算法采用了( )算法設計策略。歸并排序算法的最好和最壞情況下的時間復雜度為(作答此空)。
【正確答案】:C
【試題解析】:
歸并排序將問題先分解、再處理、再合并的方式采用了分治法的思想。
第 64 題:單選題(本題1分)
已知一個文件中出現的各字符及其對應的頻率如下表所示。采用Huffman 編碼,則該文件中字符a和c的碼長分別為 (作答此空)。若采用Huffman編碼,則字符序
列110001001101”的編碼應為 ( )。
A.1和3
B.1和
4
C.3和3
D.3和
4
【正確答案】:A
【試題解析】:
根據題意構造哈夫曼樹如下。6個字符的編碼分別是:a:0,b:101 ,c:100 ,d:111, e:1101,f:1100
第 65 題:單選題(本題1分)
已知一個文件中出現的各字符及其對應的頻率如下表所示。采用Huffman 編碼,則該文件中字符a和c的碼長分別為 ( )。若采用Huffman編碼,則字符序列
110001001101”的編碼應為 (作答此空)。
A.face
B.bace
C.acde
D.fade
【正確答案】:A
【試題解析】:
根據題意構造哈夫曼樹如下。6個字符的編碼分別是:a:0,b:101 ,c:100 ,d:111, e:1101,f:1100
第 66 題:單選題(本題1分)
用戶在電子商務網站上使用網上銀行支付時,必須通過( )在Internet與銀行專用網之間進行數據交換。
A.支付網關
B.防病毒網關
C.出口路由器
D.堡壘主機
【正確答案】:A
【試題解析】:
支付網關可以將Internet上傳輸的數據轉換為銀行專用網數據,是金融網絡系統與Internet網絡之間的接口。
第 67 題:單選題(本題1分)
ARP 報文分為ARP Request和ARP Response,其中ARP Request采用(作答此空)進行傳送,ARP Response采用( ) 進行傳送。
A.廣播
B.組播
C.多播
D.單播
【正確答案】:A
【試題解析】:
ARP request報文用來獲取目的主機的MAC地址,ARP request報文采用廣播的方式在網絡上傳送,該網絡中所有主機包括網關都會接受到
此ARP request 報文。接收到報文的目的主機會返回一個ARP Response報文來響應,ARP Response報文是以單播的方式傳送的。
第 68 題:單選題(本題1分)
ARP 報文分為ARP Request和ARP Response,其中ARP Request采用( )進行傳送,ARP Response采用(作答此空) 進行傳送。
A.廣播
B.組播
C.多播
D.單播
【正確答案】:D
【試題解析】:
ARP request報文用來獲取目的主機的MAC地址,ARP request報文采用廣播的方式在網絡上傳送,該網絡中所有主機包括網關都會接受到
此ARP request 報文。接收到報文的目的主機會返回一個ARP Response報文來響應,ARP Response報文是以單播的方式傳送的。
第 69 題:單選題(本題1分)
下面的標記對中人 ( )用于表示網頁代碼的起始和終止。
A.image.pnghtml>image.png/html>
B.image.pnghead>image.png/head>
C.image.pngbody>image.png/body>
D.image.pngmeta> image.png/meta>
【正確答案】:A
【試題解析】:
image.pnghead>image.png/head>表示文檔的頭部標簽。如文檔的標題,以及、腳本、樣式、meta 信息以及其他更多的信息。
image.pngbody>image.png/body>表示文檔的內容,比如文本、超鏈接、圖像、表格和列表等等。image.pngmeta> image.png/meta>表示
HTML 文檔的元數據,主要包括網頁的描述,關鍵詞,文件的最后修改時間,作者及其他元數據。image.pnghtml>image.png/html>用于表
示網頁代碼的起始和終止。
第 70 題:單選題(本題1分)
以下對于路由協議的敘述中,錯誤的是( )。
A.路由協議是通過執行一個算法來完成路由選擇的一種協議
B.動態路由協議可以分為距離向量路由協議和鏈路狀態路由協議
C.路由協議是一種允讓許數據包在主機之間傳送信息的一種協議
D.路由器之間可以通過路由協議學習網絡的拓撲結構
【正確答案】:C
【試題解析】:
選項C 路由協議是一種允讓許數據包在路由器之間傳送信息的一種協議。
第 71 題:單選題(本題1分)
DerOps is a continuous simplification process of maintaining a delicate balance among functionality, usability and security of a software both in terms of its development and
oprations. Software engineering is the application of diverse engineering approaches towards the development of software.The roles and responsibilities of DevOps and
software development overlap in many arcas.so it is easier to get confused between the two.Lets look at this comparison in term of work roles.One is that of a software
engineer and the other is a DevOps engineer. The biggest different is in their (作答此空). Software engineers focus on how well the computer software fits the needs of the
client while a DevOps engineer has a broader focus that includes software development, how the software is deployed and providing ( ) support through the cloudwhile the
software is continually ( ) .A software engineer creates computer programs for people to use based upon their security and functionality needs. A DevOps engineer also works
on computer applications, but manages the building, deployment and operation as a( ) autormated process. Software engineers often work separately from the operations side
of a business. They create the software a business client needs and then monitor the performance of their software products to determine if upgrades are necessary or if more
serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to ( ) software tosmoothly function with
automated processes. Both professions require knowledge of computer programming languages.
A.focus
B.process
C.goal
D.function
【正確答案】:A
第 72 題:單選題(本題1分)
DerOps is a continuous simplification process of maintaining a delicate balance among functionality, usability and security of a software both in terms of its development and
oprations. Software engineering is the application of diverse engineering approaches towards the development of software.The roles and responsibilities of DevOps and
software development overlap in many arcas.so it is easier to get confused between the two.Lets look at this comparison in term of work roles.One is that of a software
engineer and the other is a DevOps engineer. The biggest different is in their ( ). Software engineers focus on how well the computer software fits the needs of the client while
a DevOps engineer has a broader focus that includes software development, how the software is deployed and providing (作答此空) support through the cloudwhile the
software is continually ( ) .A software engineer creates computer programs for people to use based upon their security and functionality needs. A DevOps engineer also works
on computer applications, but manages the building, deployment and operation as a( ) autormated process. Software engineers often work separately from the operations side
of a business. They create the software a business client needs and then monitor the performance of their software products to determine if upgrades are necessary or if more
serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to ( ) software tosmoothly function with
automated processes. Both professions require knowledge of computer programming languages.
A.developing
B.deploying
C.training
D.operational
【正確答案】:D
第 73 題:單選題(本題1分)
DerOps is a continuous simplification process of maintaining a delicate balance among functionality, usability and security of a software both in terms of its development and
oprations. Software engineering is the application of diverse engineering approaches towards the development of software.The roles and responsibilities of DevOps and
software development overlap in many arcas.so it is easier to get confused between the two.Lets look at this comparison in term of work roles.One is that of a software
engineer and the other is a DevOps engineer. The biggest different is in their ( ). Software engineers focus on how well the computer software fits the needs of the client while
a DevOps engineer has a broader focus that includes software development, how the software is deployed and providing ( ) support through the cloudwhile the software is
continually (作答此空) .A software engineer creates computer programs for people to use based upon their security and functionality needs. A DevOps engineer also works
on computer applications, but manages the building, deployment and operation as a( ) autormated process. Software engineers often work separately from the operations side
of a business. They create the software a business client needs and then monitor the performance of their software products to determine if upgrades are necessary or if more
serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to ( ) software tosmoothly function with
automated processes. Both professions require knowledge of computer programming languages.
A.developeD.
B.functional
C.constructeD.
D.secure
【正確答案】:B
第 74 題:單選題(本題1分)
DerOps is a continuous simplification process of maintaining a delicate balance among functionality, usability and security of a software both in terms of its development and
oprations. Software engineering is the application of diverse engineering approaches towards the development of software.The roles and responsibilities of DevOps and
software development overlap in many arcas.so it is easier to get confused between the two.Lets look at this comparison in term of work roles.One is that of a software
engineer and the other is a DevOps engineer. The biggest different is in their ( ). Software engineers focus on how well the computer software fits the needs of the client while
a DevOps engineer has a broader focus that includes software development, how the software is deployed and providing ( ) support through the cloudwhile the software is
continually ( ) .A software engineer creates computer programs for people to use based upon their security and functionality needs. A DevOps engineer also works on
computer applications, but manages the building, deployment and operation as a(作答此空) autormated process. Software engineers often work separately from the
o
perations side of a business. They create the software a business client needs and then monitor the performance of their software products to determine if upgrades are
necessary or if more serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to ( ) software tosmoothly
function with automated processes. Both professions require knowledge of computer programming languages.
A.single
B.whole
C.continuous
D.independent
【正確答案】:C
第 75 題:單選題(本題1分)
DerOps is a continuous simplification process of maintaining a delicate balance among functionality, usability and security of a software both in terms of its development and
oprations. Software engineering is the application of diverse engineering approaches towards the development of software.The roles and responsibilities of DevOps and
software development overlap in many arcas.so it is easier to get confused between the two.Lets look at this comparison in term of work roles.One is that of a software
engineer and the other is a DevOps engineer. The biggest different is in their ( ). Software engineers focus on how well the computer software fits the needs of the client while
a DevOps engineer has a broader focus that includes software development, how the software is deployed and providing ( ) support through the cloudwhile the software is
continually ( ) .A software engineer creates computer programs for people to use based upon their security and functionality needs. A DevOps engineer also works on
computer applications, but manages the building, deployment and operation as a( ) autormated process. Software engineers often work separately from the operations side of
a business. They create the software a business client needs and then monitor the performance of their software products to determine if upgrades are necessary or if more
serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to (作答此空) software tosmoothly function with
automated processes. Both professions require knowledge of computer programming languages.
A.develop
B.integrate
C.analyse
D.maintain
【正確答案】:B
第 1 題:解析題(本題1分)
【說明】某現代農業種植基地為進一步提升農作物種植過程的智能化,欲開發智慧農業平臺,集管理和銷售于一體,該平臺的主要功能有:
1.信息維護。農業專家對農作物、環境等監測數據的監控處理規則進行維護。
2.數據采集。獲取傳感器上傳的農作物長勢、土壤墑情、氣候等連續監測數據,解析后將監測信息進行數據處理、可視化和存儲等操作。
3.數據處理。對實時監測信息根據監控處理規則進行監測分析,將分析結果進行可視化并進行存儲、遠程控制對歷史監測信息進行綜合統計和預測,將預測信息
進行可視化和存儲。
4.遠程控制。根據監控處理規則對分析結果進行判定,依據判定結果自動對控制器進行遠程控制。平臺也可以根據農業人員提供的控制信息對控制器進行遠程控
制。
5.可視化。實時向農業人員展示監測信息:實時給農業專家展示統計分析結果和預測信息或根據農業專家請求進行展示。
現采用結構化方法對智慧農業平臺進行分析與設計,獲得如圖1-1所示的上下文數據流圖和圖1-2所示的0層數據流圖。
【問題1】(4分)
使用說明中的詞語,給出圖1-1中的實體E1~E4的名稱。
【問題2】(4分)
使用說明中的詞語,給出圖1-2中的數據存儲D1~D4的名稱。
【問題3】(4分)
根據說明和圖中術語,補充圖1-2中缺失的數據流及其起點和終點。
【問題4】(3分)
根據說明,“數據處理”可以分解為哪些子加工?進一步進行分解時,需要注意哪三種常見的錯誤?
【試題解析】:
【問題1】(4分)
E1:傳感器;E2:農業專家;E3:農業人員;E4:控制器
【問題2】(4分)
D1:監控處理規則文件 D2:監測信息表 D3:分析結果文件 D4:預測信息表
【問題3】(4分)
起點D1,終點P4,規則起點E2,終點P5,請求
起點D3,終點P5,分析結果
起點D4,終點P5,預測信息
【問題4】(3分)
數據處理加工分為數據分析,可視化與存儲;
黑洞、奇跡、灰洞
第
2 題:解析題(本題1分)
某汽車維修公司為了便于管理車輛的維修情況,擬開發一套汽車維修管理系統,請根據下述需求描述完成該系統的數據庫設計。
【需求描述】
(1)客戶信息包括:客戶號、客戶名、客戶性質、折扣率、聯系人、聯系電話。客戶性質有個人或單位。客戶號唯一標識客戶關系中的每一個元組。
(2)車輛信息包括:車牌號、車型、顏色和車輛類別。一個客戶至少有一輛車,一輛車只屬于一個客戶。
(3)員工信息包括:員工號、員工名、崗位、電話、家庭住址。其中,員工號唯一標識員工關系中的每一個元組。崗位有業務員、維修工、主管。業務員根據車
輛的故障情況填寫維修單。
(4)部門信息包括:部門號、名稱、主管和電話,其中部門號唯一-確定部門關系的每一個元組。每個部門只有一名主管,但每個部門有多名員工,每名員工只屬
于一個部門。
(5)維修單信息包括:維修單號、車牌號、維修內容、工時。維修單號唯一標識維修單關系中的每一個元組。一個維修工可接多張維修單,但一張維修單只對應一
個維修工。
【概念模型設計】
根據需求階段收集的信息,設計的實體聯系圖,如圖2-1所示
【邏輯結構設計】
根據概念模型設計階段完成的實體聯系圖,得出如下關系模式:
客戶(客戶號,客戶名,(a);折扣率,聯系人,聯系電話)
車輛(車牌號,(b),車型,顏色,車輛類別)
員工(員工號,員工名,崗位,(c),電話,家庭住址)
部門(部門號,名稱,主管,電話)
維修單(維修單號,(d),維修內容,工時)
【問題1】(6分)
根據問題描述,補充3個聯系,完善圖2-1的實體聯系圖。聯系名可用聯系1、聯系2和聯系3代替,聯系的類型為1:1、1:n和m:n(或1:1、1:*和*.*)。
【問題2】(4分)
根據題意,將關系模式中的空(a)~(d)的屬性補充完整,并填入答題紙對應的位置上。
【問題3】(2分)
分別給出車輛關系和維修單關系的主鍵與外鍵。
【問題4】(3分)
如果一張維修單涉及多項維修內容,需要多個維修工來處理,那么哪個聯系類型會發生何種變化?你認為應該如何解決這一問題?
【試題解析】:
【問題1】(6分)
聯系1:客戶和車輛,1:1
聯系2:部門和員工,1:n
聯系3:維修工和維修單,1:n
【問題2】(4分)
a:客戶性質 b:客戶號c:部門號d:車牌號,員工號
【問題3】(2分)
車輛關系的主鍵:(車輛號,客戶號)外鍵:客戶號
維修單關系的主鍵:維修單號外鍵:車牌號,員工號
【問題4】(3分)
維修工和維修單之間的聯系類型會發生變化,從1:n變成m:n。
第 3 題:解析題(本題1分)
某游戲公司欲開發一款吃金幣游戲。游戲的背景為一種回廊式迷宮(Maze),在迷宮的不同位置上設置有墻。迷宮中有兩種類型的機器人(Robos):小精靈(PacMan)和
幽靈(Ghost)。游戲的目的就是控制小精靈在迷宮內游走,吞吃迷宮路徑上的金幣,且不能被幽靈抓到。幽靈在迷宮中游走,并會吃掉遇到的小精靈。機器人游
走時,以單位距離的倍數計算游走路徑的長度。當迷宮中至少存在一個小精靈和一個幽靈時,游戲開始。
機器人上有兩種傳感器,使機器人具有一定的感知能力。這兩種傳感器分別是:
(1)前向傳感器(FrontSensor),探測在機器人當前位置的左邊、右邊和前方是否有墻(機器人遇到墻時,必須改變游走方向)。機器人根據前向傳感器的探測結果,
決定朝哪個方向運動。
(2)近距離傳感器(ProxiSesor),探測在機器人的視線范圍內(正前方)是否存在隱藏的金幣或幽靈。近距離傳感器并不報告探測到的對象是否正在移動以及朝哪個方
向移動。但是如果近距離傳感器的連續兩次探測結果表明被探測對象處于不同的位置,則可以推導出該對象在移動。
另外,每個機器人都設置有一個計時器(Timer),用于支持執行預先定義好的定時事件。
機器人的動作包括:原地向左或向右旋轉90°;向前或向后移動。
建立迷宮:用戶可以使用編輯器(Editor) 編寫迷宮文件,建立用戶自定義的迷宮。將迷宮文件導入游戲系統建立用戶自定義的迷宮。
現采用面對家分析與設計方法開發該游戲,得到如圖3-1所示的用例圖以及圖3-2所示的初始類圖。
【問題1】(3分)
根據說明中的描述,給出圖3-1中U1~U3所對應的用例名。
【問題2】(4分)
圖3-1中用例U1~U3分別與哪個(哪些)用例之間有關系,是何種關系?
【問題3】(8分)
根據說明中的描述,給出圖3-2中C1~C8所對應的類名。
【試題解析】:
【問題1】(3分)
U1編寫迷宮文件;U2導入迷宮文件;U3設置計時器
【問題2】(4分)
U1和U2與建立迷宮用例是泛化關系;U3與操作機器人是包含關系
【問題3】(8分)
C1 機器人(Robos);
C2 計時器(Timer);
C3小精靈(PacMan);
C4幽靈(Ghost)
C5 傳感器;
C6 前向傳感器(FrontSensor)
C7 近距離傳感器(ProxiSesor) ;
C8 迷宮(Maze)
其中C3與C4可換;C6與C7可換
第
4 題:解析題(本題1分)
生物學上通常采用編輯距離來定義兩個物種DNA序列的相似性,從而刻畫物種之間的進化關系。具體來說,編輯距離是指將首一個字符串變換為另一個字符所需
要的最小操作次數。操作有三種,分別為:插入一個字符、刪除一個字符以及將一個字符修改為另 一個字符。用字符數組str1和str2分別表示長度分別為len1和len2
的字符串,定義二維數組d記錄求解編輯距離的子問題最優解,則該二維數組可以遞歸定義為:
C代碼
下面是算法的C語言實現。
(1)常量和變更說明
A,B:兩個字符數組
d:二維數組
i,j:循環變量
temp:臨時變量
(2)C程序
#include<stdio.h>
#define N 100
return ( 4 );
}
【問題1】 (8分)
根據說明扣C代碼,填充C代碼中的空(1)~(4)的。
【問題2】 (4分)
根據說明和C代碼,算法采用了(5)設計策略,時間復雜度為(6)(用
O符號表示,兩個字符串的長度分別用m
和
n表示)。
【問題3】 (3分)
已知兩個字符串A="CTGA"和B="ACGCTA",根據說明和C代碼,可得出這兩個字符串的編輯距離為(7)。
【試題解析】:
【問題1】
(1) d[0][j]=j
(2)str1[i-1]==str2[j-1]
(3)d[i-1][i-1]
(4) d[len1][len2]
【問題2】
(5)動態規劃法
(6)0(m*n)
【問題3】
(7)4
第 5 題:解析題(本題1分)
享元(flyweight)模式主要用于減少創建對象的數量,以降低內存占用,提高性能,F要開發一個網絡圍棋程序,允許多個玩家聯機下棋。由于只有一臺服務器,為
節省內存空間,采用享元模式實現該程序,得到如圖5-1所示的類圖。
C++代碼
#include <iostream>
#include <vector>
using namespace std;
enum PieceColor{BLACK, WHITE}; //棋子顏色
class PiecePos{ //棋子位置
private:
int x;
int y;
public:
PiecePos(int a,int b); x(a),y(b){}
int getX(){return x;}
int getY(){return y;}
};
class Piece{ //棋子定義
piece=new BlackPiece(color,pos); //獲取一顆黑子
count<<m_blackName <<"在位置(" <<pos.getX() <<","<<pos.getY()<< ")";
( 4 );
}else{ //放白子
piece=new WhitePiece(color,pos); //獲取一顆白子
count<<m_whiteName <<"在位置(" <<pos.getX() <<","<<pos.getY()<< ")";
( 5 );
}
m_vecPiece.push_back(piece);
}
};
【試題解析】:
(1) virtual void DrawO {}
(2) Piece*
(3) Piece *
(4) piece->Draw0
(5) piece->Draw0
第 6 題:解析題(本題1分)
享元(flyweight)模式主要用于減少創建對象的數量,以低內存占用,提高性能,F要開發一個網絡圍棋程序允許多個玩家聯機下棋。由于只有一臺服務器,為節
內存空間,采用享元模式實現該程序,得到如圖6-1所的類圖。
【Java代碼】
import java.util.*:
enum PieceColor {BLACK,WHITE}//棋子顏色
class PiecePos{//棋子位置
private intx;
private int y:
pubic PiecePos(int a,int b){x=a;y=b;}
public int getX0{retun x;}
public int getYO{return y;}
}
abstract class Piece{//棋子定義
protected PieceColor m_color;//顏色
protected Piecemopos m_pos;//位置
public Piece(PieceColor,color PiecePos
pos){m color=color;
{:sod=sod u
(1);
}
class BlackPiece extends Piece{
public BlackPiece(PieceColor
color,PiecePos pos){super(color,pos);}
public void drawO{
System out println("draw a black
piece");}
}
class WhitePiece extends Piece{
public WhitePiece(PieceColor
color,PiecePos pos){super(c
olor,pos):}
public void draw0{
System.out.println("draw a white
piece");
}
{
class PieceBoard{
//棋盤上已有的棋子
private static final
ArrayList<(2)>m_arrayPiece=new Arra
yList
private String m_blackName;//黑方名稱
private String m_whiteName;//白方名稱
public PieceBoard(String black,String
white){
m_blackName=black;m_whiteName=white;
}
//一步棋,在棋盤上放一顆棋子
public void SetePiece(PieceColor
color,PiecePos pos){
(3)piece=null;
if(color==PieceColor.BLACK)(//放黑子
piece=new BlackPiece(color,pos);//獲取一顆黑子
System.out.println(m_blackName+"在位置("+pos.getX0)
+","+pos.getYO+")");
(4):
{
else{//放白子
piece=new WhitePiece(color,pos);//獲取一顆白子
System.out.println(m whiteName+"在位置("+pos.getX0)+
","+pos.getYO+")");
(5):
}
m_arrayPiece.add(piece);
}
}
【試題解析】:
(1)public abstract void draw( )
(2)Piece
(3)Piece
(4)piece.draw( )
(5)piece.draw( )
【軟件設計師歷年真題】相關文章:
歷年自考真題10-09
職稱英語歷年真題《綜合A》詞匯選項真題09-24
基金銷售從業考試歷年真題03-18
雅思歷年真題作文(精選22篇)03-27
歷年考研英語閱讀理解真題09-22
考研英語閱讀理解歷年真題09-27
考研英語一歷年真題「2016」01-21
江蘇自考歷年真題(精選10篇)09-24
小學教資歷年真題試卷10-12
大學英語四級真題試卷歷年真題及答案10-11