You are on page 1of 8

Questionnaire dvaluation Java / JEE

1. Utilisation de @Override
Lannotation @Override peut tre utilise sur les mthodes et les constructeurs dans le but
de surcharger le comportement dune super classe.
VRAI
FAUX
2. Quel est le rsultat du code suivant ?
01: public enum StuffSize {
02:
03:
BIG(Country.BR),MEDIUM(Country.DE), SMALL (Country.US);
04:
private final Country value;
05:
06:
enum Country{
07:
08:
US(1),DE (2),BR(3);
09:
10:
private final int code;
11:
12:
Country(int code) {
13:
this.code = code;
14:
}
15:
}
16:
17:
StuffSize(Country value){
18:
this.value = value;
19:
}
20:
21:
private Country getValor(){return this.value;}
22:
23:
public static void main(String[] args) {
24:
if(StuffSize.BIG.getValor()==Country.BR)
25:
System.out.println(StuffSize.BIG.getValor());
26:
}
27: }

US
DE
BR
Exception l'excution
Erreur de Compilation
BIG
SMALLL
3. Appel de mthode
Quel est le rsultat du code suivant ?

01: class Mamu {


02:
public static void main(String[] args) {
03:
mama();
04:
}
05:
06:
public static void mama(int... a) {
07:
System.out.print("Vararg");
08:
}
09:
10:
public static void mama() {
11:
System.out.print("Nothing");
12:
}
13: }

Vararg
Nothing
Erreur durant la compilation
Exception lexcution
4. Je veux importer la valeur de PI
import static java.lang.Math.PI;
Est-ce correct ou pas ?
VRAI
FAUX
5. Cration dune classe sre de collection
tant donnes la classes A, B et C, avec la dclaration suivante qui compile
class A{
}
class B extends A{
}
class C extends B{
}

1)
2)
3)
4)
5)
6)
7)
8)

List<B> list4 = new ArrayList<? super C>();


List<? extends B> list2 = new ArrayList<A>();
List<A> list = new ArrayList<A>();
List<A> list3 = new ArrayList();
List<? super B> list5 = new ArrayList<A>();
List<A> list6 = new ArrayList<C>();
List<?> list7 = new ArrayList<C>();
List<?> list8 = new ArrayList<?>();

6. Boucle for final


1: class Final {

2: public static void main(String ... FINAL) {


3:
for (final int j : new int[]{1, 2})
4:
System.out.println(j+1);
5:
}
6: }

Le code va til compiler ?


VRAI
FAUX
7. Boucle "for" - Vector
Si vous voulez afficher le contenu de la collection suivante, quel type de boucle peut tre
utilis ?
1:
2:
3:
4:
5:

Vector<String> vector = new Vector<String>();


vector.add("a");
vector.add("b");
vector.add("c");
vector.add("d");
1: for (int i = 0; i < vector.length; i++) {
2:
System.out.println(vector.get(i));
3: }
1: for (String string :: vector) {
2:
System.out.println(string);
3: }
1: for (int i = 0; i < vector.toArray().size(); i++) {
2:
String string = (String) vector.toArray()[i];
3:
System.out.println(string);
4: }
1: for (Iterator iter = vector.iterator(); iter.hasNext();) {
2:
String element = (String) iter.next();
3:
System.out.println(element);
4: }
1: for (String string : vector) {
2:
System.out.println(vector);
3: }

8. Code Snippet
Etant donn:
01: public class Boxing {
02:
public static void main(String[] args) {
03:
byte b = 10;
04:
method(b);
05:
}
06:
static void method(int i){
07:
System.out.println("Primitive Type call");
08:
}
09:
static void method(Integer i){
10:
System.out.println("Wrapper Type Call");
11:
}
12: }

Quel est la sortie du programme ?


Erreur de compilation
Exception lexcution
Primitive Type call
Wrapper Type Call
9. Gnriques dans les assignements
Laquelle des propositions suivantes est correctes ?
Integer [] arr = new Integer [];
Number [] arr = new Integer [3];
List<Integer> myList = new ArrayList<Integer>();
List<Number> myList = new ArrayList<Integer>();

Toutes.
10. Casting des types dans les collections gnriques.
Le code suivant va til compiler ?
List<Object> a= new LinkedList<String>();
VRAI
FAUX
11. Evaluation de sortie de mthode:
Quelle sera la sortie produite par le code suivant ?
01: public class MyClass {
02:
public static void main(String [] args) {
03:
Integer i1 = 10;
04:
Integer i2 = 10;
05:
Integer i3 = 1000;
06:
Integer i4 = 1000;
07:
System.out.println(i1 == i2);
08:
System.out.println(i3 != i4);
09:
}
10: }

