专业认证始终是一个有争议的主题,有资格的人在争论收益与成本/时间之间的关系。 通过Oracle的Java认证,我认为有两个主要的受众可以从中受益:

  • 那些开始从事软件事业的人。 扎实的工作经验和可证明的代码将永远是潜在雇主的首要考虑因素。 但是,在没有这种情况的情况下,Java认证是证明相关技能基本水平的客观方法。 有了初级编程职位的机会,候选人的工作经历就很有限,因此获得认证可能是留在简历堆和进入面试主席之间的区别。 同样,如果您有可靠的工作经历,但正在申请一份侧重于项目中未使用过的API的工作,则认证可以帮助弥补简历中的空白。
  • 那些希望学习新技能或对其主题专业知识进行客观验证的人。 Oracle尽力确保其认证反映专业服务中所需的技能和知识。 如果您不熟悉Java版本或API,那么学习这些考试可以帮助您确定真正需要知道的主题的界限。 如果您已经具有该主题的经验,则可以使用这些考试来验证您确实知道了您认为的知识。

成为Oracle认证Java SE 8程序员

几年前,Oracle改进了其Java认证途径。 当时,他们引入了不同级别的认证。 在遵循Java程序员的道路时,您需要先完成“助理”认证(例如“专业”或“大师”级别的认证)。 此规则有一个例外-如果您已经完成了以前的Java认证,则它们确实具有可用的升级路径。

该认证需要进行一次考试:Java SE 8 Programmer I 1Z0-808。 要参加此考试,您首先要从Oracle University购买代金券。 购买之后,您现在就可以在托管的考试机构中注册参加考试。 该考试包含77个多项选择题,它们有助于您的最终成绩。 考试期间可能还会添加更多问题,但是这些问题是“未计分的”。 不幸的是,您没有被告知哪些问题被评分,哪些没有评分。 整个考试必须在150分钟内完成。

在考试期间,您将能够写下中心提供的材料的注释。 绝对没有其他笔记可以带入考试室,并且您必须在考试完成后退还他们提供的材料。 此时,您可能会急于想找到自己的分数,但考试中心将不会提供该信息。 相反,您需要等待分数发布到Oracle的CertView网站上。 如果您以65%或更高的分数完成考试,则说明您已通过并已获得Oracle认证助理Java SE 8程序员的身份。

有关详细信息并开始注册过程,请访问Oracle University 。

只要确保您正在注册Java SE 8 Programmer I 1Z0-808考试,因为此页面还列出了SE 5/6和SE 7的较早考试。

考试技巧

虽然认证规则禁止我分享特定的测试问题,但我可以为您提供一些一般性提示,以帮助提高您的分数。

阅读实际写的内容……而不是您期望的内容

通常听到的建议是,首先检查答案是否为“这无法编译”。 从理论上讲,如果这不是可用的选项之一,那么您不必担心试图通过偷偷摸摸的编译错误来欺骗您的问题。 当然,这是正确的,但是,我相信它使人们为懒惰的阅读做好了准备。 让我举一个例子。 以下代码的输出是什么?

public class Person {    private String fullName = "Jason Shapiro";public void Person() {fullName = "J. Shapiro";}public static void main(String[] args) {System.out.println( new Person().fullName );}
}

假设测试焦虑逐渐蔓延,您的第一个念头是:“嗯……没有规则说我无法在静态方法中访问实例变量吗? 我知道我通过发送消息来访问的人全名,但的主......”那么,你快速地检查可用的选项并注意列表‘没有编制’未列出里面。 您松了一口气,正确地认为这是合法的,然后Swift选择“ J. Shapiro”,因为构造函数将在fullName的显式初始化后执行。 不幸的是,这个答案是错误的。 如果您仔细看(并且我确定您中的某些人对此有所了解),请注意Person()不是构造函数。 它具有返回值; 因此,这是一种方法。 因此,实际上从未调用过该方法,答案是“ Jason Shapiro”。

练习阅读不同格式的代码。

人们普遍认为,您对Java的了解越多,这些考试就越容易。 尽管通常是这样,但是经验丰富的开发人员通常会习惯于特定的编码样式。 当呈现的样式不同时,可能会给读者带来挑战。 那么什么可以有所不同呢? 罪魁祸首是使用空格和花括号。 您至少应该确保了解何时需要括号以及何时需要括号的规则。 例如,您可能习惯了do ... while循环,如下所示:

do {System.out.println(i.next().fullName);
} while( i.hasNext() );

但是您也应该习惯于这样阅读:

do System.out.println(i.next().fullName); while( i.hasNext() );

同样,您可能熟悉多维数组,例如:

int[][][] studentIdsByLocation = new int[20][83][2];

…但是您知道以下语法也是合法的吗?

int[] studentIdsByLocation[][] = new int[20][83][2];

请记住,所有得分问题都值得一分。 即使是真正的困难者!

