1. 程式人生 > >軟考錯題集合_2016上半年上午試卷_白話

軟考錯題集合_2016上半年上午試卷_白話

做試卷時錯題,難題,知識點的集合以及答題方法,有些很地方理解不了的只能暫時死記下來。

1.主存與Cache的地址對映方式

全相聯:主存中任意一塊都可以對映到Cache中任意一塊的方式。
直接對映:主存中的某一塊只能對映到滿足特定條件的Cache塊中。

2.原碼 反碼 補碼

  原碼:取絕對值,首位是符號位。0正,1負。  
  如-36取原碼。等於36的原碼00100100,首位換成符號位:10100100。

  反碼:在原碼的基礎上,符號位不變,其餘位全部取反。  
  如-36,先求原碼10100100,再取反11011011。

  補碼:在反碼的基礎上,加1。
  如-36的補碼,反碼為11011011,再加1。為110111000。

  例題:如果“2x”的補碼是“90H”,那麼x的正值是( )。
  A.72     B.-56     C.56    D.111

  解答過程:
  首先注意90H是十六進位制,為了方便,先轉換為二進位制,為10010000.
  A選項,x=72,2x等於144,原碼為010010000,反碼為001101111,補碼為001110000。
  B選項,x=-56, 2x等於-112,原碼為11110000,反碼為10001111,補碼為10010000。
  C選項,2x=112,原碼=01110000,反碼=00001111,補碼=00010000。
  D選項,2x=222。原碼=011011110,反碼=000100001,補碼=000100010
  所以選B。

3.算數左移 右移,邏輯左移,右移
算術左移和算數右移主要用來進行有符號數的倍增、減半;
邏輯左移和邏輯右移主要用來進行無符號數的倍增、減半。
左移倍增,右移減半。

4,關於匯流排的敘述

並行匯流排支援多位傳輸,速度快,成本高。
序列匯流排一位一位傳輸,速度慢,成本低。
專用匯流排可以實現最佳匹配。

5,網路

網路層次和基本裝置

  物理層(硬體相關):
  - 中繼器——把接收到的弱訊號分離,並再生放大。
  - 集線器——特殊的中繼器,具有訊號放大功能。

  資料連線層(兩個節點傳送資料,單位是幀):
  - 網橋——區域網與區域網的橋樑,擴充套件網路和過濾幀,轉發資料訊號,限制無關緊要的通訊。
  - 交換機——簡化,低價,高效能,高階口密集特點的交換產品。

  網路層(為傳輸層提供網路資料傳送功能):
  - 路由器——連線多個邏輯上分開的網路,處理資訊比網橋多,速度比網橋慢

  傳輸層(為會話層提供可靠安全的資料傳送服務):

  會話層(提供建立,維護,結束連線的功能)

  表示層(為應用層提供解釋資訊含義的服務,還可以壓縮,解壓,加密,解密)

  應用層(提供OSI使用者服務,確認通訊介質,提供介面服務,還有程式,郵件,網路管理):
  - 閘道器——將協議進行轉換

FTP伺服器的控制埠為21.資料埠為20。
ping命令執行順序,從進近到遠:ping127.0.0.1,ping本地ip,ping預設閘道器,ping遠端主機。
預設閘道器和本地ip屬於同一個網段。

6.資料流圖

資料流圖四要素:
資料流——由一組固定成分的資料組成,表示資料的流向。
加工——加工就是描述輸入資料流到輸出資料流的變換 。
資料儲存——用來儲存資料,通常是表,資料庫,賬單一類。
外部實體——存在於系統外的人員或者組織,表示處理完後的資料要去哪裡。

7.需求分析階段

需求分析階段的輸出:資料流圖,實體聯絡圖,狀態遷移圖,資料字典

8.程式語言基礎知識

9.IO裝置管理軟體

IO裝置管理軟體一般分為四層,IO應答的順序為:
硬體(執行IO操作)—>中斷處理程式(當IO結束時,喚醒驅動程式)—>裝置驅動程式(置裝置暫存器;檢查狀態)—>裝置無關軟體(命名,保護,阻塞,緩衝,匹配)—>使用者程序(進行IO呼叫,格式化IO,Spooling)。IO請求順序則相反。

