Passage de la certification Java2
Ce document reflète mon expérience de la certification et rien de plus.
Votre approche peut être totalement différente.
La certification programmeur Java 2 (310-025) peut se préparer en autoformation,
en utilisant un livre commme celui de Bill Brogden, chez Coriolis.
Le CD d'accompagnement fournit une simulation de tests assez réaliste.
Le livre présente un inventaire complet de ce qu'il est nécessaire de savoir.
On peut même y découvrir des points utiles au quotidien,
pas seulement pour la certification.
Le test réel est un QCM et diffère du livre sur quelques points:
- le code à analyser s'affiche dans une fenêtre qui s'ouvre en pressant un bouton
"Exhibit", l'écran principal présente alors les réponses, mais pas la question.
- le test est de 90 minutes comme avec le CD, amis les questions sont plus
difficiles et le temps très juste. Pour passer correctement, les tests
du livre devraient être faits en 60 ou 70 minutes.
- Le score à atteindre est de 61% contre 71%, la différence ne compensant pas
tout à fait la difficulté. Il se trouve que mon résultat a été de 71%.
- Le score est le nombre de réponses complètes sur les 59 questions.
Dans le cas de réponses multiples, le nombre de choix à cocher est indiqué
et la reponse correcte si les choix (en général 2) sont corrects.
61% correspondent à 36 questions correctes sur les 59.
- Les choix simples restent des ronds et les choix multiples des carrés, une
coche est disponible pour noter les questions sur lesquelles on souhaite
revenir (il m'est resté 2 minutes pour le faire).
Chacun a ses points forts et moins forts.
Ce qui aurait pu me faire échouer :
- les déclarations et controles d'accès sont des sujets simples, et
les question sur le sujet assez tortueuses, faisant intervenir l'ordre
des mots clé (peut-on mettre le type avant les modificateurs ?)
et des configurations particulières (définition de classe dans
une méthode main, beaucoup d'inner classes avec modificateurs variés).
La précédence d'opérateurs intervient, même si dans les vrais programmes
les développeurs Sun multiplient les parenthèses pour éviter toute ambiguité.
- j'avais un peu fait l'impasse sur les classes liées aux flux et aux
fichiers, et il y a plusieurs questions précises sur le sujet.
Faire une impasse n'est pas une bonne idée car les questions
passent par la plupart des sujets
Ce qui m'a permis de réussir
- il est rare d'utiliser au quotidien toutes les possibilités du langage.
L'étude du livre offre un tour d'horizon complet, à valider par
la pratique avec acquisition de quelques automatismes.
- les Threads et verrouillage d'objets sont des sujets difficiles
d'approche. Une fois correctement assimilés, les mécanismes
sont carrés et les questions sur le sujet trouvent des réponses
assez claires, si on retient les possibilités d'accès concurrents
de différents threads sur les objets,
et si on se concentre sur le code utile.
A quoi ça sert ?
Quelques temps après votre certification, vous pourrez recevoir
- Un diplôme
- Un pins
- Un contrat de deux pages vous permettant d'obtenir un logo que vous pourrez utiliser
(si j'ai bien compris et à condition de ne pas le mettre en trop gros
et d'inclure les mentions légales qui vont bien)
- sur vos cartes de visites personnelles
- sur votre papier à en-tete
mais
- PAS sur votre CV
- PAS sur des documents professionnels
Voir plus loin
La certification n'aborde pas du tout les swings,
indispensables pour une interface graphique un tant soit peu élaborée.
Le code sun et la série des O'Reilly sont d'excellents outils pour progresser.
Deux remarques en passant :
- l'usage de parenthèses dans le code est d'autant plus recommandé que le compilateur
s'en sert pour déterminer la séquence d'exécution mais ne génère pas de code
supplémentaire.
- l'usage de variables intermédiaires est un facteur d'optimisation :
pour chaque accès de type a.b.c().d1
suivi de
a.b.c().d2
, une série de déréférencements est requise.
L'usage d'une variable intermédiaire abc = a.b.c()
simplifie la lecture du code et optimise l'exécution car les déréférencements
sont faits une seul fois.
Même en cas d'utilisation unique, qu'une variable intermédiaire soit nommée
ou pas ne change pas grand chose pour la machine virtuelle,
mais facilite la vie du lecteur et du débogueur.
Patrick Larreya, Septembre 2000.