學編程要考證么?聊聊我的經歷和看法
大家好,我是魚皮,有個朋友們一直很關心的問題:學編程到底要不要考證?
今天就結合我的個人考證經歷,聊聊我的看法。
本文大綱:
考證經歷
大學期間,我總共考了 6 個和編程沾邊兒的證,其中有 5 個證是我主動考的,1 個證是學校安排考的。
Java OCA 8
考的第一個和編程有關的證書是 OCA 8(Oracle Certified Associate),是 Oracle 公司推出的面向全球 IT 人員的權威認證。
OCA 考試分為 3 個級別:OCA 認證專員、OCP 認證專家、OCM 認證大師,還有很多技術分類,比如 Java、數據庫、中間件等。
我相信很多同學此前根本沒聽說過這個認證,那我是怎么了解到的呢?
在大二的時候,我剛剛系統地復習一遍 Java 知識點,但擔心掌握的還不夠牢固,就想着看看有沒有什么 Java 的證書,通過考試來檢驗一下自己的水平,查漏補缺。
於是就在網上各種搜,起初搜不到什么,然后我一想,Oracle 公司不是收購了 Java 么?那不妨去他們官網看看有什么證可以考,他們的官方認證應該也更專業權威。然后就搜到了 OCA Java 8 認證:
仔細看了看認證要求和考試內容,發現和自己的預期完全一致,於是決定報名。
但考證的報名費還是挺貴的,我當時的價格大概是 1200 元,基本遠超國內大部分考證費了。而且必須用美元支付,所以我當時還特地辦了一個 VISA 卡,當然大家也可以直接去某寶找代付。
既然交了報名費,肯定要好好准備,我就在寒假閱讀了專門應對這個考試的復習資料,包括官方教程、其他同學整理的考點等等。因為考試題目是純英文,所以看的大部分復習資料也是英文的。
大概復習了 20 天左右,感覺就像是重新學習了一遍 Java 基礎知識,但學到了更多的細節。
現在網上也有專門面向這個考試出版的書籍,比如下面這個:
最后的考試是在國內的代理考點,考試的環境非常棒,就是把你關在一個獨立的小房間里機試,總共有幾十道題目,有一些概念題,也有一些代碼閱讀題目。如果認認真真復習過的話,其實通過並不難,但因為還是有些又坑又繞的題目,所以拿滿分還是有難度的,我當時自信滿滿,但也只考了近 90 分吧(滿分 100,及格 65)。
軟件設計師
軟件設計師是 軟考 中級的一個分支,是由工信部頒發的計算機技術和軟件技術資格證。
按說,我又不想進國企,考這個證干嘛呢?
我是在大三上學期報考的,因為大一和大二學了很多計算機基礎知識,所以我想整體復習一下。正好看到了軟件設計師的證書,到網上了解了一下,發現它考查的范圍正好都是學校教過的課,那不就是不考白不考么!
於是交了 100 多元的報名費,去某寶花 1 元錢買了一整套軟考復習視頻和歷年試卷,大概復習了 3 周,把視頻課看完並且做了 10 套卷子吧,知識點包括:編程語言、數據結構和算法、密碼學、軟件項目管理、設計模式、數據庫設計、操作系統、軟件工程等。
最后去考試的時候,我發現其他考生基本都已經工作了,沒看到像我一樣的學生。不過這也合理,主動去考證書的人還是少,大家基本都是需要用的時候再去考。
考試分為上下兩個半場,上半場選擇題多,更注重基礎知識點;下半場設計題多,更注重軟件設計和分析能力。
給大家看一道下半場的題目,就是給你一個場景,讓你用專業方法(比如 ER 圖)去分析和設計數據庫系統:
不准備的話,題目還是有一定難度的,尤其是下半場,有代碼分析題和讓你手寫代碼的題目。代碼分析題一般是給你一段運用了某種算法的代碼,讓你人工指出錯誤(找 Bug)和填空,如果你不了解這個算法,基本就涼了。手寫代碼題一般是結合了某個設計模式,如果你正好沒用過這個設計模式,或者寫不出來,那基本也涼了。
最后我的分數也沒有很高,但證書也是拿到了哈哈,還是挺有成就感的(請忽略我的照片):
PAT 乙級 & 甲級
PAT(Programming Ability Test)是近幾年逐漸流行的計算機程序設計能力考試,分為四個等級:
一般來講,基礎級不要考,直接從乙級或者甲級考起,頂級也完全沒有必要。
我是在大二暑假才聽說了這個考試,看了下考試內容,有點像 ACM,主要是鍛煉數據結構和算法能力。正好我當時找第一份實習的時候被算法虐的體無完膚,正在堅持刷算法題目,所以就想通過參加這個考試來激勵自己學習算法,順便檢驗一下水平。
我的算法能力一般,其實比較沒自信,反正報名費也就幾十塊錢,那不妨先從乙級試試水。
報名之后,我准備了 2 個多月,除了堅持刷 LeetCode 之外,還特地去 PAT 的官網刷了他們提供的練習題,順便把牛客的簡單題目也刷了個遍,保持手感。
考點是在上海大學,考試內容簡單粗暴,就像 OJ(Online Judge),總共 4 - 5 道題目吧,每道題目給你一個場景、示例輸入和目標輸出,讓你設計算法、編寫代碼來解決問題,並根據通過用例數得分。
乙級的題目難度還是比較簡單的,基本是一半以上的 LeetCode 簡單題加上 1 道中等題,參與的同學算法水平一般也不高(能力強的都從甲級考起了)。我當時乙級得了 88 分,就排名前 5% 了:
考完乙級之后,我又去報考了甲級,甲級的題目難度和大廠面試的算法題難度相當,總共 4 道題,基本是 1 道簡單題 + 3 道中等題。我當時只完全做對了 2 道題,剩下兩道雖然有思路,但時間沒有把握好,也是含淚收場吧。
雖然考試的結果並不理想,但起碼又讓我意識到了自己的不足,回學校繼續卷。
網絡工程師
這個證說來尷尬,不是我自己去考的,而是我們學校的網絡工程專業有一門課叫 “企業 IT 實訓”。
這個課的內容就是請外面的培訓機構來給我們講一些網絡方面的知識,最后以成功考取證書來換取學分。
記得當時還得坐 1 - 2 個小時的地鐵去他們公司上課,內容水就不說了,關鍵是最后的考試賊牛逼,先給我們講一遍考點,然后立刻就開始考試,全部是原題,也不存在監考!甚至是當時那個准考證還打錯了,叫什么 “網絡工程師 證證 考試”,賊有意思。
通常,一個證的價值和難度是成正比的,所以這個網絡工程師的證書就是意思意思,不是華為思科那種專業認證,沒任何用。
值得一提的是,學校的這個課還讓我們考了一個創業能力證書,也水的不行,那個創業沙盤系統還全是 Bug。
CET 6
最后,再提一下大學生基本都會考的 全國大學英語四六級考試 ,我是在大一下學期的時候跟着學校的第一梯隊一起考過的(大一上考四級),成績不高也不低。
說實話,這個證對計算機求職的作用不大,並不能對你的簡歷有加成。但如果今后要從事國際化或對英語有一定要求的工作,如果沒過四六級,反而是減分項。再說,真正對英語要求高的工作,你一個小小的英語六級證書也沒多大用。
不過無論如何,建議大家還是好好學英語、日常多背背單詞。雖說英語不好也能學編程,但英語好可以幫助你更快地閱讀代碼和英文技術文檔,不要依賴自動翻譯工具,否則很有可能得到錯誤的內容!
我應該考證么?
扯完了自己的考證經歷,回答下大家的問題:我應該考證么?
做事要有目的對吧,我在選擇是否要考證前,會先思考 兩個問題 :
- 考證能給我帶來什么價值?
- 考證的性價比是否高?
考證的價值
回顧我自己考證的初衷,基本都不是因為這個證書含金量很高才去刻意地考,而是通過考證 激勵自己學習、幫助自己復習、檢驗自己的學習成果 。考證通過了呢可以收獲成就感,考證失敗也不可怕,能發現自己的不足,查漏補缺。還能把證書寫在簡歷上,填充一點內容,體現自主性。
但說實話,我考的這些證書難度都不大、認可度一般,所以對以后找工作的 直接幫助並不大 ,面試也基本沒被問到過;但備考過程中,激勵我自主學習和鞏固了知識點,意義還是很大的。畢竟交了報名費,浪費了也不好對吧。
考證性價比
有同學說了,要多考證,肯定不會虧的,證書多一個在手里有什么壞處呢?
但別忘了,考證過程中,你要付出很多時間,這些時間拿來做別的事情,比如參加競賽、做項目,會不會帶來更大的價值呢?
我建議大家仔細考慮這兩點,再決定是否考證。
哪些證書值得考?
我考的證書其實也不多,沒辦法給大家列舉值得考的證書。
但總結下來,考證書首選要 結合自己的職業目標 ,考取對未來發展有幫助的,而不是別人考我也考、或者為了考證而考證。還有就是一定要選正規的、有一定規模的證書和考點,不要考了一些黑機構自己虛構的假證,謹防被騙。
不過,打算從事開發工作的同學可以試試我考過的那些證書,感覺對我的幫助還是很大的。
還有很多大學生比較關心的計算機二級等級考試,對非科班(計算機相關專業)的同學來說,是有用處的,能學到一些計算機技能,有些企業招聘也可能會有這個要求,還能給上海落戶加分。但如果你本來就是科班的話,畢業就相當於達到計算機 4 級的水平了,完全沒必要考這個證。
以上就是本期分享,最后再送大家一些 幫助我拿到大廠 offer 的學習資料:
我是如何從零開始通過自學,拿到騰訊、字節等大廠 offer 的,可以看這篇文章,不再迷茫!
我是魚皮,點贊 還是要求一下的,祝大家都能心想事成、發大財、行大運。