2022下半年《軟考-系統架構設計師》備考經驗分享

語言: CN / TW / HK

前言

我參加了2022年11月份的《軟考-系統架構設計師》考試,在一個多月的備考之中我總結了一些學習經驗和答題技巧,現毫無保留的分享給大家,希望對報考的同學們有所幫助。彩蛋:關注我的公眾號【劼哥舍】,回覆“軟考”即可獲取我精心整理的學習資源。祝願所有報考的同學們都逢考必過~

一、為什麼考

軟考,全稱計算機技術與軟體專業技術資格(水平)考試,是由國家人力資源和社會保障部、工業和資訊化部領導下的國家級考試,其目的是科學、公正地對全國計算機與軟體專業技術人員進行職業資格、專業技術資格認定和專業技術水平測試。詳細介紹可參見官網:www.ruankao.org.cn

獲得軟考高階證書的好處:

  • 職稱評選:屬於高階從業資格證,類似於註冊會計師,此證書在國企和事業單位可以評職稱(在網際網路公司可能沒用);
  • 積分落戶:通過此證書評定高階職稱後,可以以人才引進方式獲得工作所在城市的戶口,或者積分入戶有加分;
  • 專案競標:專案競標是要看資質的,高階證書可以為公司投標加分;
  • 抵扣個稅:拿證書的當年,可以一次性定額抵扣3600塊錢的所得稅;

我自己為什麼參加軟考呢?

  • 個人成長:通過備考,體系化的溫習架構設計相關基礎知識,實現一定程度的自我提升;
  • 免費培訓:公司專門請了軟考培訓機構,每週組織兩次內部培訓和學習,備考更加輕鬆;
  • 小賺一筆:如果能拿到證書,拿證當年可以直接減稅3600大洋,這可是國家實實在在補貼的真金白銀啊~

二、要選哪科

如下圖所示,軟考有3個級別5個專業,很多同學在報名的時候不知道如何選擇科目。 軟考高階比中級的難度要大一些。中級考試為基礎知識和應用技術兩科,各科目考試時間均為2.5小時。高階考試主要多了論文,考試時間為2小時(將近要寫3000字)。合格標準是各個科目都要求在45分以上(含45分)。中級合格率約為20-30%,高階合格率不到20%。 我的建議是:不要報考初級,因為參加軟考沒有任何的門檻限制,沒有必要一步一步考;中級和高階具體報哪一個,按個人技術儲備的實際情況來選擇,IT基礎差一點的同學可以報專案管理方向。有3~5年後端經驗的同學可以嘗試高階資格,因為寫論文還是需要一定的專案經驗的積累。

三、如何備考

我自己報考的是系統架構設計師,下面主要介紹系統架構設計師的備考方法。

1、核心考點及複習建議

1.1 計算機基礎知識(20%)

對於計算機類科班的同學來說,這一部分主要就是在學校裡學習的內容,主要包括:計算機組成與體系結構(計算機組成、指令系統、流水線技術、儲存體系、匯流排等)、作業系統(程序與PV操作、儲存管理、裝置管理、檔案管理等)、資料庫系統(設計正規化、關係代數、SQL、資料架構、併發控制等)、計算機網路(常見網路裝置、常用協議、組網方式等)、嵌入式系統(嵌入式作業系統、多核處理等),每個部分基本就是學校裡面所學知識的簡化版。針對這一部分,有科班基礎的同學可以看影片1.5倍速複習一輪,題目大部分就是送分題;如果是沒有基礎的同學,最好跟著影片多學幾遍,這些都是程式設計師安家立命的根本。

1.2 軟體工程(25%)

這一部分是很枯燥的理論性內容,主要包括:軟體開發生命週期、軟體開發過程模型(瀑布模型、螺旋模型、原型模型等)、需求管理、開發管理、軟體系統設計 (易用性設計、設計模式)、軟體系統建模(結構化設計、UML)、軟體系統構建、軟體測試(黑盒、白盒、迴歸、單元、整合、路徑覆蓋等)、專案管理 (關鍵路徑)。其中,系統建模很可能會在案例分析題中出現。這一部分的概念枯燥並且不好記憶,建議反覆觀看資料學習。

1.3 系統架構設計(35%)