您有150分钟的时间回答所有问题,因此,如果您发现单个问题花费的时间太长,请将其标记为最后返回。 最好不要在一个棘手的问题上遗漏一分,而不是在您知道答案的问题上浪费时间!

按照您的订单!

Java中有许多排序和优先级规则。 经过多年的编码,很容易忘记除最常见的示例以外的所有示例。 提醒自己的第一个是运算符优先级的顺序。 创建具有多个运算符的随机表达式,并进行自我测试以查看是否可以确定正确的结果。 您可能还记得乘法是在加法之前发生的,但是所有这些如何与后加和预加运算符配合? 例如,运行此代码后,x和y的值是什么:

int x = 3;
int y = 5;
y = y++;
y = y++;
y = y++;
x = 4 * ++y - 3 + x * y;
x = x++;

如果您说x = 39和y = 6以外的任何其他内容,您将需要在此主题上花费更多时间。 在此特定示例中,行y = y ++; 和x = x ++; 真的没有任何作用。 两者都使用后增量运算符,因此将返回当前值并将其分配给变量,从而覆盖增量。

另一个熟悉的相关主题是类加载和对象实例化的顺序。 您应该熟悉何时调用静态初始化块(并且在类的整个生命中仅被调用一次),以及它们如何与实例初始化块,内联变量初始化和构造函数一起使用。 创建一个三级对象层次结构链(例如Person-> Employee-> Consultant),并将所有这些初始化结构与print语句一起添加。 然后实例化最具体的类型(顾问)–两次。 尝试另一个示例,在该示例中,您仅创建了Consultant,Employee和Person变量(将其保留为空)。 哪些打印语句被称为? 记住类加载和实例化的过程。

最后,在调用带有原始参数的重载方法时,请熟悉选择的顺序。

如果我们有以下方法:

public void computeIt(Long val) { }
public void computeIt(int... val) { }
public void computeIt(double val) { }

…并进行以下方法调用:

obj.computeIt(5);

您应该知道将调用声明double参数的方法。 如果没有,请学习以下选择顺序:

  1. 与方法参数的精确原始匹配具有最高的方法选择优先级。
  2. 如果确切的原始类型不可用于byte,short,char,int或long:
    1. 下一个较大的整数基元可用(字节,短整数,整数和长整数)。
    2. 可用的最小十进制基元(浮点数,双精度)。
  3. …以及浮动:
    1. 双重原语。
  4. 确切的包装类(在本例中为Integer)。
  5. 精确原始类型的变量。
  6. 如果确切原语的varargs对于byte,short,char,int或long不可用:
    1. 下一个较大的整数可变参数可用(字节,短整数,整数和长整数)。
    2. 下一个最小的十进制可变参数可用(浮点数,双精度)。
  7. …以及浮动:
    1. 双变量。
  8. 最后:精确包装器类的varargs。

对于你们中的许多人来说,这可能比您记得的要复杂得多。 花一些时间用原语,varargs和包装器类定义和调用重载方法,以查看实际使用不同参数调用的内容。

不变性和捕获返回值

在考试中您应该知道的所有课程中-所有这些都在这里列出。

您必须知道哪些是“不变的”。 此考试中包括的字符串和java.time包中的类都是不可变的。 这意味着,当您在它们上调用似乎修改其内容的方法时,必须捕获其返回值。 例如,以下代码可能会引发一个更大的问题。

String fullName = "Jason Shapiro";
fullName.toUpperCase();
System.out.println(fullName);

如果阅读速度太快,您可能会忘记字符串是不可变的,因此,错误地认为fullName现在是“ JASON SHAPIRO”。 如果代码编写如下,则“ JASON SHAPIRO”将是正确的输出:

String fullName = "Jason Shapiro";
fullName = fullName.toUpperCase();
System.out.println(fullName);

这可能是您已经熟悉的一条规则,但是测试焦虑与时间限制相结合,很容易由于不可变性而错过不正确的代码。 因此,在参加考试之前,请提醒自己哪些对象是不可变的,并始终确保注意是否已捕获返回值。

有关更多提示和要学习联想考试涵盖的主题,请查看我在Udemy的在线课程:

学习Java SE 8并准备OCA Java程序员考试

我将从这门课程中学到什么?

  • 读写Java基本命令行程序
  • 知道如何使用集成开发环境(Eclipse)来开发和调试程序
  • 为代码生成基于HTML的文档(Javadoc)
  • 对考试涵盖的主题有深入的了解,成为Oracle认证助理Java SE 8程序员(Java SE 8程序员I 1Z0-808)

掌握Java的基础和Oracle认证合作伙伴Java SE 8程序员考试(1Z0-808)的主题!

翻译自: https://www.javacodegeeks.com/2016/06/java-certification-cert-not-cert.html

