软考相关/初级程序员上午场
黑盒測試
(一)等價類劃分法
等價類劃分法是一種典型的、重要的黑盒測試方法,它將程序所有可能的輸入數據劃分為若干個等價類。然后從每個部分中選取具有代表性的數據當做測試用例。測試用例由有效等價類和無效等價類的代表數據組成,從而保證測試用例具有完整性和代表性。使用該方法設計測試用例主要有兩個步驟:(1)確定等價類;(2)生成測試用例。
(二)邊界值分析法
邊界值分析法是對程序輸入或輸出的邊界值進行測試的一種黑盒測試方法。實際的測試工作證明,考慮了邊界條件的測試用例比那些沒有考慮邊界條件的測試用例具有更高的測試回報率。這里所說的邊界條件,是指輸入和輸入等價類中那些恰好處于邊界、或超過邊界、或在邊界以下的狀態。
(三)因果圖法
因果圖法也是較常用的一種黑盒測試方法,是一種簡化了的邏輯圖。因果圖能直觀地表明輸入條件和輸出動作之間的因果關系,能幫助測試人員把注意力集中到與程序功能有關的輸入組合上。因果圖法是一種適合于描述對于多種輸入條件組合的測試方法,根據輸入條件的組合、約束關系和輸出條件的因果關系,分析輸入條件的各種組合情況,從而設計測試用例的方法,它適合于檢查程序輸入條件的各種組合情況
(四)錯誤推測法
錯誤推測法是基于以往的經驗和直覺,參照以往的軟件系統出現的錯誤,推測當前被測程序中可能存在的缺陷和錯誤,有針對性地設計測試用例。
白盒測試
邏輯覆蓋、循環覆蓋、基本路徑測試
海明碼
在構成海明碼時,數據位為n,校驗位為k,則k必須滿足2^k-1>=n+k
偶校驗:采用偶校驗碼時,要使校驗位+數據位的1的總數和為偶數,如0100101最高位之前加一位偶校驗位即為10100101。
滿二叉樹和完全二叉樹
接口
- usb接口
- RJ-45接口:網線接口
- PS/2接口:六孔鍵盤鼠標接口
- COM接口:串行通訊接口
shell
UNIX操作系統中的shell不能完成執行系統功能調用的功能。
office相關
SUM() 函數,括號內相加,TRUE=1,FALSE=0
CMM軟件成熟度
初始級,軟件工程管理制度缺乏,過程缺乏定義、混亂無序。
可重復級,建立了基本的項目管理過程和實踐來跟蹤項目費用、進度和功能特性。
已定義級,所有項目都采用根據實際清況修改后得到的標準軟件過程來開發和維護軟件。
已管理級,收集對軟件過程和產品質量的詳細度量,對軟件過程和產品都有定量的理解與控制。
優化級,過程的量化反饋和先進的新思想,新技術促使過程不斷改進。
統一建模語言UML
UML圖,包括用例圖、協作圖、活動圖、序列圖、部署圖、構件圖、類圖、狀態圖,是模型中信息的圖形表達方式可以從不同角度對系統進行可視化。UML中的圖可以歸為兩大類:靜態視圖和動態視圖。
- 類圖、組件圖、包圖和部署圖都是展示系統靜態結構的視圖。
- 類圖中包含類、接口、協作和它們之間的依賴、泛化和關聯等關系,常用于對系統的詞匯進行建模。
- 組件圖專注于系統靜態實現視圖,描述代碼構件的物理結構以及各種構建之間的依賴關系.
- 包圖用于把模型本身組織成層次結構,描述類或其他UML構件如何組織成包及其之間的依賴關系。
- 部署圖給出了體系結構的靜態實施視圖,展示運行時處理結點以及其中構件的配置,用于表示一組物理結點的集合及結點間的相互關系,從而建立了系統物理層面的模型。
各個圖實際含義:
- 用例圖:用例圖描述了系統提供的一個功能單元。用例圖的主要目的是幫助開發團隊以一種可視化的方式理解系統的功能需求,包括基于基本流程的"角色"(actors,也就是與系統交互的其他實體)關系,以及系統內用例之間的關系
- 類圖:類圖表示不同的實體(人、事物和數據)如何彼此相關,即顯示了系統的靜態結構。類圖可用于表示邏輯類,邏輯類通常就是業務人員所談及的事物種類。
- 序列圖:序列圖顯示具體用例(或者是用例的一部分)的詳細流程。它幾乎是自描述的,并且顯示了流程中中不同對象之間的調用關系,同時還可以很詳細地顯示對不同對象的不同調用。
- 狀態圖:狀態圖表示某個類所處的不同狀態和該類的狀態轉換信息。有人可能會爭論說每個類都有狀態,但不是每個類都應該有一個狀態圖。
- 活動圖:活動圖表示在處理某個活動時,兩個或者更多類對象之間的過程控制流?;顒訄D可用于在業務單元的級別上對更高級別的業務過程進行建模,或者對低級別的內部類操作進行建模。
- 組件圖:組件圖提供系統的物理視圖。它的用途是顯示系統中的軟件對其他軟件組件(例如,庫函數)的依賴關系。
- 部署圖:部署圖表示該軟件系統如何部署到硬件環境中。它的用途是顯示該系統不同的組件將在何處物理地運行,以及它們將如何彼此通信。因為部署圖是對物理運行情況進行建模,系統的生產人員就可以很好地利用這種圖。
四類事物:
- 結構事物:包括類,接口,協作,用例,主動類,構件,制品,結點
- 行為事物:動態部分,包括交互,狀態機,活動
- 分組事物:最重要的是組
- 注釋事物:解釋部分,注解
pv操作
PV操作是一種實現進程互斥與同步的有效方法。PV操作與信號量的處理相關,P表示通過的意思,V表示釋放的意思。
PV操作是典型的同步機制之一。用一個信號量與一個消息聯系起來,當信號量的值為0時,表示期望的消息尚未產生;當信號量的值非0時,表示期望的消息已經存在。用PV操作實現進程同步時,調用P操作測試消息是否到達,調用V操作發送消息。
信號量S:當S≥0時,S表示可用資源的數量;S≤0時,其絕對值等于該資源的進程數。
哈弗曼編碼
https://blog.csdn.net/qq_29519041/article/details/81428934#commentBox
常用網絡協議
- TCP(Transmission Control Protocol:傳輸控制協議;面向連接,可靠傳輸
- UDP(User Datagram Protocol):用戶數據報協議;面向無連接,不可靠傳輸
- IP(Internet Protocol):Internet協議,負責TCP/IP主機間提供數據報服務,進行數據封裝并產生協議頭,TCP與UDP協議的基礎
- ICMP(Internet Control Message Protocol):Internet控制報文協議。ICMP協議其實是IP協議的的附屬協議,IP協議用它來與其它主機或路由器交換錯誤報文和其它的一些網絡情況,在ICMP包中攜帶了控制信息和故障恢復信息。
- ARP(Address Resolution Protocol)協議:地址解析協議。
- RARP(Reverse Address Resolution Protocol):逆向地址解析協議。
- SMTP是一種提供可靠且有效的電子郵件傳輸的協議。SMTP是建立在FTP文件傳輸服務上的一種郵件服務,主要用于系統之間的郵件信息傳遞,并提供有關來信的通知。
- POP3協議:主要用于支持使用客戶端遠程管理在服務器上的電子郵件。提供了SSL加密的POP3協議被稱為POP3S。
- 發送郵件使用SMTP協議,接受郵件使用POP3協議
- MIME協議:MIME (Multipurpose Internet Mail Extensions,多用途互聯網郵件擴展類型)是設定某種擴展名的文件用一種應用程序來打開的方式類型,當該擴展名文件被訪問的時候,瀏覽器會自動使用指定應用程序來打開。它是一個互聯網標準,擴展了電子郵件標準, 使其能夠支持:非ASCII字符文本;非文本格式附件(二進制、聲音、圖像等);由多部分組成的消息體;包含非ASCII字符的頭信息。
文件格式
視頻文件格式主要有:Flic文件,AVI文件,Quick Time文件,MPEG文件,RealVideo文件,MOV文件
圖像文件格式主要有:PNG,JPEG,PDF,TIFF,BMP,GIF,JPEG 2000,SWF,SVG,靜態圖像文件格式有:GIF、TIF、BMP、PCX、JPG、PSD等;動態圖像文件格式有AVI、MPG等。
聲音文件格式主要有:WAV格式;MIDI格式;CDA格式;MP3格式;MP3Pro格式;WMA格式;MP4格式;SACD格式。
二叉樹的先序、中序、后序便利
(1)先(根)序遍歷(根左右)
(2)中(根)序遍歷(左根右)
(3)后(根)序遍歷(左右根)
先(根)序遍歷(根左右):A B D H E I C F J K G
中(根)序遍歷(左根右) : D H B E I A J F K C G
后(根)序遍歷(左右根) : H D I E B J K F G C A
VPN技術
VPN采用四項技術來保證安全性:隧道技術,加解密技術,密鑰管理技術,使用者與設備身份認證技術。
算法必須特征
有窮性,確定性,輸入項,輸出項,可行性
軟件開發模型
瀑布模型給出了軟件生存周期中制定開發計劃、需求分析、軟件設計、編碼、測試和維護等階段以及各階段的固定順序,前一階段完成后才能進入到下一階段,整個過程如同瀑布流水。該模型為軟件的開發和維護提供了一種有效的管理模式,但在大量的實踐中暴露出其缺點,其中最為突出的是缺乏靈活性,特別是無法解決軟件需求不明確或不準確的問題。這些問題有可能造成開發出的軟件并不是用戶真正需要的,并且這一點只有在開發過程完成后才能發現。所以瀑布模型適用于需求明確,且很少發生較大變化的項目。
為了克服瀑布模型的上述缺點,演化模型允許在獲取了一組基本需求后,通過快速分析構造出軟件的一個初始可運行版本(稱作原型),然后根據用戶在使用原型的過程中提出的意見對原型進行改進,從而獲得原型的新版本。這一過程重復進行,直到得到令用戶滿意的軟件。該模型和螺旋模型、噴泉模型等適用于對軟件需求缺乏明確認識的項目。
螺旋模型將瀑布模型和演化模型進行結合,在保持二者優點的同時,增加了風險分析,從而彌補了二者的不足。該模型沿著螺線旋轉,并通過笛卡爾坐標的四個象限分別表示四個方面的活動:制定計劃、風險分析、實施工程和客戶評估。螺旋模型為項目管理人員及時調整管理決策提供了方便,進而可降低開發風險。
噴泉模型是以面向對象的軟件開發方法為基礎,以用戶需求為動力,以對象來驅動的模型。該模型主要用于描述面向對象的開發過程,體現了面向對象開發過程的迭代和無間隙特性。迭代指模型中的活動通常需要重復多次,相關功能在每次迭代中被加入新的系統。無間隙指在各開發活動(如分析、設計和編碼)之間沒有明顯邊界。
數據庫
- 多值屬性:對于一個實體可以有多個值的屬性,如一個部門有多個電話,電話屬性即為多值屬性。
- 單值屬性:指—個實體只有一個值的屬性,例如:實體“書”的價格只有一個(如 ¥38.5)。對于具體的實體來說,大多數實體是單值屬性。
數據庫中事物的屬性:
原子性:事務是原子的,要么做,要么都不做。
一致性:事務執行的結果必須保證數據庫從一個一致性狀態變到另一個一致性狀態。
隔離性:事務相互隔離。當多個事務并發執行時,任一事務的更新操作直到其成功提交的整個過程,對其它事務都是不可見的。
持久性:一旦事務成功提交,即使數據庫崩潰,其對數據庫的更新操作也永久有效。
串行調度:多個事務依次串行執行,且只有當一個事務的所有操作都執行完后才執行另一個事務的所有操作。
匯編語言基礎
8086匯編語言指令由標號(可選)、操作碼(指令助記符,必需)、操作數(通常是必需的)和注釋(可選)組成,其中標號和注釋可以省略,操作碼指出指令要過盛的功能,操作數指出完成的對象.
圖
- 簡單圖:若不存在頂點到其自身的邊,且同一條邊不重復出現。
- 無向完全圖:在無向圖中,如果任意兩個頂點之間都存在邊,則稱該圖為無向完全圖。
- 有向完全圖:在有向圖中,如果任意兩個頂點之間都存在方向相反的兩條弧,則稱該圖為有向完全圖。
- 強連通圖:在有向圖中,對圖中任意一對頂點vi和vj (i≠j),若從頂點vi到頂點vj和從頂點vj到頂點vi均有路徑,則稱該有向圖是強連通圖。
模塊內聚
模塊獨立是軟件設計時考慮的重要方面,指每個模塊完成一個相對獨立的特定子功能,并且與其他模塊之間的聯系要簡單。
衡量模塊獨立程度的標準有兩個:耦合性和內聚性。
其中內聚是一個模塊內部各個元素彼此結合的緊密程度的度量,有多種類型:
- 功能內聚:最強的內聚,完成一個單一功能,各個部分協同工作,缺一不可。
- 順序內聚:各個處理元素都密切相關與同一功能且必須順序執行,前一個功能元素的輸出就是下一個功能元素的輸入。
- 通信內聚:所有處理元素集中在一個數據結構的區域上,或者各處理使用相同的輸入數據或產生相同的輸出數據。
- 過程內聚:模塊內部的處理成分是相關的,而且這些處理必須以特定的次序執行。
- 瞬時內聚(時間內聚):把需要同時執行的動作組合在一起形成的模塊。
- 邏輯內聚:模塊內執行若干個邏輯上相似的功能,通過參數確定該模塊完成哪一個功能。
- 偶然內聚(巧合內聚):模塊內的各處理元素之間沒有任何聯系,可能因為某種原因,將在程序中多處出現的一組無關的語句放在一個模塊中
HTML標簽
https://www.w3school.com.cn/tags/index.asp
存儲器相關
ROM(只讀)和RAM指的都是半導體存儲器,ROM在系統停止供電的時候仍然可以保持數據,而RAM通常都是在掉電之后就丟失數據,典型的RAM就是計算機的內存。
RAM有兩大類,一種稱為靜態RAM(Static RAM/SRAM),SRAM速度非常快,是目前讀寫最快的存儲設備了,但是它也非常昂貴,所以只在要求很苛刻的地方使用,譬如CPU的一級緩沖,二級緩沖。另一種稱為動態RAM(Dynamic RAM/DRAM),DRAM保留數據的時間很短,速度也比SRAM慢,不過它還是比任何的ROM都要快,但從價格上來說DRAM相比SRAM要便宜很多,計算機內存就是DRAM的。
DRAM分為很多種,常見的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,這里介紹其中的一種DDR RAM。
DDR RAM(Date-Rate RAM)也稱作DDR SDRAM,這種改進型的RAM和SDRAM是基本一樣的,不同之處在于它可以在一個時鐘讀寫兩次數據,這樣就使得數據傳輸速度加倍了。這是目前電腦中用得最多的內存。在很多高端的顯卡上,也配備了高速DDR RAM來提高帶寬,這可以大幅度提高3D加速卡的像素渲染能力
常見排序
-
冒泡排序:首先,列表每兩個相鄰的數比較大小,如果前邊的比后邊的大,那么這兩個數就互換位置。就像是冒泡一樣
時間復雜度:O(n^2)
-
選擇排序:一趟遍歷完記錄最小的數,放到第一個位置;在一趟遍歷記錄剩余列表中的最小的數,繼續放置
時間復雜度:O(n^2) -
快速排序:從一個無序的數列中,選取一個中間的數,作為基準值,然后如果是升序排序的話,小于基準值的放在左邊,大于基準值的放在右邊,遞歸
時間復雜度: 快速排序的平均時間復雜度是 O(nlogn),最好的時間復雜度是O(nlogn),最壞的時間復雜度是 O(n^2) 。 -
插入排序:元素被分為有序區和無序區兩部分。最初有序區只有一個元素。每次從無序區中選擇一個元素,插入到有序區的位置,直到無序區變空。
時間復雜度:O(n^2) -
歸并排序:我們會先找到一個數組的中間下標mid,然后以這個mid為中心,對兩邊分別進行排序,之后我們再根據兩邊已排好序的子數組,重新進行值大小分配。
時間復雜度: O(nlogn)
私有地址段劃分
- A類 10.0.0.0 --10.255.255.255
- B類 172.16.0.0–172.31.255.255
- C類 192.168.0.0–192.168.255.255
軟件開發模型
- 瀑布模型:瀑布模型給出了軟件生存周期中制定開發計劃、需求分析、軟件設計、編碼、測試和維護等階段以及各階段的固定順序,前一階段完成后才能進入到下一階段,整個過程如同瀑布流水。該模型為軟件的開發和維護提供了一種有效的管理模式,但在大量的實踐中暴露出其缺點,其中最為突出的是缺乏靈活性,特別是無法解決軟件需求不明確或不準確的問題。這些問題有可能造成開發出的軟件并不是用戶真正需要的,并且這一點只有在開發過程完成后才能發現。所以瀑布模型適用于需求明確,且很少發生較大變化的項目
- 演化模型:為了克服瀑布模型的上述缺點,演化模型允許在獲取了一組基本需求后,通過快速分析構造出軟件的一個初始可運行版本(稱作原型),然后根據用戶在使用原型的過程中提出的意見對原型進行改進,從而獲得原型的新版本。這一過程重復進行,直到得到令用戶滿意的軟件。該模型和螺旋模型、噴泉模型等適用于對軟件需求缺乏明確認識的項目。
- 螺旋模型:螺旋模型將瀑布模型和演化模型進行結合,在保持二者優點的同時,增加了風險分析,從而彌補了二者的不足。該模型沿著螺線旋轉,并通過笛卡爾坐標的四個象限分別表示四個方面的活動:制定計劃、風險分析、實施工程和客戶評估。螺旋模型為項目管理人員及時調整管理決策提供了方便,進而可降低開發風險。
- 噴泉模型:噴泉模型是以面向對象的軟件開發方法為基礎,以用戶需求為動力,以對象來驅動的模型。該模型主要用于描述面向對象的開發過程,體現了面向對象開發過程的迭代和無間隙特性。迭代指模型中的活動通常需要重復多次,相關功能在每次迭代中被加入新的系統。無間隙指在各開發活動(如分析、設計和編碼)之間沒有明顯邊界。
總結
以上是生活随笔為你收集整理的软考相关/初级程序员上午场的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图像处理之图像质量评价指标MSE(均方误
- 下一篇: DO、DTO、BO、VO、POJO等各种