java 认证_Java认证:认证或不认证

java 认证

专业认证始终是一个有争议的主题,有资格的人在争论收益与成本/时间的关系。 通过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 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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值