Java认证:认证或不认证相关推荐

  1. java实现https免证书认证

    java实现https免证书认证 解决方法: 1.下载两个包,httpclient-4.2.jar和httpcore-4.2.jar,复制以下代码就可使用. 2.调用类代码: String httpO ...

  2. Java应用程序的令牌认证

    建筑物身份管理,包括身份验证和授权? 尝试Stormpath! 我们的REST API和强大的Java SDK支持可以消除您的安全风险,并且可以在几分钟内实现. 注册 ,再也不会建立auth了! 20 ...

  3. jboss-5.1.0_JBoss AS 7.1.0.Final“ Thunder”发布-Java EE 6 Full Profile认证!

    jboss-5.1.0 在JBoss AS7上进行了大约一年的开发后,我们现已发布7.1.0.Final" Thunder" ! 可从此处的通常位置下载该文件. 对于JBoss A ...

  4. JBoss AS 7.1.0.Final“ Thunder”发布-Java EE 6 Full Profile认证!

    在JBoss AS7上进行了大约一年的开发后,我们现已发布7.1.0.Final" Thunder" ! 可从此处的通常位置下载该文件. 对于JBoss AS7团队来说,这是一个非 ...

  5. Java 调用Web service 添加认证头(soapenv:Header)

    前言 有时候调用web service 会出现 Message does not conform to configured policy [ AuthenticationTokenPolicy(S) ...

  6. Java会话加密_shiro的认证、授权、会话、加密

    shiro shiro是一个基于java的开源的安全管理框架,可以完成认证,授权,会话管理,加密,缓存功能. 为什么学习shiro 在java的世界中,安全管理框架有spring security和s ...

  7. Java APP移动端邮箱认证

    Java APP移动端邮箱认证 前言: 要实现邮箱认证服务,大致分为以下四个步骤:搭建邮箱服务.制作一个发送邮件的工具类.后台实现一个供APP调用的接口API.邮箱认证的通知回调,当然这其中还涉及到邮 ...

  8. java实现 印象笔记AOuth 授权认证

    java实现 印象笔记AOuth 授权认证 原创文章,转载请注明出处 前言: 由于我们公司最近考虑在我们的设备上接入第三方公有云(有道云笔记,印象笔记等),所以就让我调研市面上的公有云,可接入我们设备 ...

  9. Kafka 认证一:PlainLoginModule 认证及 Java 连接测试

    背景 项目需求是:通过 Web 页面配置 Kafka 信息并存储,且支持安全认证模式. 本文介绍 Kafka 帐号密码认证的完整实践流程,自己实践一遍,才能穿起各个概念.Kafka 的 Plain 简 ...

  10. 一文读懂Https的安全性原理、数字证书、单项认证、双项认证等

    为什么80%的码农都做不了架构师?>>>    本文引用了作者Smily(博客:blog.csdn.net/qq_20521573)的文章内容,感谢无私分享. 1.前言 目前苹果公司 ...

最新文章

  1. java的Access restriction错误
  2. centos8更换yum源_基于yum进行linux系统升级--从Centos7升级到Centos8
  3. 使用poi写入doc文档中文档打不开_基于NodeJS和浏览器的PDF文档引擎——PDFKit
  4. 数据分析python够用吗_学数据分析不等于学python
  5. eclipse mysql5.7_MySQL5.7、Navicate、jdk、Tomcat、eclipse全套配置及安装(win10)-Go语言中文社区...
  6. 一看就会——蓝桥杯 试题 基础练习 完美的代价——贪心法,21行代码AC
  7. directly test Gateway frontend service in AG3 SICF
  8. 【CF1338C】Perfect Triples【位运算】【构造】
  9. OO_BLOG3_规格化设计(JML学习)
  10. 个人房贷为啥又贵又难贷 一个房贷银行有3套逻辑
  11. 流程控制: jQ Deferred 与 ES6 Promise 使用新手向入坑!
  12. 【MHA】--MHA 介绍(1)
  13. 12.大数据架构详解:从数据获取到深度学习 --- 大数据技术开发文化
  14. android qq轻聊版,Android QQ轻聊版怎么样 Android QQ轻聊版介绍
  15. 常见的浏览器以及内核
  16. Vue-cli配置代理服务器,解决跨域请求问题
  17. 今天写好汇报材料,明天升职加薪~
  18. 计算机检测不到双显示器,win10装双屏检测不到另一显示器怎么解决
  19. 中康科技黄毅宁:AI+医疗,于我而言是圆梦
  20. Picosmos 一键智能抠图

热门文章

  1. 迅为IMX6开发板OTA远程升级-SWUpdata概述和使用
  2. objective-c的TextFields输入完成后关闭键盘和触摸背景关闭键盘
  3. 西虹市首富:在币圈赔光10亿的一万种办法
  4. 阿里云Redis 资源购买流程
  5. 【R语言-生存分析之观察生存率计算】
  6. 二进制反码求和及检验和(反码求和中“回卷”机制)
  7. Excel如何批量给混合文本中的数字标记不同颜色
  8. 10. 试用期工作总结结尾
  9. PCOnline CPU 产品天梯图
  10. 软件测试岗位求职避坑,今年毁约应届生的公司有这么多?….