记录

OCA 回顾与评价

备考参考书籍、软件,还有考试体验  2019年10月25日

背景

大学是软件工程专业,大一专业课先学 C 语言,接着是C语言的数据结构。大二分方向,C++ 和 Java 两个方向。C++ 作为我入门面向对象编程的语言,学完大学的 C++ 课程,主要实践就是用 Qt 写了个简单的数据库课程设计,之后就没有怎么用了,荒废掉了。 C 语言还因为学习微机原理(51 单片机)重新拾起来了一段时间。之后因为那段时间喜欢折腾一些硬件所以也开始玩树莓派,树莓派用 Python 比较多,所以又稍微接触了一下 Python 的基础。到后来因为组队参加比赛,开始接触 Android 编程,那时候 Android 还未开始用 Kotlin, 就开始学习,边学边开发。后来学校的课程也有 Java Web,和 Android 。在做课程设计的过程就开始使用 Spring Boot + AngularJS (那时候用的是 1.x),写一下后端 REST API,之后觉得 Java Web 后端开发是我想做的方向。可以因为之前学得比较杂,还因为 C/C++ 硬件背景,让我在情感上有点不重视 Java,所以学习投入程度不够。后果就是有时候看代码,写代码的时候觉得很吃力,一种似懂非懂的状态,模糊不清晰,好像大概知道这是做什么功能,但是要清晰地表达出来就有困难了。 要摆脱这种状况,所以多看书,多写代码。参加 Oracle Java 认证考试的作用就是可以驱动学习,有了这个目标,就会认真深入学习,这就是考试的意义。

阅读更多📰

ETS Test 2 回顾

Test 2 76% (53/70) 正确率通过  2019年10月23日

Enthuware Test Studio Test 2 错题回顾,题目编号为测试系统的编号。

2.Given:

package loops;
public class JustLooping {
    private int j;
    void showJ(){
        while(j<=5){
            for(int j=1; j <= 5;){
                System.out.print(j+" ");
                j++;
            }
            j++;
        }
    }
    public static void main(String[] args) {
        new JustLooping().showJ();
    }
}

What is the result?
You had to select 1 option

阅读更多📰

OCA Study Guide 练习回顾

全部章节的错题  2019年10月22日

这文章讲OCA准备过程,读过的书籍。 这本书叫 OCA Oracle Certified Associate Java SE 8 Programmer I Study Guide 以下按章节整理错题:

阅读更多📰

打印 99 乘法表

笔试编程题  2019年10月17日

实现 99 乘法表 。

输出样例:
1×1=1
1×2=2   2×2=4
1×3=3   2×3=6   3×3=9
1×4=4   2×4=8   3×4=12  4×4=16
1×5=5   2×5=10  3×5=15  4×5=20  5×5=25
1×6=6   2×6=12  3×6=18  4×6=24  5×6=30  6×6=36
1×7=7   2×7=14  3×7=21  4×7=28  5×7=35  6×7=42  7×7=49
1×8=8   2×8=16  3×8=24  4×8=32  5×8=40  6×8=48  7×8=56  8×8=64
1×9=9   2×9=18  3×9=27  4×9=36  5×9=45  6×9=54  7×9=63  8×9=72  9×9=81
当时情况

当时纸笔手写代码,写错了!

阅读更多📰

相反顺序输出一个整数

笔试编程题  2019年10月14日

起初

编写程序,对输入的一个整数,按相反顺序输出该数。

// ReverseInt.java
import java.util.Scanner;
public class ReverseInt {
	public static void main(String[] args) {
		System.out.println("请输入一个整数:");
		Scanner input = new Scanner(System.in);
		String value = "" + input.nextBigInteger();
		input.close();
		String reversed = "";
		for (int i = value.length() - 1; i >= 0; i--) {
			reversed = reversed + value.charAt(i);
		}
		System.out.println(reversed);
	}
}

当时手写代码,for 循环的控制条件边界写错了,当时写成了 for (int i = value.length(); i > 0; i--) 结果数组越界了。应该是 for (int i = value.length() - 1; i >= 0; i--) 的。

换成 input.nextBigInteger(); 好一点。

阅读更多📰

OCA 自测回顾

Assessment Test  2019年10月13日

OCA 自测题回顾

  1. What is the output of the following code? (Choose all that apply)
    interface HasTail { int getTailLength(); } 
    abstract class Puma implements HasTail { 
        protected int getTailLength() {return 4;} 
    } 
    public class Cougar extends Puma { 
        public static void main(String[] args) { 
            Puma puma = new Puma(); 
            System.out.println(puma.getTailLength()); 
     } 
           
        public int getTailLength(int length) {return 2;} 
    } 
    

    A. 2

    B. 4

    C. The code will not compile because of line 3.

    D. The code will not compile because of line 5.

    E. The code will not compile because of line 7.

    F. The output cannot be determined from the code provided.

阅读更多📰

控制台输入数组

编程题数据输入方式  2019年10月13日

输入数据到整型数组

问题

从控制台标准输入读取键盘输入的数,存放到整型数组里面。数组的长度不确定,这种情况怎么处理?

阅读更多📰

常见排序算法

要掌握基本排序算法的实现  2019年10月12日

常见的排序算法

阅读更多📰

OCA Study Guide Errata

OCA 学习指南的勘误  2019年10月12日

ERRATA

阅读更多📰

EST 基础测试回顾

整理错题,查漏补缺  2019年10月7日

基础测试的情况

测试报告

当时第一次测试结果报告如下:

foundation-test

按照考试的主题(或者说考点)来看的话,Java Basics 正确率 6/7。然后,OO Concepts 过关的,Java Data Types 部分就只对了 3 题,有点危险。基础测试没有涉及到垃圾回收的内容,但是真正考试应该会有的,而且现在工作要求也肯定会问,需要了解的。关于操作符和条件判断结构居然也只有对了 6 个题,看起来真的有点 tricky。接下来的数组、循环结构和构造方法这些考点感觉还过得去的样子。 关于方法的使用居然有点不稳,要搞清楚了,可能需要翻译 Coderanch 的文章加深一下理解。这次没有涉及方法重载的题目,然而关于继承的理解,可能还不够深,要看看编程思想了。instanceof在继承相关主题没有考到,但在操作符题目里出现了,异常处理方面需要加强。最基本的 String, 以及相关的类要烂熟了,至少 API 文档过一遍。最后 Java 8 新的时间日期 API 还没有了解,这一次就新的旧的都看一遍吧,所以今天是要看完错题,找出对应的知识点,考点,然后读 API 文档。

阅读更多📰