我參加了2022年11月份的《軟考-系統架構設計師》考試,在一個多月的備考之中我總結了一些學習經驗和答題技巧,現毫無保留的分享給大家,希望對報考的同學們有所幫助。彩蛋:關注我的公眾號【劼哥舍】,回覆「軟考」即可獲取我精心整理的學習資源。祝願所有報考的同學們都逢考必過~
軟考,全稱計算機技術與軟體專業技術資格(水平)考試,是由國家人力資源和社會保障部、工業和資訊化部領導下的國家級考試,其目的是科學、公正地對全國計算機與軟體專業技術人員進行職業資格、專業技術資格認定和專業技術水平測試。詳細介紹可參見官網:www.ruankao.org.cn。
獲得軟考高階證書的好處:
我自己為什麼參加軟考呢?
如下圖所示,軟考有3個級別5個專業,很多同學在報名的時候不知道如何選擇科目。
軟考高階比中級的難度要大一些。中級考試為基礎知識和應用技術兩科,各科目考試時間均為2.5小時。高階考試主要多了論文,考試時間為2小時(將近要寫3000字)。合格標準是各個科目都要求在45分以上(含45分)。中級合格率約為20-30%,高階合格率不到20%。
我的建議是:不要報考初級,因為參加軟考沒有任何的門檻限制,沒有必要一步一步考;中級和高階具體報哪一個,按個人技術儲備的實際情況來選擇,IT基礎差一點的同學可以報專案管理方向。有3~5年後端經驗的同學可以嘗試高階資格,因為寫論文還是需要一定的專案經驗的積累。
我自己報考的是系統架構設計師,下面主要介紹系統架構設計師的備考方法。
對於計算機類科班的同學來說,這一部分主要就是在學校裡學習的內容,主要包括:計算機組成與體系結構(計算機組成、指令系統、流水線技術、儲存體系、匯流排等)、作業系統(程序與PV操作、儲存管理、裝置管理、檔案管理等)、資料庫系統(設計正規化、關係代數、SQL、資料架構、並行控制等)、計算機網路(常見網路裝置、常用協定、組網方式等)、嵌入式系統(嵌入式作業系統、多核處理等),每個部分基本就是學校裡面所學知識的簡化版。針對這一部分,有科班基礎的同學可以看視訊1.5倍速複習一輪,題目大部分就是送分題;如果是沒有基礎的同學,最好跟著視訊多學幾遍,這些都是程式設計師安家立命的根本。
這一部分是很枯燥的理論性內容,主要包括:軟體開發生命週期、軟體開發過程模型(瀑布模型、螺旋模型、原型模型等)、需求管理、開發管理、軟體系統設計 (易用性設計、設計模式)、軟體系統建模(結構化設計、UML)、軟體系統構建、軟體測試(黑盒、白盒、迴歸、單元、整合、路徑覆蓋等)、專案管理 (關鍵路徑)。其中,系統建模很可能會在案例分析題中出現。這一部分的概念枯燥並且不好記憶,建議反覆觀看資料學習。
這一部分是系統架構師這個科目考察內容的重中之重,無論是選擇題,還是案例分析題,還是論文,都會涉及該部分的內容。這一部分首先引出了軟體架構的定義,緊接著講如何從多個維度評價一個軟體架構設計(質量屬性、軟體質量評估方法),為了達到軟體系統設計的預期標準,如何通過一些架構模式(或叫架構風格)來實現整個架構的設計。並額外列舉了一些派生的架構模式和現實系統中的架構設計案例,如MVC、 微服務架構、常用中介軟體等。這一部分的內容最少完整學習一遍,深刻理解每個章節的內容。這一部分很重要,很重要,很重要!這一部分除了固定題型的送分題,還有很發散的開放式問答。看完這一部分的內容,也基本上就知道怎麼寫論文了。
這一部分內容都是概念性並且十分抽象,主要涉及到企業資訊化需要做什麼怎麼做。比如,企業內外部有資訊系統的型別的資訊系統,它們之間是如何進行系統整合的,如何進行系統遷移和系統迭代,資訊系統如何支撐企業的發展,如何建設電子商務等。資訊系統如何服務企業、個人、政府,這些概念雖然很抽象,但我認為這也是一個系統架構師應該掌握的知識,它站在一個宏觀的視角回答了「為什麼要做資訊化、智慧化」。這一部分建議深度學習,因為在論文中寫專案的背景、價值的時候可能也會用到,要深刻理解之後再開始刷題。
這一部分內容是資訊保安和法律常識的基礎內容,資訊保安包括:基礎密碼學(對稱、非對稱加解密、數位簽章)、常用身份認證方案設計、訪門控制方案設計、系統安全性設計等內容;法律常識包括:著作權、專利、商標、商業機密等概念,在選擇題和論文中可能也會用到這一部分的知識點。
這一部分內容是作為程式設計師最基本的要求,如果數學和邏輯不好,很難寫出邏輯清晰工整優雅的程式碼。數學一般考離散數學、運籌學裡面的東西,比如高考考過的線性規劃、大學學過的圖論,一般在考場上都能硬算出來,這一部分不建議複習,直接刷真題,邊刷邊瞭解一些演演算法。英語主要是計算機和軟體的專業英語,會以5道完形填空的形式出現,英語很難在短時間內提高,只能鵬鵬運氣了。
整個考試分三個題型:選擇題、案例題、論文題,每種題型一場考試,一天內考完。上午考選擇題,下午考案例分析和論文。每種題型滿分都為75分,達到45分及以上算合格。由於是資格性考試,而且通過後不區分等級,因此合格萬歲。這個考試很大的一個難點,在於三個題型的分數要同時達到45分及以上。
考試時間120分鐘,75道四選一單項選擇題,每道題1分,主要考上面提到的知識點。解題技巧如下:
考試時間90分鐘,主要是問答題和填空題,總共五道大題,每道大題25分,第一題必答,二到五題四選二,選定的三題一共75分。
第一道大題比較固定,一般是軟體架構評估。二到五題中,固定會有一道題是嵌入式系統設計(建議非嵌入式從業者直接放棄),除此之外還會有以下題型:
其中問答題一般有兩種問法,一是概念問答類:
二是方案分析與選擇類:
考試時間120分鐘,考試形式是給出4道論文題目,只需要選其中一道題目來寫,兩個小時,手寫在類似高考語文作文的答題卡上,摘要部分一般要寫200字以上,正文部分一般要寫2000字以上。
論文是軟考高階中經常出現不合格的題型,不過只要你有實際的工作經驗,有一定的理論基礎,再進行了認真的準備,達到45分合格線並不是一件很困難的事。
通常來講,論文給出的4道題目裡面,一般有一道是最近兩年比較火熱的技術,如雲原生、無服務架構、區塊鏈等。其它三道題的出題方向很固定,頻次大致從高到低主要包括:軟體系統架構設計(架構評估、架構風格、微服務架構等)、軟體系統建模、資訊系統規劃與整合、軟體質量保證、軟體高效能設計、軟體可用性設計、軟體安全性設計、需求管理、專案管理等;
想拿下論文,就必須要深入的準備一個專案,—般是自己平時工作中做的系統,從全域性的角度來梳理這個系統的方方面面,然後針對不同題目從不同角度來描繪這個系統就行了。
論文的結構可以直接套用以下模板,不同的題材,結構和框架可以相同,只需要替換內容就好了。
我主要的複習方式是視訊學習+真題訓練+論文仿寫。
視訊主要用於掌握基礎知識,附帶一些練習題,以鞏固知識點的記憶。
上午的選擇題,完整的刷過一遍視訊,然後再刷個10來套選擇題真題,如果分數能達到60分以上的話,選擇題這塊應該就比較穩妥了。
下午的案例題,比選擇題要難一些,有較多的概念手寫,所以學習視訊中明確提到的五星考點,都要背下來才行,這個背太早可能就忘記了,可以先背一輪有個印象,然後考前一週再集中記憶。另外也要配合多刷題,歷年的真題都做一遍。
我自己的視訊資源是公司請的培訓機構講的線上直播,雖然這課程不花錢就能聽,但質量真的一般。後來我又在網上找了一些視訊資源,比公司課程強太多,大家關注我微信公眾號【劼哥舍】,回覆「軟考」即可獲取我精心整理的學習資源。
學習完視訊之後,就要拿分類練習題和真題來訓練,在訓練的過程中如發現模稜兩可的知識點,可以再去反覆刷視訊的某個章節,力爭把每個知識點都記住,軟考需要記的概念性知識點還不少,特別是下午的案例題和論文,必須需要寫出來大段準確概念或者某個架構方法。
刷題的話我推薦用軟考通APP,安卓和蘋果都有同款APP。
有歷年真題、模擬測驗、智慧練習等功能,讓我們非常靈活利用碎片時間來刷題。還有錯題集、收藏夾等功能,讓我們能夠針對部分不熟悉或經常出錯的知識點重點複習。
不過該APP也有2個問題,一是真題只更新到了19年(可以配合上面學習資料一起用),二是偶爾會彈廣告(可以手動關閉不會強制看完),已經算是一款良心的學習APP,如果APP的作者能把最近兩年的真題也更新進去就太完美了。
對於論文的準備,建議先多看看別人的論文,然後自己至少仿寫三篇不同主題的論文,重點寫架構設計方向的主題,最後再準備一篇近期流行的技術,比如:雲原生、區塊鏈、Web3等。
2個小時的論文書寫時間非常緊張,如果沒有經過考前特訓,很多同學2個小時2500字抄都抄不完,更不要談臨場發揮直接寫。所以每篇論文框架(摘要、開頭、結尾)必須能熟練默寫,要做到這3部分完全不用思考,提筆就能寫至少800字,那麼兩千字的正文,你真正需要邊思考邊書寫的內容就只有1200字,然後再把你準備的專案經驗,結合題幹套進正文裡就好了。
特別需要注意的是,大家練習論文一定要拿格子本或者把答題卡列印出來練習,這樣你才能習慣在答題卡上寫字的感覺,避免臨場書寫習慣問題而手忙腳亂。
剛開始準備的時候,我覺得自己有點基礎,沒有複習就直接做了一套選擇題的模擬題,結果慘不忍睹只拿了30多分。完整的做過一套真題才知道,選擇題裡陌生的知識點和概念特別多,如果不復習直接做的話,估計大部分題目都只能靠猜,後面就老老實實的開始刷視訊來補基礎。
視訊總時長在30個小時左右(除論文以外),我大概從9月下旬開始每天用上下班通勤時間1.5~2倍速刷視訊,每天大概能看2個多小時,連著國慶假期一起把所有的視訊全部刷完了。大家可以看到上圖中的選擇題刷題記錄,從最開始的30分到能拿55分,這就是刷完視訊的效果。
國慶之後就只剩不到一個月的備考時間(其中包含3個週末)。日常工作比較忙,抽不出大段的時間用來複習,只能拿通勤和休息時間來零碎做做選擇題、翻翻錯題集、背背不牢靠的知識點。然後充分利用週末,儘量推掉所有事情,完整的做一套選擇題、案例題以及論文,然後針對錯題進行復盤和針對性練習。
在考試的前一週,我完整的練了2套選擇題,按道理說選擇題要練習到60分以後才比較穩妥,我自己訓練得還不達標。作文又把摘要、開頭、結尾專項練習了一遍,控制手寫時間在半小時以內。然後刷了一些案例題查漏補缺,把不熟悉的知識點再背了背。
最後,來講講我自己這次考試的表現情況:
以上就是我2022年備考系統架構設計師的全部過程,期望我的經驗能帶給大家一點幫助,最後祝願所有報考軟考的同學們逢考必過~