10.程式語言基礎知識

語言處理程式——是一類軟體系統的總稱,作用是把高階語言或者組合語言編寫的程式翻譯成機器語言程式,讓程式可以在計算機上面執行,語言處理程式主要分為三個部分:彙編程式,編譯程式,解釋程式
彙編程式 ——彙編程式的功能是把組合語言編寫的源程式翻譯成機器指令程式(組合語言是為特定的計算機設計的符號化的程式設計語言),彙編程式需要掃描兩次源程式才能完成翻譯,第一次定義符號的值,並建立一個符號表。第二次掃描的任務是產生目標程式。

編譯程式(編譯器)——可以把某高階語言寫的源程式翻譯成等價的目標程式(組合語言或者機器語言),過程分為六部分  
1)詞法分析:從左到右,逐個字元掃描,識別“單詞”符號。比如關鍵字,識別符號,運算子等。
2)語法分析:在詞法分析的基礎上,把單詞符號分解成語法單位,如表示式,語句,程式。語法分析分為兩類,自上而下(自頂向下)和自下而上(自頂而上),遞迴下降分析法和預測分析法屬於自上而下分析法,移進-歸約分析法屬於自下而上分析法。
3)語義分析:分析語法結構,檢查是否包含靜態語義錯誤,進行型別分析和檢查。比如是否除數為0,取餘運算中有浮點數。
4)中間程式碼生成:根據語義分析的輸出生成中間程式碼,“中間程式碼”是一種簡單且含義明確的系統記號,可以有多種形式,但是都與具體的         機器無關。常見的中間程式碼有字尾式,三元式,四元式,三地址碼,樹等形式。
5)程式碼優化:中間程式碼往往有很大的時間和空間的浪費,所以需要優化。程式碼優化可以在中間程式碼生成階段進行,也可以在目的碼生成階         段進行。
6)目的碼生成:這是最後一個階段,作用是把中間程式碼變換成特定機器上的絕對指令程式碼。

解釋程式(直譯器)——這是另一種程式處理程式,工作原理基本相同,但是它直接執行源程式或者源程式的中間表示形式,所有不產生源程式的目標程式。

源程式的錯誤:詞法錯誤—如非法字元,拼寫錯誤。
語法錯誤—如結構錯誤,少分號,begin/end不配對。
靜態語義錯誤:型別不一致,引數不匹配(在編寫過程中,就會發生錯誤)。
動態語言錯誤:死迴圈,變數為0做除數(邏輯錯誤。不會報錯。但是不會達到想要的效果)。

傳值,傳引用:傳值呼叫是將實參的值傳給形參。不會改變原來的值,傳引用是將實參的地址傳給形參,會改變原來的值。

10.裝置管理基礎

這一類題一般大同小異,題型一樣,只是換了一下資料,所以多寫例題來記憶。

例題1:某磁軌有100個磁軌,磁頭從一個磁軌移至另一個磁軌需要6ms,檔案在磁碟上非連續存放,邏輯上相鄰資料塊的平均距離為10個磁軌。每塊的旋轉延遲及傳輸時間分別為100ms,和20ms。則讀取一個100塊的檔案需要()ms。
分析:注意加黑關鍵字。移動一個磁軌需要6ms。邏輯上相鄰的資料塊平均相隔10個磁軌,所以讀完一塊到下一塊需要60ms 。訪問一個數據塊的時間為尋道時間+旋轉延遲+傳輸時間+。60ms+100ms+20ms=180ms。訪問100塊需要180ms*100=180000ms。

例題2:設檔案索引節點中有7個地址項,其中4個地址項為直接地址索引2個地址項是一級間接地址索引1個地址項為二級間接地址索引,每個地址大小為4位元組,若磁碟索引塊和磁碟資料塊大小均為256位元組,則可表示的單個檔案最大長度是()。
分析:4個直接地址索引,磁碟索引塊為256位元組。所以4個直接地址索引可以表示的最大長度為4*256=1024b。2個一級地址索引,一級索引是指向的磁碟索引儲存的還是地址,磁碟資料塊大小為256。每個地址大小為4位元組。所以可以放256/4個地址索引。所以一級索引地址可以表示的最大長度為256/4*256=32768b。二級索引同理,儲存的地址指向的地址中儲存的還是地址,所以可以表示的最大長度為256/4\*256/4\*256=1048576b。答案為1024+32768+1048576=1057k。

