Examen 1z0-819 Profesional certificado de Oracle: Desarrollador de Java 11 - Notas de aprobación





A principios de octubre, Oracle facilitó la obtención de la certificación Java: en lugar de dos exámenes, ahora debe realizar uno, mientras que el precio del examen no ha cambiado. Quien esté interesado en el nivel de las tareas y más detalles sobre el examen, pregunto debajo del corte: describiré por qué decidí tomarlo, cómo me preparé, qué preguntas tuve y qué conclusiones hice.



En octubre, vi la noticia de que Oracle está lanzando un nuevo examen, 1z0-819, para reemplazar los antiguos 1z0-815 y 1z0-816. Anteriormente, para convertirse en un Oracle Certified Professional, tenía que aprobar dos exámenes y gastar un total de $ 300. Ahora la cantidad se ha reducido a la mitad. Además, el número de preguntas ha cambiado, si antes en cada examen había 80 preguntas y se asignaron 150 minutos para esto, ahora el examen dura 90 minutos y contiene 50 preguntas que cubren todos los temas de exámenes anteriores. La mayoría de las preguntas pueden tener varias respuestas correctas.



Comencemos con los objetivos que perseguí: dado que tengo una educación en física y yo mismo estudié Java, en mi opinión, esta certificación podría ayudar a estructurar mi conocimiento de Java, y también tener un documento que confirme que puedo ...



¿Cómo registrarse? Regístrese con un socio de Oracle pearsonvue.com, vincule una cuenta de Oracle, elija cómo tomarla, en el centro o desde casa. Si se selecciona la opción desde casa, entonces te seguirán a través de la cámara y el micrófono durante todo el examen, no debe haber nadie en la sala, no puedes hablar con nadie y solo mirar la pantalla, Internet debe ser estable, sin interrupciones, de lo contrario, el resultado se cancela. Elegí alquilar en un centro especializado, por lo que es más tranquilo.



¿Qué materiales pueden ayudar con la preparación? Si tiene alguna experiencia en programación, le recomiendo utilizar la Guía de estudio del programador II Java SE 11 Certified Professional de OCP de Oracle: Examen 1Z0-816 y Examen 1Z0-817 de Scott Selikoff, Jeanne BoyarskyEste libro fue escrito para el examen 1z0-816 y cubre la mayor parte del examen. Estos autores también tienen un libro para prepararse para la primera parte del último examen 1z0-815, pero está diseñado para principiantes absolutos y es francamente aburrido de leer. Además, puede encontrar simulacros de exámenes en Internet para verificar sus conocimientos después de leer el libro.



¿Qué preguntas? Solo 50 preguntas, que tienen 90 minutos, es decir, menos de 2 minutos por pregunta. Los hay difíciles, es decir, a veces necesitas pensar durante más de 2 minutos. En algunas preguntas, son posibles varias respuestas correctas. Puede haber hasta 7 respuestas en total. Es necesario responder correctamente al 68% de las preguntas.



Sobre lo que me gustaría llamar su atención. Hay muchas preguntas sobre streams, lambdas e interfaces funcionales.



Puede obtener este tipo de tarea:



debe encontrar el error en qué línea, si corresponde:



IntStream is = IntStream.of(1, 3, 5);
int x = is.filter(i->i%2 == 0).average(); //1
System.out.println(x);
        
int y = is.filter( i->i%2 != 0 ).sum();//2
System.out.println(y); 

is = IntStream.of(1, 3, 5, 9);
int z = is.filter( i->i%3 != 0 ).count();//3
System.out.println(z);


Las mismas tareas con el uso de recolectores. Qué se mostrará:



class Student {
    public static enum Grade {A, B, C, D, F}
    private String name;
    private Grade grade;
    public Student(String name, Grade grade) {
        this.name = name;
        this.grade = grade;
    }
    public String toString() {
        return name + ":" + grade;
    }
}
class TestClass {
    public static void main(String[] args) {

        var ls = Arrays.asList(new Student("S1", Student.Grade.A),
                new Student("S2", Student.Grade.A),
                new Student("S3", Student.Grade.B),
                new Student("S4", Student.Grade.C),
                new Student("S5", Student.Grade.F));

        var group = ls.stream()
                .filter(student -> student.getGrade() != Student.Grade.F)
                .collect(Collectors.groupingBy(Student::getGrade,
                        Collectors.mapping(Student::getName, Collectors.toList())));
        System.out.println(group);
    }
}


