前言
之前的python-pytorch的系列文章還沒有寫完,只是寫到卷積神經網路。因為我報名成功了系統架構師的考試,所以決定先備考,等考完再繼續寫。
雖然架構師證書不能證明技術水平,但在現實生活中的某些情況下是有意義的,比如我要是去學校做培訓老師的話,有這個證就會課時費高一點。考試雖然無聊,但有些考題還是蠻有意思的。
思考
看了幾套架構師的考題,發現個有趣的現象,就是綜合知識的考題都會加入當年流行的概念,比如2020年就有問微核心的考題,這是因為19年華為釋出了鴻蒙系統。
【微核心簡介:微核心就是把單核心(windows系統)中的一些功能提取出來,比如檔案系統,提取出來,以程序形式存在。優點就是不容易掛,比如檔案系統掛了,系統不掛,缺點是效能不好,因為調檔案系統還要程序互動】
這讓我想起來兩種架構師的區別,一種是能從1-100搭建框架的,一種是10-100搭建框架。什麼是10-100呢,就是找一個開源專案或者付費開源專案。
區別一:10-100的架構師的特點是,當開發向他發問一些細節問題,他會讓開發去自己調查,如果推脫不掉,他就只能自己調查,然後把意見給開發。而1-100的架構師,會直接給出答案。
區別二:10-100的架構師就會特別關注這種實事,比如鴻蒙釋出的系統這種事;然後透過加入10概念+10元件,讓100分的系統進化到200分。而1-100的架構師會深入研究元件,然後最佳化或者自研元件,然後將重組後混合的5個概念和3個元件,以最優的效能的方式,將其加入到系統,然後將系統從100分提升到200分。
兩種模式的架構師,其實都很累,但10-100分的架構師是更被重視,而且其所在團隊的人數數量通常是,1-100架構師的團隊人數數量的5-10倍。所以通常10-100的架構師會被老闆認為能力更強,畢竟帶的團隊更大,概念和元件更多。
回到架構師考試,這個考題,從本質上就是從java的10-100架構師的角度出發的。
後來,我又回頭看了軟體設計師的考題,因為我已經從1-100的net架構師轉java開發了,所以我看這考題就有一種很深的思考,那是一種這考題就是為了java開發出的感覺。
比如,23種設計模式,這個就是在java裡玩的很轉,這是因為java語言的不完善,他是一個高階語言和低階語言的結合,但在其他語言,23種設計模式就是常規的寫程式碼操作,完全沒必要學習,因為只要你會寫程式碼,你寫的每行程式碼都可以解釋為23種設計模式中的一種或幾種。
而如果你是java開發,只要你工作幾年,就會對23種設計有深刻理解,完全不用背,因為總用。但其他語言開發,就得背,而且背的時候還不理解,因為它違背了你認知,所以你不可能背明白。
再比如微服務設計,只有java搞無限制的http請求,例如一個使用者建立介面裡要建立使用者和部門關係,而建立使用者部門關係又要驗證使用者是否存在,那麼我們就有token,建立使用者,建立使用者部門關係,驗證使用者存在,4個http請求,如果業務複雜,10+的http請求也是可能的。
這在其他語言是不可理解的,因為其他語言玩微服務不是這樣的。但因為java的環境如此,所以會有很多相關問題,而這些問題被拿到考題中,這就跟其他語言的開發者的認知相背了,所以這是其他語言開發根本不可能靠背和理解能認知的。
考題
當然還是有一些考題很有意思,下面是09年的考題,雖然是以前的,可能這題型不會考了,但還是挺有意思,可以學習一下。
當然這題的答案我認為是有問題的。
這道題,關鍵點是ZP=Z,在已知轉移矩陣p的情況下,已知x是當前的銷售數量,例如x=[10,5],那麼如果要預測下一次該品牌的銷售機率x'的話,可以使用公式x'=x⋅P。
[10,5]⋅ [ 0.8 0.4 =10*0.8+5*0.2 10*0.4+5*0.6 = [9,7]
0.2 0.6 ]
即A,B品牌下次賣 [9,7]。
因為ZP=Z,所以,選項中的最終佔有率就是Z,所以我們挨個計算就行。
答案是D。
計算如下:
[2/3 1/3]⋅ [ 0.8 0.2 =2/3*0.8+1/3*0.2 2/3*0.2+1/3*0.6 =2/3*4/5+1/3*1/5 2/3*1/5+1/3*3/5 =9/15+1/15 2/15+3/15 =2/3 1/3
0.2 0.6 ]
所以d令zp=z成立,所以選D。
注:此文章為原創,任何形式的轉載都請聯絡作者獲得授權並註明出處!
若您覺得這篇文章還不錯,請點選下方的【推薦】,非常感謝!
https://www.cnblogs.com/kiba/p/18388762