11.PV操作

P表示通過,V表示釋放。現有V再有P,例如:檢票V(S1),發車P(S1)。

12.耦合,內聚

耦合越低,內聚越高,模組的獨立性越好。耦合從低道高分別為:
非直接耦合——模組間沒有資訊傳遞。
資料耦合——模組通過引數傳遞基本型別的資料。
標記耦合——模組通過引數傳遞複雜的內部資料結構。
控制耦合——一個模組可以通過傳遞一個訊號,可以控制另一個模組。
外部耦合——一組模組都訪問同一全域性資料項。
公共耦合——兩個模組都引用同一全域性資料項。
內容耦合——一個模組直接修改或者控制另一個模組,或者直接傳入另一個模組。

13.開發過程模型特點

瀑布模型——分為“定製計劃”“需求分析”“軟體設計”“程式編寫”“軟體測試”“執行維護”。開發過程嚴格。至上而下,文件驅動。要到開發末期才能看到結果。增加了開發的風險。
快速原型模型——先開發一個原型給客戶用,根據客戶提供的需求來開發客戶滿意的產品。一旦客戶需求確定,原型就被丟棄,所以原型的內部結構不重要。重要的是迅速建立原型,迅速修改原型。
增量模型(演化模型)——整個產品被分成若干個構件,逐構件交付產品。優點是軟體開發可以較好地適應變化,降低開發風險。缺點是所加入的構件不能破壞已經構造好的系統部分,容易邊做邊改模型,讓軟體失去整體性。
螺旋模型——是瀑布模型和快速原型模型結合起來,風險驅動,強調風險分析,適合大型複雜的系統,分為四個活動:制定計劃,風險分析,實施工程,客戶評估。
噴泉模型(面向物件的生存期模型)—具有更多的增量和迭代性質。

14.軟體測試基本資訊

軟體測試階段分為單元測試,整合測試,系統測試。
單元測試—對系統中最小可測試單元進行測試,比如C中的函式,java的類。
整合測試—在單元測試的基礎上,將所有模組按照設計要求組裝為系統,此時進行的測試叫整合測試。整合測試有多種策略:
  (1)自頂向下:從頂層的構件開始,逐步向下,需要設計樁來輔助測試。
  (2)自底向上:從中底層的構件開始測試,逐步向上,需要驅動樁來輔助測試。
  (3)三明治:結合自頂向下和自底向上兩種策略。可以較早驗證主要的控制構件和底層模組,但是需要寫較多的設計樁和驅動塊。
  (4)一次性:對所有構件一次性測試,然後整合。
整合測試(組裝測試)——在單元測試基礎上,把模組組裝成子系統或系統進行整合測試。

15.McCabe度量法

環路複雜性等於V(G)=m-n+2,m為邊,n為點。也就是:邊-點+2

16.UML圖基本知識

活動圖:一種特殊的狀態圖,展現了系統從一個活動到另一個活動的流程,對系統功能建模特別重要,強調物件間的控制流程。