這一部分是系統架構師這個科目考察內容的重中之重,無論是選擇題,還是案例分析題,還是論文,都會涉及該部分的內容。這一部分首先引出了軟體架構的定義,緊接著講如何從多個維度評價一個軟體架構設計(質量屬性、軟體質量評估方法),為了達到軟體系統設計的預期標準,如何通過一些架構模式(或叫架構風格)來實現整個架構的設計。並額外列舉了一些派生的架構模式和現實系統中的架構設計案例,如MVC、 微服務架構、常用中介軟體等。這一部分的內容最少完整學習一遍,深刻理解每個章節的內容。這一部分很重要,很重要,很重要!這一部分除了固定題型的送分題,還有很發散的開放式問答。看完這一部分的內容,也基本上就知道怎麼寫論文了。

1.4 資訊化戰略與規劃 (9%)

這一部分內容都是概念性並且十分抽象,主要涉及到企業資訊化需要做什麼怎麼做。比如,企業內外部有資訊系統的型別的資訊系統,它們之間是如何進行系統整合的,如何進行系統遷移和系統迭代,資訊系統如何支撐企業的發展,如何建設電子商務等。資訊系統如何服務企業、個人、政府,這些概念雖然很抽象,但我認為這也是一個系統架構師應該掌握的知識,它站在一個巨集觀的視角回答了“為什麼要做資訊化、智慧化”。這一部分建議深度學習,因為在論文中寫專案的背景、價值的時候可能也會用到,要深刻理解之後再開始刷題。

1.5 資訊保安&法律常識(5%)

這一部分內容是資訊保安和法律常識的基礎內容,資訊保安包括:基礎密碼學(對稱、非對稱加解密、數字簽名)、常用身份認證方案設計、訪門控制方案設計、系統安全性設計等內容;法律常識包括:著作權、專利、商標、商業機密等概念,在選擇題和論文中可能也會用到這一部分的知識點。

1.6 數學&邏輯&英語 (6%)

這一部分內容是作為程式設計師最基本的要求,如果數學和邏輯不好,很難寫出邏輯清晰工整優雅的程式碼。數學一般考離散數學、運籌學裡面的東西,比如高考考過的線性規劃、大學學過的圖論,一般在考場上都能硬算出來,這一部分不建議複習,直接刷真題,邊刷邊瞭解一些演算法。英語主要是計算機和軟體的專業英語,會以5道完形填空的形式出現,英語很難在短時間內提高,只能鵬鵬運氣了。

2、題型解析及解題技巧

整個考試分三個題型:選擇題、案例題、論文題,每種題型一場考試,一天內考完。上午考選擇題,下午考案例分析和論文。每種題型滿分都為75分,達到45分及以上算合格。由於是資格性考試,而且通過後不區分等級,因此合格萬歲。這個考試很大的一個難點,在於三個題型的分數要同時達到45分及以上。

2.1 選擇題

考試時間120分鐘,75道四選一單項選擇題,每道題1分,主要考上面提到的知識點。解題技巧如下:

  • 直接選擇法:對題中給出的4個選項,一看就能肯定其中的一個是正確的,可以直接得出正確選項。注意,必須有百分之百的把握才行。
  • 排除選擇法:對題中給出的4個選項,一看就知其中的一個(或2個、3個)是錯誤的,在這種情況下,可以使用排除法,即排除錯誤的選項,剩下的為正確答案。
  • 估計選擇法:在排除法中,如果最後還剩2個可能的選項,而對某題卻一無所知時,也別放棄選擇,在剩下的選項中隨機選一個。
  • 因為選錯了不扣分,所以選擇題不要漏選,即使不能完全確定正確答案,每題也要都選出一個選項。
  • 注意:對於有把握的題目要保證一次答對,不要想再次驗證。對於吃不準的題目,可以根據經驗先初步確定一個答案,做一個標記。在時間允許的情況下,可以回過頭來重做這些做了標記的題目。切記不要在個別題上花費太多的時間,以免到最後沒有時間完成剩餘的題目。

2.2 案例題

考試時間90分鐘,主要是問答題和填空題,總共五道大題,每道大題25分,第一題必答,二到五題四選二,選定的三題一共75分。

