学编程要考证么?聊聊个人经历和见解java
你们好,我是鱼皮,有个朋友们一直很关心的问题:学编程到底要不要考证?面试
今天就结合个人我的考证经历,聊聊个人见解。算法
本文大纲:数据库
大学期间,我总共考了 6 个和编程沾边儿的证,其中有 5 个证是我主动考的,1 个证是学校安排考的。编程
考的第一个和编程有关的证书是 OCA 8(Oracle Certified Associate),是 Oracle 公司推出的面向全球 IT 人员的权威认证。设计模式
OCA 考试分为 3 个级别:OCA 认证专员、OCP 认证专家、OCM 认证大师,还有不少技术分类,好比 Java、数据库、中间件等。markdown
我相信不少同窗此前根本没据说过这个认证,那我是怎么了解到的呢?数据结构
在大二的时候,我刚刚系统地复习一遍 Java 知识点,但担忧掌握的还不够牢固,就想着看看有没有什么 Java 的证书,经过考试来检验一下本身的水平,查漏补缺。oracle
因而就在网上各类搜,起初搜不到什么,而后我一想,Oracle 公司不是收购了 Java 么?那不妨去他们官网看看有什么证能够考,他们的官方认证应该也更专业权威。而后就搜到了 OCA Java 8 认证:
仔细看了看认证要求和考试内容,发现和本身的预期彻底一致,因而决定报名。
但考证的报名费仍是挺贵的,我当时的价格大概是 1200 元,基本远超国内大部分考证费了。并且必须用美圆支付,因此我当时还特意办了一个 VISA 卡,固然你们也能够直接去某宝找代付。
既然交了报名费,确定要好好准备,我就在寒假阅读了专门应对这个考试的复习资料,包括官方教程、其余同窗整理的考点等等。由于考试题目是纯英文,因此看的大部分复习资料也是英文的。
大概复习了 20 天左右,感受就像是从新学习了一遍 Java 基础知识,但学到了更多的细节。
如今网上也有专门面向这个考试出版的书籍,好比下面这个:
最后的考试是在国内的代理考点,考试的环境很是棒,就是把你关在一个独立的小房间里机试,总共有几十道题目,有一些概念题,也有一些代码阅读题目。若是认认真真复习过的话,其实经过并不难,但由于仍是有些又坑又绕的题目,因此拿满分仍是有难度的,我当时自信满满,但也只考了近 90 分吧(满分 100,及格 65)。
软件设计师是 软考 中级的一个分支,是由工信部颁发的计算机技术和软件技术资格证。
软考官网:www.ruankao.org.cn
按说,我又不想进国企,考这个证干吗呢?
我是在大三上学期报考的,由于大一和大二学了不少计算机基础知识,因此我想总体复习一下。正好看到了软件设计师的证书,到网上了解了一下,发现它考查的范围正好都是学校教过的课,那不就是不考白不考么!
因而交了 100 多元的报名费,去某宝花 1 元钱买了一整套软考复习视频和历年试卷,大概复习了 3 周,把视频课看完而且作了 10 套卷子吧,知识点包括:编程语言、数据结构和算法、密码学、软件项目管理、设计模式、数据库设计、操做系统、软件工程等。
最后去考试的时候,我发现其余考生基本都已经工做了,没看到像我同样的学生。不过这也合理,主动去考证书的人仍是少,你们基本都是须要用的时候再去考。
考试分为上下两个半场,上半场选择题多,更注重基础知识点;下半场设计题多,更注重软件设计和分析能力。
给你们看一道下半场的题目,就是给你一个场景,让你用专业方法(好比 ER 图)去分析和设计数据库系统:
不许备的话,题目仍是有必定难度的,尤为是下半场,有代码分析题和让你手写代码的题目。代码分析题通常是给你一段运用了某种算法的代码,让你人工指出错误(找 Bug)和填空,若是你不了解这个算法,基本就凉了。手写代码题通常是结合了某个设计模式,若是你正好没用过这个设计模式,或者写不出来,那基本也凉了。
最后个人分数也没有很高,但证书也是拿到了哈哈,仍是挺有成就感的(请忽略个人照片):
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。
最后,再提一下大学生基本都会考的 全国大学英语四六级考试 ,我是在大一下学期的时候跟着学校的第一梯队一块儿考过的(大一上考四级),成绩不高也不低。
说实话,这个证对计算机求职的做用不大,并不能对你的简历有加成。但若是从此要从事国际化或对英语有必定要求的工做,若是没过四六级,反而是减分项。再说,真正对英语要求高的工做,你一个小小的英语六级证书也没多大用。
不过不管如何,建议你们仍是好好学英语、平常多背背单词。虽然说英语很差也能学编程,但英语好能够帮助你更快地阅读代码和英文技术文档,不要依赖自动翻译工具,不然颇有可能获得错误的内容!
扯完了本身的考证经历,回答下你们的问题:我应该考证么?
作事要有目的对吧,我在选择是否要考证前,会先思考 两个问题 :
回顾我本身考证的初衷,基本都不是由于这个证书含金量很高才去刻意地考,而是经过考证 激励本身学习、帮助本身复习、检验本身的学习成果 。考证经过了呢能够收获成就感,考证失败也不可怕,能发现本身的不足,查漏补缺。还能把证书写在简历上,填充一点内容,体现自主性。
但说实话,我考的这些证书难度都不大、承认度通常,因此对之后找工做的 直接帮助并不大 ,面试也基本没被问到过;但备考过程当中,激励我自主学习和巩固了知识点,意义仍是很大的。毕竟交了报名费,浪费了也很差对吧。
有同窗说了,要多考证,确定不会亏的,证书多一个在手里有什么坏处呢?
但别忘了,考证过程当中,你要付出不少时间,这些时间拿来作别的事情,好比参加竞赛、作项目,会不会带来更大的价值呢?
我建议你们仔细考虑这两点,再决定是否考证。
我考的证书其实也很少,没办法给你们列举值得考的证书。
但总结下来,考证书首选要 结合本身的职业目标 ,考取对将来发展有帮助的,而不是别人考我也考、或者为了考证而考证。还有就是必定要选正规的、有必定规模的证书和考点,不要考了一些黑机构本身虚构的假证,谨防被骗。
不过,打算从事开发工做的同窗能够试试我考过的那些证书,感受对个人帮助仍是很大的。
还有不少大学生比较关心的计算机二级等级考试,对非科班(计算机相关专业)的同窗来讲,是有用处的,能学到一些计算机技能,有些企业招聘也可能会有这个要求,还能给上海落户加分。但若是你原本就是科班的话,毕业就至关于达到计算机 4 级的水平了,彻底不必考这个证。
以上就是本期分享,最后再送你们一些 帮助我拿到大厂 offer 的学习资料:
我是如何从零开始经过自学,拿到腾讯、字节等大厂 offer 的,能够看这篇文章,再也不迷茫!
我是鱼皮,点赞 仍是要求一下的,祝你们都能心想事成、发大财、行大运。