Das Notes Forum

Lotus Notes / Domino Sonstiges => Java und .NET mit Notes/Domino => Thema gestartet von: flaite am 14.01.10 - 17:38:42

Titel: SCJP 1.6 Thread
Beitrag von: flaite am 14.01.10 - 17:38:42
Hi,

mein letztes SCJP (DIE Java Programmier-Zertifizierung) liegt nun 7 Jahre zurück. Zu Java1.3 Zeiten. Deshalb hab ich mir überlegt, die Prüfung nochmal zu machen. Es werden ein paar nicht so praxis-relevante Sachen abgefragt, aber insbesondere in den neuen Java5 Zeugs wie Generics und enums sind mir ein paar Hintergründe klargeworden. Auch natürlich bei Threads, die ich - wie ca. 99% der Java Programmierer - nicht wirklich selbst mit code manage.

Die Prüfung ist insbesondere im Vergleich zu IBM Produkt-Certies (von denen ich einige hab) sehr tricky und mit einer gewissen Liebe zum Thema zusammengestellt.

Poste ein paar gemeine Testfragen. Hoffentlich findet sich jemand der sich an einer Antwort versucht:

Code
interface Complainer {
   byte countRant;
  void complain(); 
}

class HeiniSchwammerl implements Complainer {
   public void complain() {
    <<< code hier >>>
  }

}

Frage: was kann statt <<< code hier >>> eingefügt werden, damit das ohne Fehler kompiliert? (wähle alle, die passen):

a)  countRant ++;
b) countRant += 1;
c) countRant = countRant + 1;
d) count = (byte) (count + 1);
e) keins von den genannten. 


Titel: Re: SCJP 1.6 Thread
Beitrag von: MadMetzger am 14.01.10 - 19:02:12
Meiner Meinung nach müsste es Antwort e sein.

Das Attribut countRant ist implizit static final, also können a-c nicht funktionieren,  da finale Attribute nur einmal "beschreibbar" sind und statische Attribute schon beim Laden der Klasse (richtig?) initialisiert werden. Aufrufe in den Methoden würden also alle ein zweites mal "schreiben" wollen, was eben nicht geht.

Antwort d kann nicht kompilieren, da count nirgendwo deklariert ist.
Titel: Re: SCJP 1.6 Thread
Beitrag von: flaite am 17.01.10 - 02:21:27
Exzelent.
Allerdings bin ich mir nicht sicher, ob das so kompilierbar wäre,

Code
nterface Complainer {
   byte countRant;
  void complain(); 
}

class HeiniSchwammerl implements Complainer {
   public void complain() {
    
  }

}

Probier ich mal aus. Jetzt zu spät.
AFAIK müssen final Variablen explizit (initializer oder konstruktor) initialisiert werden...
Folgen weitere Fragen, auch wenn das zu unserem Privat-Thread wird.
Titel: Re: SCJP 1.6 Thread
Beitrag von: MadMetzger am 17.01.10 - 10:07:26
Vollommen richtig, das Interface kann so nicht kompilieren, da für das final-Attribut eine Initialisierung fehlt. Habe das mal mit Eclipse nachgebaut, wenn du willst, kann ich das Projekt hier einstellen.

Edit: Ich habe mal das Eclipseprojekt als Zip-Archiv angehängt.
Titel: 83%
Beitrag von: flaite am 01.02.10 - 12:40:31
Bestanden. War am Ende genervt. Ich fand die Fragen schon z.T. recht esoterisch und hab mit 83% bestanden. Wollte über 90% aber was solls.
Über die Sektionen wars relativ ausgeglichen verteilt. Am schlechtesten war OO-Concepts (70%), aber fand die Logik der Sun-Fragen in diesem Bereich bis zum Ende ziemlich apart. Nur bei Fundamentals hab ich 100% erreicht.
Insgesamt dauerte die Vorbereitung 5 Wochen. Neben der Arbeit und viele Tage garnicht. Unverzichtbar ist das SCJP Buch von Kathy Sierra und Bert Bates. Als Prep Test ist whizlabs absolut brauchbar. Anders als bei gewissen IBM certis darf man aber nicht erwarten, dass im wirklichen Test die gleichen Fragen wie beim Prep-Tst vorkommen. Die Fragen-Datenbank scheint sehr umfangreich zu sein...
Schlauer geworden bin ich in dem Prozeß für bestimmte Punkte in den Bereichen Threads, Generics und Enums. Ansonsten wars eine reine Wiederholung.

Find den Test für eigentlich ganz sinnvoll, um sich ein wenig tiefer mit einigen Grundlagen der Programmiersprache Java zu beschäftigen. Am Code denke ich immer relativ schnell zu erkennen, ob sich jemand ein wenig auf die Sprache eingelassen hat oder einfach nur sein Glück versucht, ohne zu verstehen zu versuchen, was man da gerade eigentlich tut.
Titel: Re: SCJP 1.6 Thread
Beitrag von: MadMetzger am 01.02.10 - 19:23:56
Gratulation dazu Axel. Was waren denn noch weitere Fragen?
Titel: Re: SCJP 1.6 Thread
Beitrag von: flaite am 02.02.10 - 18:29:18
Danke.
Das war keine Frage, sondern eher eine Aufgabe. Hab die zunächst falsch beantwortet, versteh das aber immer nachher warum. Die Idee war hier ein paar besonders überraschende Fragen zu posten. Aber dazu hatte ich irgendwie dann doch keine Lust mehr, zumal ich die Prüfung schnell hinter mich bringen wollte.
Hab schon 2001 oder 2002 dieselbe Prüfung bestanden. Damals mit 94% oder so. Aber diesmal wars glaub ich auch schwerer und damals hab ich mich 3 Monate zielgerichtet vorbereitet. Hätte gerne über 90% gemacht. War halt nicht drin. Letztlich gehts aber in vielen Fragen um knifflige Probleme, auf die man normal nicht stößt und der Compiler ohnehin anmeckert.

Denke über Microsoft.NET 70-536 nach. Um meine punktuellen Erfahrungen mit .NET Zeugs zu fundieren. Kann eine erstaunliche Befriedigung aus diesem Prüfungszeug ziehen, ohne dass ich ihm zu viel Bedeutung einräume. Andererseits ist das ein 800 Seiten Schmöker mit nicht wirklich viel neuem.