第一道大題比較固定,一般是軟體架構評估。二到五題中,固定會有一道題是嵌入式系統設計(建議非嵌入式從業者直接放棄),除此之外還會有以下題型:

  • 軟體系統建模(UML圖填空、問答)
  • 系統資料庫設計(DFD圖填空、問答)
  • 系統架構整體設計(表格填空、架構圖填空、問答)
  • Web系統架構設計(表格填空、架構圖填空、問答)
  • 單個場景詳細設計:高可用設計、高效能設計、高可靠設計、微服務設計、可擴充套件性設計等(表格填空、架構圖填空、問答)

其中問答題一般有兩種問法,一是概念問答類:

  • 請說明什麼是xxx,並指出它的作用與特點;
  • 請說明A和B兩種設計模式的區別和聯絡;

二是方案分析與選擇類:

  • 請指出選用xxx技術方案存在的問題,限200字以內;
  • 項自組最終使用了xxx技術方案,請分析採用xxx技術方案的原因;
  • 請分析N種技術方案的優勢和劣勢/適用場景,並確定使用哪個技術方案;

2.3 論文題

考試時間120分鐘,考試形式是給出4道論文題目,只需要選其中一道題目來寫,兩個小時,手寫在類似高考語文作文的答題卡上,摘要部分一般要寫200字以上,正文部分一般要寫2000字以上。

論文是軟考高階中經常出現不合格的題型,不過只要你有實際的工作經驗,有一定的理論基礎,再進行了認真的準備,達到45分合格線並不是一件很困難的事。

通常來講,論文給出的4道題目裡面,一般有一道是最近兩年比較火熱的技術,如雲原生、無服務架構、區塊鏈等。其它三道題的出題方向很固定,頻次大致從高到低主要包括:軟體系統架構設計(架構評估、架構風格、微服務架構等)、軟體系統建模、資訊系統規劃與整合、軟體質量保證、軟體高效能設計、軟體可用性設計、軟體安全性設計、需求管理、專案管理等;

想拿下論文,就必須要深入的準備一個專案,—般是自己平時工作中做的系統,從全域性的角度來梳理這個系統的方方面面,然後針對不同題目從不同角度來描繪這個系統就行了。

論文的結構可以直接套用以下模板,不同的題材,結構和框架可以相同,只需要替換內容就好了。

  • 摘要(一般要寫200字以上):
  • 交代自己做了專案,自己是做什麼的 (一般是架構師)
  • 我在這個專案裡面,用到了哪些與題目相關的技術
  • 專案很成功,客戶很滿意,老闆很開心
  • 正文(一般要寫2000字以上):
  • 我在什麼公司工作,什麼職位(100字左右,注意資料脫敏,敏感資訊可以用某某代替)
  • 我做了什麼專案,業務背景和產品設計是怎麼樣的(300字左右,同樣注意資料脫敏)
  • 說說題目裡面的技術或概念是什麼(作為論點,300字左右)
  • 專案中是怎麼體現題目中的技術的(作為論據,也是整篇論文的主體部分,1000字左右,舉2到4個例子)
  • 專案取得了怎麼樣的結果,有哪些細小的可以改進的點(結論,400字左右)
  • 客戶很滿意,老闆很開心,感嘆人生,讚頌社會 (結尾,100字左右)

3、備考策略及學習資源

我主要的複習方式是影片學習+真題訓練+論文仿寫。

3.1 影片學習

影片主要用於掌握基礎知識,附帶一些練習題,以鞏固知識點的記憶。

上午的選擇題,完整的刷過一遍影片,然後再刷個10來套選擇題真題,如果分數能達到60分以上的話,選擇題這塊應該就比較穩妥了。

下午的案例題,比選擇題要難一些,有較多的概念手寫,所以學習影片中明確提到的五星考點,都要背下來才行,這個背太早可能就忘記了,可以先背一輪有個印象,然後考前一週再集中記憶。另外也要配合多刷題,歷年的真題都做一遍。

我自己的影片資源是公司請的培訓機構講的線上直播,雖然這課程不花錢就能聽,但質量真的一般。後來我又在網上找了一些影片資源,比公司課程強太多,大家關注我微信公眾號【劼哥舍】,回覆“軟考”即可獲取我精心整理的學習資源。

3.2 真題訓練

學習完影片之後,就要拿分類練習題和真題來訓練,在訓練的過程中如發現模稜兩可的知識點,可以再去反覆刷影片的某個章節,力爭把每個知識點都記住,軟考需要記的概念性知識點還不少,特別是下午的案例題和論文,必須需要寫出來大段準確概念或者某個架構方法。