17.設計模式基礎

  • 享元模式——適用於一個應用程式使用了大量的物件;由於使用了大量物件而造成很大的開銷;物件的大多數狀態可以變成外部狀態;如果刪除物件的外部狀態,那麼可以使用相對少量的共享物件取代很多組物件;應用程式不依賴於物件標識;
  • 工廠模式——提供一個建立一系列相關或互相依賴物件的介面,而無需指定它們具體的類。適用於一個系統要獨立於它的產品的建立,組合和表示時;一個系統要由多個產品系列中的一個來配置;要強調一系列相關的產品物件的設計以設計以便進行聯合使用時;當提供一個產品類庫,而只想顯示他們的介面而不是實現時,比如為圖形使用者介面(GUI)元件定義不同平臺的並行類層次結構。
  • 外觀模式——為子系統中的一組介面提供一個一致的介面,適用於為一個複雜系統提供一個簡單的介面;客戶程式與抽象類的實現部分之間存在很大的依賴性;當需要構建一個層次結構的子系統,可以使用外觀模式來定義系統中每層的入口點。
  • 裝飾器——可以給一個物件動態地新增額外的職責,適用於在不影響其他物件的情況下,以動態,透明的方式給單個物件新增職責;處理那些可以撤銷的職責;當不能採用生成子類的方式進行擴充時。
  • 命令模式——將一個請求封裝為一個物件,從而使得可以用不同的請求對客戶進行引數化,對請求排隊或記錄請求日誌,以及支援可撤銷的操作。
  • 責任鏈模式——使多個物件都有機會處理要求,從而避免請求的傳送者和接受者之間的耦合要求。
  • 觀察者模式——使物件間有一對多的依賴關係,當一個物件的狀態發生變化時,所有依賴於它的物件都得到通知並被自動更新。
  • 策略模式——定義一系列演算法,把它們封裝起來,並且可以互相替換。使得演算法可以獨立於使用它們的客戶而變化。
  • 介面卡模式——將一個類的幾口轉換成客戶希望的另一個介面,使得原本由於介面不相容而不能一起工作的那些類可以一起工作。
  • 狀態模式——允許一個物件在內部狀態改變時改變它的行為。適用於:一個物件的行為決定於它的狀態,並且它必須在執行時刻根據狀態改變它的行為。

18.資料庫基本知識

資料庫設計分為六個階段:

系統需求分析階段——調查分析使用者活動;收集和分析資料,確定系統邊界線資訊需求,需求處理,安全性和完整性需求;編寫系統分析報告

概念結構設計階段——將需求分析資料抽象成區域性E-R模型,再將區域性E-R模型整合為全域性E-R模型

邏輯結構設計階段——將概念模型轉換成特定DBMS所支援的資料模型過程;由初始化關係模式設計到關係模式規範化再到模式評價

物理結構設計階段——對於給定的邏輯資料模型,選取一個最適合應用環境的物理結構

資料庫實施階段——根據邏輯結構設計和物理結構設計的結果,在計算機上建立實際的資料庫結構,裝入資料,進行測試和試執行的過程

資料庫執行和維護階段—維護資料庫的安全性和完整性;監測並改善資料庫效能;重新組織和構造資料庫

資料獨立性包括邏輯獨立性物理獨立性,物理獨立性指當資料庫的內模式發生改變時,資料的邏輯結構不變。通過修改概念模式/內模式之間的映象來完成。邏輯獨立性指使用者的應用程式與資料庫的邏輯相互獨立。可以修改外模式/概念模式之間的映像來完成。

鍵名詞解釋:

  • 超鍵——能唯一標識元組的屬性集稱為超鍵,比如:(學號,姓名,身份證號,性別,班級)中,(學號,姓名)(學號,性別)(身份證號,姓名)都是超鍵。
  • 候選鍵(候選字,候選碼)——不含多餘元素的超鍵為候選建,如(學號),(身份證號)。
  • 主鍵(主關鍵字,主碼)——候選建裡面選一個,能確定一條記錄的唯一標識,比如學號,省份證號,部門號,員工id等,如(學號)或者(身份證號)
  • 外來鍵(外關鍵字,外碼)——能確定另外一張表的記錄的欄位,比如員工表裡的所屬部門號,如(班級)
  • 主屬性——由主鍵列構成,大多數情況下和主鍵沒什麼區別

正規化名詞解釋:

第一正規化——關係R所有屬性都不能分解時,稱為第一正規化。

第二正規化——所有非主屬性都完全依賴每一個候選建,稱為第二正規化。

第三正規化——每個非主屬性都不對候選建存在傳遞依賴。稱為第三正規化。

19.資料結構基礎

圖的遍歷:圖的遍歷是指對圖中所有頂點進行只訪問一次的過程;圖的深度遍歷適合無向圖,廣度遍歷適合佇列對圖。圖中有迴路可以對頂點進行標記。