En realidad, estas preguntas están entrelazadas con preguntas sobre colecciones. Por ejemplo, debe responder que el siguiente código se mostrará en la pantalla, si es que se compila:



var collection = new HashSet<>();
collection.add(1);
var list1 = List.of(collection);
collection.add(2);
var list2 = List.copyOf(collection);
System.out.println(list1);
System.out.println(list2);


¿Y cómo cambiará el resultado si en lugar de la primera línea escribimos



var collection = Arrays.asList(1,2,3);


var se puede usar específicamente para confundir al examinador:



class X {
        public void print(List<Integer> lst) {
            System.out.println("X list " + lst);
        }
    }

class Y extends X {
        public void print(List<Integer> lst) {
            System.out.println("Y list " + lst);
        }
    }
public class TestClass {
    public static void main(String[] args) {
        X x = new Y();
        Y y = new Y();
        var list = new ArrayList<>();
        list.add(1);
        x.print(list);
        y.print(list);
    }
 }


Debe especificar qué se mostrará o indicar que el programa no se compilará o se lanzará una excepción en tiempo de ejecución.



Debe comprender lo que sucede durante la herencia.



Supongamos que se da un método en una clase con la siguiente firma:



public List<Integer> getCollection() {
		return new ArrayList<Integer>();
           }


¿Qué métodos a continuación pueden estar en la clase heredada?



public List<? super Integer> getCollection() {
        return new ArrayList<Integer>();
    }
public List<? extends Integer> getCollection() {
        return new ArrayList<Integer>();
    }  
public ArrayList<Integer> getCollection() {
        return new ArrayList<Integer>();
    } 


Hay un par de preguntas sobre interfaces de este tipo:



interface Bird {
     default String fly() {
        return "fly";
    }
}

interface Parrot extends Bird {
     public String fly();
}

public class RainbowParrot implements Parrot {
    public static void main(String[] args) {
        Bird b = new RainbowParrot();
        System.out.println(b.fly());
    }
} 


¿Cómo funcionará el programa en este caso?



Estos temas representan la mayor parte de las preguntas, probablemente más de 25. Los temas de multiproceso, trabajo con archivos, anotaciones, módulos se presentan con solo dos o tres preguntas cada uno. Otros temas como trabajar con jdbc, localización, etc. principalmente en un tema.

Puede encontrar una lista completa de los temas que pueden incluirse en el examen aquí .



Por separado, quiero mencionar, ya que esto fue un descubrimiento para mí, me encontré con dos preguntas completas sobre el uso de la API doPrivileged, nunca antes había encontrado esto en el trabajo. Así que vale la pena trabajar en este tema por separado, puedes verlo aquí .

Una vez más quiero llamar su atención sobre el hecho de que el tiempo es seriamente limitado, a pesar de que me salté dos preguntas sobre el tema doPrivileged, apenas cumplí con el tiempo asignado.



En la solicitud de entrega, puede marcar las preguntas que le parecieron difíciles y volver a ellas al final. Te recomiendo mirar el cronómetro, si la pregunta te lleva más de dos minutos, saltala y, si el tiempo lo permite, vuelve a ella más tarde.



Cuanto preparar



Si no eres profesor de cursos para desarrolladores de Java y te pones a trabajar, te recomendaría reservar un mes para la preparación, dedicando una o dos horas para esto después del trabajo. Pero, por supuesto, todo depende de tu nivel.



¿Qué conclusiones se pueden sacar?



La preparación de exámenes le ayuda a estructurar sus conocimientos y ampliar sus horizontes API. En particular, descubrí un par de aspectos interesantes del trabajo con archivos.



La certificación puede ser útil para quienes trabajan de forma remota con clientes extranjeros: para confirmar su nivel, y también será una ventaja en las entrevistas, al menos le permitirá omitir preguntas sobre Java.



All Articles