刷題的話我推薦用軟考通APP,安卓和蘋果都有同款APP。

有歷年真題、模擬測驗、智慧練習等功能,讓我們非常靈活利用碎片時間來刷題。還有錯題集、收藏夾等功能,讓我們能夠針對部分不熟悉或經常出錯的知識點重點複習。

不過該APP也有2個問題,一是真題只更新到了19年(可以配合上面學習資料一起用),二是偶爾會彈廣告(可以手動關閉不會強制看完),已經算是一款良心的學習APP,如果APP的作者能把最近兩年的真題也更新進去就太完美了。

3.3 論文仿寫

對於論文的準備,建議先多看看別人的論文,然後自己至少仿寫三篇不同主題的論文,重點寫架構設計方向的主題,最後再準備一篇近期流行的技術,比如:雲原生、區塊鏈、Web3等。

2個小時的論文書寫時間非常緊張,如果沒有經過考前特訓,很多同學2個小時2500字抄都抄不完,更不要談臨場發揮直接寫。所以每篇論文框架(摘要、開頭、結尾)必須能熟練默寫,要做到這3部分完全不用思考,提筆就能寫至少800字,那麼兩千字的正文,你真正需要邊思考邊書寫的內容就只有1200字,然後再把你準備的專案經驗,結合題幹套進正文裡就好了。

特別需要注意的是,大家練習論文一定要拿格子本或者把答題卡打印出來練習,這樣你才能習慣在答題卡上寫字的感覺,避免臨場書寫習慣問題而手忙腳亂。

3.4 我的經歷

剛開始準備的時候,我覺得自己有點基礎,沒有複習就直接做了一套選擇題的模擬題,結果慘不忍睹只拿了30多分。完整的做過一套真題才知道,選擇題裡陌生的知識點和概念特別多,如果不復習直接做的話,估計大部分題目都只能靠猜,後面就老老實實的開始刷影片來補基礎。

影片總時長在30個小時左右(除論文以外),我大概從9月下旬開始每天用上下班通勤時間1.5~2倍速刷影片,每天大概能看2個多小時,連著國慶假期一起把所有的影片全部刷完了。大家可以看到上圖中的選擇題刷題記錄,從最開始的30分到能拿55分,這就是刷完影片的效果。

國慶之後就只剩不到一個月的備考時間(其中包含3個週末)。日常工作比較忙,抽不出大段的時間用來複習,只能拿通勤和休息時間來零碎做做選擇題、翻翻錯題集、背背不牢靠的知識點。然後充分利用週末,儘量推掉所有事情,完整的做一套選擇題、案例題以及論文,然後針對錯題進行復盤和針對性練習。

在考試的前一週,我完整的練了2套選擇題,按道理說選擇題要練習到60分以後才比較穩妥,我自己訓練得還不達標。作文又把摘要、開頭、結尾專項練習了一遍,控制手寫時間在半小時以內。然後刷了一些案例題查漏補缺,把不熟悉的知識點再背了背。

四、考前必看

1、考前準備

  • 前一天保證充分睡眠。睡眠不足的頭腦裡,充滿了因疲倦而產生的不安的荷爾蒙。人的集中注意力是有限的。疲倦狀態下熬夜用功,還不如聚精會神地學習一個小時的效果。考試前保持身體的最佳狀態很重要。
  • 下午的考試時間非常緊湊,第一場90分鐘的案例題考完之後,休息20分鐘(不允許出教室),緊接著就進入第二場120分鐘的論文,整個下午連軸轉非常消耗精力。建議中午至少小睡半小時,然後再兩門考試之間喝一瓶紅牛來保持精力。
  • 可以帶個非電子錶,防止考場沒有鍾,如果是在廣州大學考的話,一般都會有電子鐘。

