2014. november 7., péntek

Oracle 1Z0-804 vizsga feladatok

Ebben a bejegyzésben összegyűjtöttem néhány feladványt az 1Z0-804 vizsga kérdésekből, amelyek tipikusan jellemzik a feladatokat. A vizsgán 90 feladatot kell megoldani 150 perc alatt, amiből legalább 65%-ot kell teljesíteni! A feladatok egy része a lexikális Java API tudásra épít (pl. milyen konstruktorai vannak a Locale osztálynak) a többi pedig az alábbi példákhoz hasonló mit ír ki program:

1. Enum 
  
public enum Book {
 BEGINNER, INTERMEDIATE;

 static {
  System.out.println("static init block");
 }

 {
  System.out.println("instance initializer");
 }

 Book() {
  System.out.println("constructor");
 }

 public static void main(String... args) {
  System.out.println(Book.BEGINNER);
 }
}

2. Integer
  
public class MyInteger {
 public static void main(String[] args) {
  Integer i1 = 127;
  Integer i2 = 127;
  Integer i3 = 128;
  Integer i4 = 128;
  if (i1 == i2)
   System.out.println("same");
  else
   System.out.println("different");

  if (i3 == i4)
   System.out.println("same");
  else
   System.out.println("different");
 }
}

3. CopyOnWriteArraySet
  
public class MyCopy {
 public static void main(String[] args) {
  Set<String> set = new CopyOnWriteArraySet<String>();
  set.add("2");
  Iterator<String> iter = set.iterator();
  set.add("3");
  while (iter.hasNext()) {
   System.out.print(iter.next() + " ");
  }
 }
}

4. Overload
  
class MyOverLoad {
 private void overload(Object o) {
  System.out.println("Object");
 }

 private void overload(double[] arr) {
  System.out.println("double []");
 }

 private void overload(double arr) {
  System.out.println("double");
 }

 private void overload(int arr) {
  System.out.println("int");
 }

 private void overload() {
  System.out.println("void");
 }

 public static void main(String[] args) {
  new My().overload(null);
 }
}

5. Calendar
  
class MyCalendar {
 public static void main(String[] args) {
  DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.US);
  Calendar c = Calendar.getInstance();
  c.set(Calendar.YEAR, 2012);
  c.set(Calendar.MONTH, 12);
  c.set(Calendar.DAY_OF_MONTH, 1);
  System.out.println(df.format(c.getTime()));
 }
}

6. TreeSet
  
class MyTreeSet {
 public static void main(String[] args) {
  TreeSet<StringBuilder> treeSetNames = new TreeSet<StringBuilder>();
  treeSetNames.add(new StringBuilder("aaa")); 
  treeSetNames.add(new StringBuilder("bbb"));
  treeSetNames.add(new StringBuilder("ccc"));
  treeSetNames.add(new StringBuilder("ddd"));
  Iterator it = treeSetNames.descendingIterator();
  while (it.hasNext())
   System.out.print(it.next() + ":");
 }
}

és a megoldások:

1. Enum
instance initializer
constructor
instance initializer
constructor
static init block
BEGINNER

2. Integer:
same
different

3. CopyOnWriteArraySet:
2

4. Overload:
double []

5. Calendar:
January 1, 2013

6. TreeSet:
java.lang.ClassCastException

2 megjegyzés:

  1. Szia!

    Gondolom Locale osztálynak (Local helyett). Amúgy a felkészítő feladatok szerintem sokkal gonoszabbak, mint maga a vizsga. Ott keresed benne a trükköt, és sokszor nem találod.

    VálaszTörlés
    Válaszok
    1. Nice catch! Javítottam. Ebben lehet igazság, habár a vizsgán 2.5 órán keresztül folyamatosan koncentrálnod kell, ami könnyen elviheti ezt az előnyt.

      Törlés