false
false
false
true
true
false
true
true
Erreur durant la compilation

Une exception est envoye durant lexcution


12. Utilisation des imports static
Quel est lutilisation dun import static dans une classe?
Permet d'accder d'un chmaps, variable bloc pour l'utilser dans la classe courant
13. Exemple varargs
Quel est le rsultat aprs compilation et excution du code suivant ?
01: public class TestVarArgs {
02:
static void writeSmt(byte b) {
03:
System.out.print("byte");
04:
}
05:
static void writeSmt(int... b) {
06:
System.out.print("int");
07:
}
08:
public static void main(String [] args) {
09:
writeSmt(1);
10:
writeSmt();
11:
}
12: }

Erreur de compilation la ligne 9


Erreur de compilation la ligne 10
La sortie est: intint
La sortie est: byteint
La sortie est: intbyte
14. Enumrations
Etant donn le code suivant:
1:
2:
3:
4:
5:
6:
7:
8:
9:

class World {
public enum Continent {
ASIA, AFRICA, AMERICA, ANTARCATICA, AUSTRALIA, EUROPE
}
}
public class ContinentTest {
// insrer la ligne ici
}

Quelle ligne parmi les lignes suivantes, peut tre insre la ligne:8 pour que le programme
compile et fonctionne correctement ?
Continent c = ASIA;
Continent c = Continent.ASIA;
World.Continent c = ASIA;
World.Continent c = World.Continent.ASIA;

Aucune

15. ElementType
Les annotations de Package doivent tre dans un fichier package-info.java
VRAI
FAUX
16. Mots rservs
Which of the following keywords are added since Java 5?
assert
strictfp
enum
sync
17. Rgles sur les annotations
Parmi ces annotations, lesquelles sont correctes ?
1:
2:
3:
4:
5:
6:
1:
2:
3:
4:
5:
6:
1:
2:
3:
4:
1:
2:
3:
1:
2:
3:

@interface Ping {
Pong value();
}
@interface Pong {
Ping value();
}
@interface Ping {
Ping value();
}
@interface Pong {
Pong value();
}
@interface PingPong {
Ping value1();
Pong value2();
}
@interface PingPong {
Ping[] values();
}
@interface PingPong {
Pong[][] values();
}

18. Boxing and widening


Etant donn:
Short shorty = 200;
Quel est le rsultat?
La primitive est boxe.

La compilation choue: perte de prcision possible.


La compilation va chouer: CANNOT widen and then box (An int can't become a
Short)
19. Le code va til compiler ?
Nous avons les variables i et z. Elles sont dclares, initialises et correctement construites en
tableau dInteger.
1:
2: for(Integer entero:i){
3:
for(int j=0; j<z.length(); j++){
4:
System.out.println(entero*z[j].intValue());
5:
}
6: }

Le code ne va pas compiler: classic for inside enhanced loop.


Le code va compiler.
Le code ne va pas compiler: bad array use.
20. Service Locator - intrts
Quels sont les principaux intrts de lutilisation propre du pattern Service Locator?
Rend la complexit abstraite
Facilite lajout de nouveaux composants mtiers
Amliore les performances rseaux
Amliore les performances client par le cache
Introduit la couche contrleur tiers mtier (Business-Tier Controller)
Fournit aux clients un accs uniforme aux services
21. Tiers de communication
Comment le tiers de communication aide til en architecture 3 tiers ?
Les communications entre les couches disparaissent
Cela aide grer les objets
Cela aide appeler nimporte quelle couche depuis chacun des points
Les interactions deviennent vraiment difficiles
Linteraction est fixe et peut apparatre entre les couches
La communication est facilite et aident la sparation des couches
22. Solution un problme
Vous travaillez sur un site Web et on vous demande dajouter une fonction de recherche et
une nouvelle fonctionnalit chacune des pages
Quel pattern utiliseriez-vous dans cette situation ?
Patterne service Locator

Composite View
23. Business Delegate intrts
Quels sont les principaux intrts de lutilisation propre du pattern Business Delegate ?
Rduit le couplage, facilite ladministration
Traduit les exceptions mtier des services
Expose plus facilement et uniformise linterface du tiers mtier
Implmente la rcupration des erreurs et la synchronisation des Threads
Fournit une plus grande flexibilit dans requtage
Impacte les performances
Cache les aspects distants
Introduit une nouvelle couche
24. Dfinition sur les Patterns
Cocher les phrases correctes concernant le pattern View Helper.
Un helper est responsable daider une vue ou un contrle achever son excution.
Un helper a une responsabilit simple.
Un helper est parfois dsign comme un bean de valeur.
Un helper peut reprsenter un objet de command (Command object).