2、心態調整

  • 進考場手機一定要關閉,免得被當成作弊嫌疑人。考試時不要有僥倖心理。網上有不少關於考試作弊的文章,千萬不要信以為真,更不要以身試法。
  • 當遇到答不出來的題時,心裡一定不要慌亂,可以把這類題留下暫時不做,先把會做的題做好,能做多少就做多少。
  • 當題做得非常順利時,心裡不要太得意,因為越是看似容易的題目越是錯的多,當然也不要逆向思維,覺得這題這麼簡單是不是做錯了,要相信自己,說到底還是要審清題目的意思。
  • 不要受周圍環境影響,當看到別人翻卷子時,覺得別人做了很多題,心裡就開始著急,可以來點阿Q精神,也許是他不會做,先做下一頁卷子呢。
  • 當別人開始交卷時,也不要慌張,只要沉著冷靜,認真回答每一個題目就可以了,千萬不要感覺如果只剩下你一名考生多不好意思,因為監考人員是有責任陪你考完最後一分鐘的。

3、答題注意

  • 拿到答題卡第一件事兒是填塗好自己的姓名、准考證號等重要內容,然後再開始看題!注意:填塗都是用2B鉛筆,而需要寫字的地方一定要用墨水筆,千萬別弄混。如果對填塗卡有什麼不明白的地方,一定要舉手問監考老師!
  • 答題順序以有利於心態穩定為準。先易後難,先熟後生,穩紮穩打。而且一定要邊答邊填塗,不要等到最後一起塗!萬一沒時間了,你的客觀題就沒分了!記著,客觀題的答案寫在捲上是沒分的,所以一定要填到答題卡!
  • 合理的安排時間。保證在能得分的地方絕不丟分,不易得分的地方爭取得分。自己要時刻意識到,與其花十分鐘去攻克一道分值為一分的選擇題,不如花十分鐘去攻克一道分值為十五分的大題。合理分配時間,才能最終取勝。
  • 只要不扣分,嘗試回答所有的問題,不要留下空白題。
  • 主觀題答題的時候,如果發現錯誤,請不要使用塗改液等修改,因為閱卷老師可能會認為是在卷子上刻意做記號。如果發現錯誤,請用筆畫個框圈起來,打個叉子即可,然後再找一塊乾淨的地方重新寫過,千萬不要在原地改得亂七八糟!
  • 答題卡分兩種,橫版的和豎版的,所以不要和旁邊的考生對題,作弊先不說,主要是答題卡不一樣!只要填的時候按著題號填,就不會有問題。
  • 答題時儘量保持卷面整潔乾淨,老師改卷時不可能將無法辨認的試卷給高分,因為都看不清楚,當然也不會給高分。所以一定要注意卷面的書寫工整。

五、考完感想

最後,來講講我自己這次考試的表現情況:

  • 選擇題,考試的範圍有點超出預期,雖然往年的真題我基本都刷了一遍,但還是有將近五分之一的題目是我完全沒印象的(如鴻蒙作業系統的架構),學習群裡的小夥伴在選擇題上翻車的不在少數,我自己也沒有太大把握選擇題能過。
  • 案例題,第一題必選題是架構設計和質量屬性相關的,比較容易寫。第二題考的是資料流圖和ER圖,也還比較容易寫。第三題是嵌入式直接跳過。第四題考的是資料庫快取技術,第五題考的是Web系統架構設計,這兩題我都能寫,第四題全是問答題可能答不準,第五題有填空題好答一點且分值更大,所以我選擇了第五題作答。案例題我寫得還比較順利,也比較有把握。
  • 論文題,第一題是《基於構建的軟體開發方法》,第二題是《論軟體維護的方法及其應用》,第三題是《論區塊鏈技術及應用》,第四題是《論湖倉一體架構及其應用》。我自己我準備過的題材有架構風格、架構評估、微服務架構,後面兩題完全超綱了沒法寫,第一題ABSD我沒有實際寫過,整個ABSD的流程和具體步驟記不太清楚了,只能選第二題軟體維護來寫。因為是臨場發揮的,所以花了較多的時間構思,導致後面時間很趕,算是卡著點湊夠了字數,沒有時間從頭到尾整個通讀一遍,感覺自己寫得一般。
  • 整體來講,三門考試,案例題比較有把握,論文寫得一般般,選擇題不太行,這次考試不合格的概率較大,擔心也沒有用,老老實實等結果。如果這次沒有過應該還會再考一次,畢竟準備過一次還算有點經驗,下次備考也會更容易。

以上就是我2022年備考系統架構設計師的全部過程,期望我的經驗能帶給大家一點幫助,最後祝願所有報考軟考的同學們逢考必過~

六、引用參考