Codingame-Angular 2, Hibernate, Java, Spring Framework - Senior-670320
Codingame-Angular 2, Hibernate, Java, Spring Framework - Senior-670320
Campagne : Angular 2+, Hibernate, Java, Spring Framework - Senior Domaine(s) : Angular 2+, Hibernate, Java, Spring Framework
MEILLEUR QUE
RANG 1/1
Batching 0 / 40pts
Entity 20 / 60pts
Persistence 40 / 60pts
1 / 131
Islem Ghouma ([email protected])
Java 1 160 / 1 910pts (61%) MEILLEUR QUE 42% des professionnels
Spring Framework
493 / 920pts (54%) MEILLEUR QUE 42% des professionnels
Other 40 / 80pts
2 / 131
Islem Ghouma ([email protected])
Question 1: [Core] Détection de bean
Spring Framework 00:23 / 00:45 20 / 20 pts
Question
Vous souhaitez que la classe suivante soit détectée par un scan Spring et enregistrée en tant que bean.
Quelle annotation utiliseriez-vous ?
Réponse
Component
Bean
Scannable
Register
Résultat
Réponse correcte
Connaissance du langage +20pts
3 / 131
Islem Ghouma ([email protected])
Question 2: [Data] Requêtes personnalisées
Spring Framework 00:10 / 00:45 40 / 40 pts
Question
Quelle est l'annotation Spring utilisée pour ajouter une méthode associée à une requête SQL
personnalisée vers un repository JPA ( XXXXXX dans le code ci-dessous) ?
Réponse
query
sql
autosql
select
Résultat
Réponse correcte
Connaissance du langage +40pts
4 / 131
Islem Ghouma ([email protected])
Question 3: [Data] @ManyToOne(mappedBy = "user")
Spring Framework 00:53 / 01:30 20 / 20 pts
Question
Examinez la relation entre les deux entités ci-dessous :
@Entity
public class User {
@XXX
private Address address;
@Entity
public class Address {
@ManyToOne
private User user
Quelle annotation devrait remplacer @XXX pour que la relation soit bidirectionnelle ?
Réponse
@OneToMany(mappedBy = "user")
@OneToMany(useParentId = true)
@OneToMany(mappingRelationshipOwner = Address.class)
@OneToMany(mappingRelationshipOwner = User.class)
5 / 131
Islem Ghouma ([email protected])
Résultat
Réponse correcte
Spring Data +20pts
Question
Quel est le rôle de la classe ci-dessous dans une application web Spring ?
@ControllerAdvice
public class ExceptionAdvice {
@ExceptionHandler({UserNotFoundException.class})
public final ResponseEntity<String> handleException(UserNotFoundException ex, WebRequest
request) {
return new ResponseEntity<>(null, new HttpHeaders(), HttpStatus.NOT_FOUND);
}
}
6 / 131
Islem Ghouma ([email protected])
Réponse
Résultat
Réponse incorrecte
Spring Web +20pts
7 / 131
Islem Ghouma ([email protected])
Question 5: [Data] find by Id
Spring Framework 01:00 / 01:00 1x (4 sec) 20 / 20 pts
Question
On considère une entitée User et l'interface UserRepository associée, héritée de CrudRepository
, qui permet son accès depuis la base.
Quelle méthode devriez-vous définir pour permettre de récupérer un objet User à partir de son id ?
Réponse
findById
Résultat
Réponse correcte
Connaissance du langage +20pts
Réponse(s) correcte(s)
.*findUserById.*
.*getUserById.*
.*readUserById.*
.*findById.*
8 / 131
Islem Ghouma ([email protected])
Question 6: [Core] Singleton par défaut
Spring Framework 00:30 / 00:30 1x (9 sec) 20 / 20 pts
Question
Par défaut, combien d'instances d'un bean Spring trouveriez-vous dans le contexte d'application ?
Réponse
Résultat
Réponse correcte
Spring Core +20pts
9 / 131
Islem Ghouma ([email protected])
Question 7: [Rest] RestController
Spring Framework 00:06 / 00:30 20 / 20 pts
Question
Comment déclare-t-on des endpoints REST dans Spring ?
Réponse
@RestEndpoint
@RestController
@Rest
@REST
Résultat
Réponse correcte
Connaissance du langage +20pts
10 / 131
Islem Ghouma ([email protected])
Question 8: [Web] @RequestMapping
Spring Framework 00:48 / 01:00 20 / 20 pts
Question
Quelle annotation doit être ajoutée à la place de @XXX dans la classe ci-dessous pour exposer un
endpoint GET à /api/widget ?
@Controller
@XXX
public class WidgetController {
@GetMapping(produces = "application/json")
public @ResponseBody Collection<Widget> getAllWidgets() {
return findAll()
}
Réponse
@RequestMapping("api/widget")
@ApiEndpoint("widget")
@GetMapping("api/widget")
@RestEndpoint("api/widget")
Résultat
Réponse correcte
Spring Web +20pts
11 / 131
Islem Ghouma ([email protected])
Question 9: [Core] Dépendance circulaire
Spring Framework 01:14 / 01:45 20 / 20 pts
Question
Quelle exception serait causée par le démarrage d'une application Spring qui contient les définitions de
classe suivantes ?
@Component
class AccessControlService {
@Autowired
public AccessControlService(RoleService roleService) {
this.roleService = roleService;
}
}
@Component
class RoleService {
@Autowired
public RoleService(AccessControlService accessControlService) {
this.accessControlService = accessControlService;
}
}
12 / 131
Islem Ghouma ([email protected])
Réponse
Résultat
Réponse correcte
Spring Core +20pts
13 / 131
Islem Ghouma ([email protected])
Question 10: [Core] Injection
Spring Framework 00:38 / 00:45 20 / 20 pts
Question
Quelle annotation peut-on utiliser pour injecter un bean Spring ?
Réponse
@Autowired
@PostConstruct
@Bean
@Component
@InjectBean
Résultat
Réponse correcte
Connaissance du langage +20pts
14 / 131
Islem Ghouma ([email protected])
Question 11: [Web] Cycle de vie des requêtes
Spring Framework 00:30 / 00:30 20 / 20 pts
Question
Lorsqu'un objet requête quitte le client, son premier arrêt lorsqu'il entre dans une application Spring est :
Réponse
ViewResolver
DispatcherServlet
Résultat
Réponse correcte
Spring Web +20pts
15 / 131
Islem Ghouma ([email protected])
Question 12: [Core] Order
Spring Framework 01:00 / 01:00 3x (23 sec) 40 / 40 pts
Question
Vous avez un certain nombre de bean injectés (autowired) dans une List d'objets, sans que cette liste
soit explicitement déclarée. Vous souhaitez définir leurs positions respectives dans cette liste, c-à-d
lequel est premier, lequel est second, etc.
Réponse
@Position
@Number
@Sort
@Order
Résultat
Réponse correcte
Connaissance du langage +40pts
16 / 131
Islem Ghouma ([email protected])
Question 13: [Boot] Exécution d'un projet
Spring Framework 00:45 / 00:45 1x (12 sec) 0 / 20 pts
Question
Pour exécuter un projet Spring Boot à partir de la ligne de commande, nous pouvons utiliser la
commande mvnw , comme indiqué ci-dessous :
Réponse
Résultat
Réponse incorrecte
Spring Boot +20pts
Réponse(s) correcte(s)
run
(?i).*run.*
17 / 131
Islem Ghouma ([email protected])
Question 14: [Security] PreFilter, PostFilter
Spring Framework 00:44 / 00:45 0 / 40 pts
Question
@PreFilter et @PostFilter s'appliquent à ...
Réponse
Résultat
Réponse incorrecte
Connaissance du langage +40pts
18 / 131
Islem Ghouma ([email protected])
Question 15: [Security] OAuth2
Spring Framework 00:40 / 00:40 1x (15 sec) 0 / 40 pts
Question
Quelle annotation de Spring Boot permet d'activer le SSO (Single Sign On) avec un provider OAuth2
déclaré au niveau de propriétés externes ?
Réponse
@OAuth2ClientAutoConfiguration
@EnableOAuth2Client
@OAuth2Client
@EnableSso
Résultat
Réponse incorrecte
Connaissance du langage +40pts
19 / 131
Islem Ghouma ([email protected])
Question 16: [Core] Meilleure méthode d'injection
Spring Framework 01:15 / 01:15 2x (8 sec) 40 / 40 pts
Question
Observez les deux façons d'injecter un service dans un bean :
Le résultat est le même pour les deux codes. Mais, y en a-t-il un qui est préférable à l'autre ?
20 / 131
Islem Ghouma ([email protected])
Réponse
Non, aucun des deux ne convient, l'injection par réflexion est la meilleure
façon de procéder
Résultat
Réponse correcte
Connaissance du langage +40pts
21 / 131
Islem Ghouma ([email protected])
Question 17: [AOP] Pointcut
Spring Framework 00:47 / 01:00 0 / 40 pts
Question
Quelle méthodes vont être interceptées par ce pointcut ?
Réponse
Résultat
Réponse incorrecte
Connaissance du langage +40pts
22 / 131
Islem Ghouma ([email protected])
Question 18: [Security] @Secured
Spring Framework 00:40 / 00:40 0 / 40 pts
Question
Quelle annotation est équivalente à @Secured de Spring mais provient d'un package javax standard et
permet l'utilisation du Spring Expression Language (SpEL) ?
Réponse
@PreAuthorize
@PostAuthorize
@PreFilter
@PostFilter
Résultat
Réponse incorrecte
Connaissance du langage +40pts
23 / 131
Islem Ghouma ([email protected])
Question 19: [Cloud] Définition serverless
Spring Framework 01:30 / 01:30 1x (9 sec) 0 / 40 pts
Question
Spring Function nous permet de définir une fonction et de l'exécuter sur les plateformes serverless les
plus courantes comme AWS Lambda, Apache OpenWhirsk, Azure, etc.
Pour définir une telle fonction, quelle annotation devons-nous utiliser pour remplacer XXX dans
l'exemple de code suivant ?
@SpringBootApplication
public class FunctionServerless {
@Bean
public Function<String, String> lowercase() {
return value -> value.toLowerCase();
}
}
Réponse
FunctionConfiguration
Résultat
Réponse incorrecte
Other +40pts
24 / 131
Islem Ghouma ([email protected])
Réponse(s) correcte(s)
FunctionServerless
(?i).*FunctionServerless.*
Question
Quel point de terminaison (endpoint) de Spring Boot permet l'affichage de statistiques concernant
l'application actuelle, comme l'utilisation de la mémoire, le nombre de threads en cours d'exécution, et
le temps de réponse des méthodes REST ?
Réponse
/health
/metrics
/trace
Il n'y a pas de endpoint unique qui puisse afficher toutes ces informations
/statistics
Résultat
Réponse correcte
Spring Boot +20pts
25 / 131
Islem Ghouma ([email protected])
Question 21: [Core] Unicité d'un bean
Spring Framework 00:40 / 01:00 0 / 40 pts
Question
Que se passe-t-il quand on demande à une BeanFactory de fournir une instance de bean pour lequel
il existe de multiples candidats, alors qu'un seul bean candidat était attendu ?
Réponse
Résultat
Réponse incorrecte
Connaissance du langage +40pts
26 / 131
Islem Ghouma ([email protected])
Question 22: [Data] Types de repos
Spring Framework 00:41 / 00:45 40 / 40 pts
Question
Vous créez un répo JPA représentant des objets Employee persistés en base de données. Vous
souhaitez pouvoir appeler des méthodes fournies par Spring "out-of-the-box" pour créer, mettre à jour,
effacer et lire ces objets et rien de plus.
Réponse
Repository
CrudRepository
PagingAndSortingRepository
SimpleRepository
Résultat
Réponse correcte
Connaissance du langage +40pts
27 / 131
Islem Ghouma ([email protected])
Question 23: [Security] @EnableWebSecurity
Spring Framework 00:46 / 01:00 40 / 40 pts
Question
Quelle annotation Spring doit être ajoutée à la classe ci-dessous (en remplaçant // XXX ) pour activer la
configuration de sécurité web spécifiée ?
@Configuration
// XXX
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {
Réponse
@EnableWebSecurity
Résultat
Réponse correcte
Spring Security +40pts
Réponse(s) correcte(s)
@EnableWebSecurity
(?).*@EnableWebSecurity.*
28 / 131
Islem Ghouma ([email protected])
Question 24: [Core] Lazy
Spring Framework 00:40 / 00:40 20 / 40 pts
Question
Un bean est annoté avec @Lazy . Quand est-il initialisé ?
Réponse
Résultat
Réponse partiellement correcte
Connaissance du langage +20/40pts
29 / 131
Islem Ghouma ([email protected])
Question 25: [Jackson] @JsonIgnore
Spring Framework 01:30 / 01:30 40 / 40 pts
Question
Considérez la classe suivante qui doit être utilisée comme type de retour d'un point de terminaison REST
dans une application Spring Boot :
@Configuration
public class JsonConfig {
@Bean
public ObjectMapper configureJackson() {
ObjectMapper mapper = new ObjectMapper();
return mapper
}
}
Supposons que le développeur souhaite empêcher les champs nuls de AccessLogData d'être
sérialisés (sans affecter la sérialisation des autres classes). Que faire ?
30 / 131
Islem Ghouma ([email protected])
Réponse
Ajouter mapper.setSerializationInclusion(Include.NON_NULL)
dans JsonConfig.configureJackson()
Résultat
Réponse correcte
Other +40pts
31 / 131
Islem Ghouma ([email protected])
Question 26: [Core] Injection de dépendances
Spring Framework 00:30 / 00:30 0 / 20 pts
Question
Quels sont les moyens possibles de réaliser l'injection de dépendances (dependency injection) à l'aide de
Spring ?
Réponse
Injection de constructeur
Injection de setter
Injection de bean
Injection d'interface
Résultat
Réponse incorrecte
Spring Core +20pts
32 / 131
Islem Ghouma ([email protected])
Question 27: [Security] Authentification
Spring Framework 00:45 / 00:45 20 / 40 pts
Question
Quelles approches permettent d'accéder à l'utilisateur actuellement connecté dans une méthode de
contrôleur ? Sélectionnez toutes les bonnes réponses.
Réponse
Appeler SecurityContextHolder.getContext().
getAuthentication()
Résultat
Réponse partiellement correcte
Spring Security +20/40pts
33 / 131
Islem Ghouma ([email protected])
Question 28: [Core] Bean conditionnel
Spring Framework 01:30 / 01:30 1x (26 sec) 0 / 40 pts
Question
On considère les deux classes suivantes.
Vous souhaitez que le bean ModelProcessor soit créé seulement si la variable d'environnement
MODEL existe.
Réponse
34 / 131
Islem Ghouma ([email protected])
Résultat
Réponse incorrecte
Connaissance du langage +40pts
Réponse(s) correcte(s)
@Conditional(ModelExistsCondition.class)
Conditional(ModelExistsCondition.class)
@Conditional(ModelExistsCondition)
Conditional(ModelExistsCondition)
35 / 131
Islem Ghouma ([email protected])
Question 29: [Web] STOMP
Spring Framework 00:50 / 00:50 2x (20 sec) 0 / 20 pts
Question
Quel est le nom du protocole, basé sur du texte, utilisé par Spring pour envoyer des messages par
Websockets ?
Réponse
tcp
Résultat
Réponse incorrecte
Connaissance du langage +20pts
Réponse(s) correcte(s)
STOMP
Streaming Text Oriented Messaging Protocol
36 / 131
Islem Ghouma ([email protected])
Question 30: [Data] Avantages de HQL
Spring Framework 00:45 / 00:45 13 / 20 pts
Question
Quels sont les avantages de l'utilisation du langage de requête Hibernate (HQL) par rapport au langage
de requête natif dans un référentiel Spring Data ?
Réponse
Des requêtes plus courtes avec l'option d'omettre des déclarations comme
SELECT * et la partie ON des déclarations de jointure
Résultat
Réponse partiellement correcte
Spring Data +13/20pts
37 / 131
Islem Ghouma ([email protected])
Question 31: [Web] bindingResult.hasErrors()
Spring Framework 01:46 / 02:00 0 / 20 pts
Question
Considérez la classe Java suivante qui utilise les annotations de validation Java :
class Address {
@NotNull
private String line1;
// ...
}
@Controller
public class AddressController {
@PostMapping("/")
public ResponseEntity<String> addNewAddress(@Valid Address address, BindingResult bindingResult)
{
Qu'est-ce qui doit remplacer /* XXX */ dans AddressController pour s'assurer qu'il retourne un
message bad request si le champ line1 de Address est nul ?
38 / 131
Islem Ghouma ([email protected])
Réponse
bindingResult.hasErrors()
!bindingResult.isValid()
address.hasErrors()
!address.isValid()
Résultat
Réponse incorrecte
Spring Web +20pts
39 / 131
Islem Ghouma ([email protected])
Question 32: Opération sur des entiers
Java 00:29 / 00:30 20 / 20 pts
Question
int i1 = 5;
int i2 = 2;
int i3 = i1 / i2;
Réponse
2.5
NaN
Résultat
Réponse correcte
Connaissance du langage +20pts
40 / 131
Islem Ghouma ([email protected])
Question 33: Trier une liste de chaînes de caractères
Java 00:35 / 00:35 1x (14 sec) 0 / 20 pts
Question
Comment trier une liste de chaînes de caractères ?
Réponse
list.sort();
Collection.sort(list);
CollectionUtil.sort(list);
Collections.sort(list);
Résultat
Réponse incorrecte
Connaissance du langage +20pts
41 / 131
Islem Ghouma ([email protected])
Question 34: Singleton
Java 00:20 / 00:20 20 / 20 pts
Question
Quelle signature de méthode est généralement utilisée pour obtenir un singleton ?
Réponse
getSingleton()
instance()
getInstance()
Résultat
Réponse correcte
Connaissance du langage +20pts
42 / 131
Islem Ghouma ([email protected])
Question 35: Héritage
Java 00:30 / 01:00 20 / 20 pts
Question
Parmi ces deux propositions, laquelle préférez-vous ?
Proposition #1 :
interface CapableDeVoler {
void vole();
}
abstract class Avion implements CapableDeVoler {}
abstract class Oiseau implements CapableDeVoler {}
Proposition #2 :
Réponse
La proposition #1
La proposition #2
Résultat
Réponse correcte
Modélisation +20pts
43 / 131
Islem Ghouma ([email protected])
Question 36: Classe « friendly »
Java 00:20 / 00:20 20 / 20 pts
Question
Déclarer une classe sans niveau d'accès explicite est en général conseillé.
Réponse
Vrai
Faux
Résultat
Réponse correcte
Modélisation +20pts
44 / 131
Islem Ghouma ([email protected])
Question 37: java.lang.String.lines()
Java 00:50 / 00:50 1x (25 sec) 20 / 20 pts
Question
Quelle méthode de java.lang.String utiliseriez-vous pour découper la chaîne ci-dessous en tableau
ou collection de chaînes de caractère, le découpage étant fait vis-à-vis du caractère de saut de ligne ?
Réponse
split
Résultat
Réponse correcte
Connaissance du langage +20pts
Réponse(s) correcte(s)
lines()
split()
.*lines.*
.*split.*
45 / 131
Islem Ghouma ([email protected])
Question 38: Constante
Java 00:25 / 00:25 20 / 20 pts
Question
Quelle déclaration est une constante valide en Java ?
Réponse
define("MAXSIZE", 100);
Résultat
Réponse correcte
Connaissance du langage +20pts
46 / 131
Islem Ghouma ([email protected])
Question 39: Classe Object
Java 00:20 / 00:20 20 / 20 pts
Question
public class A {}
Réponse
Object
Root
Résultat
Réponse correcte
Connaissance du langage +20pts
47 / 131
Islem Ghouma ([email protected])
Question 40: Méthode run() et thread
Java 00:09 / 00:20 20 / 20 pts
Question
Quelle méthode est appelée lorsqu'un thread est exécuté ?
Réponse
do
run
exec
execute
play
Résultat
Réponse correcte
Connaissance du langage +20pts
48 / 131
Islem Ghouma ([email protected])
Question 41: Visibilité des attributs privés
Java 00:20 / 00:20 20 / 20 pts
Question
Un attribut privé est visible depuis les sous-classes.
Réponse
Vrai
Faux
Résultat
Réponse correcte
Connaissance du langage +20pts
49 / 131
Islem Ghouma ([email protected])
Question 42: Méthode finale
Java 00:20 / 00:20 1x (3 sec) 20 / 20 pts
Question
Une méthode déclarée finale est une méthode qui...
Réponse
Résultat
Réponse correcte
Connaissance du langage +20pts
50 / 131
Islem Ghouma ([email protected])
Question 43: Utilisation des exceptions
Java 00:30 / 00:30 20 / 20 pts
Question
Vous réalisez une bibliothèque en Java. Parmi ces options, laquelle privilégiez-vous pour traiter un
comportement inattendu ?
Réponse
System.exit(-1)
return false
Résultat
Réponse correcte
Modélisation +20pts
51 / 131
Islem Ghouma ([email protected])
Question 44: Méthodes asynchrones
Java 00:45 / 00:45 40 / 40 pts
Question
Quelle classe représente le résultat incomplet d'un appel de méthode asynchrone en Java ?
Réponse
java.util.concurrent.Task<T>
java.util.concurrent.CompletableFuture<T>
java.util.concurrent.Delayed<T>
java.util.concurrent.Phaser<T>
Résultat
Réponse correcte
Connaissance du langage +40pts
52 / 131
Islem Ghouma ([email protected])
Question 45: java.util.regex.Pattern
Java 00:18 / 00:45 0 / 20 pts
Question
En Java, quelle classe permet de tester la validité d'une chaîne de caractères vis-à-vis d'une expression
régulière telle que celle-ci :
Réponse
java.util.regex.Pattern
java.util.regex.Regex
java.util.regex.Match
java.util.regex.RegExp
Résultat
Réponse incorrecte
Connaissance du langage +20pts
53 / 131
Islem Ghouma ([email protected])
Question 46: Optimisation avec table de hachage
Java 00:56 / 02:30 0 / 40 pts
Question
Parmi les options suivantes, quelle classe utiliseriez-vous si vous deviez reprendre
GestionUtilisateurs ?
Réponse
Stack
Vector
ArrayList
LinkedList
HashMap
HashSet
54 / 131
Islem Ghouma ([email protected])
Résultat
Réponse incorrecte
Connaissance du langage +40pts
Question
Partout où un objet de type T est attendu, on doit pouvoir passer un objet de type U, avec U héritant de
T.
Réponse
Vrai
Faux
Résultat
Réponse correcte
Modélisation +40pts
55 / 131
Islem Ghouma ([email protected])
Question 48: Méthodes par défaut d'interface
Java 00:45 / 00:45 1x (8 sec) 40 / 40 pts
Question
Quelle est la façon correcte de définir une interface avec une implémentation de méhode concrète ?
Réponse
56 / 131
Islem Ghouma ([email protected])
Résultat
Réponse correcte
Connaissance du langage +40pts
Question
Sélectionnez le code ci-contre qui permet à la classe ci-dessous de compiler sans erreur :
57 / 131
Islem Ghouma ([email protected])
Réponse
@Repeatable(Messages.class)
public @interface Message {
public String message();
}
et
@Repeatable
public @interface Message {
public String message();
}
@Repeatable(Messages.class)
public @interface Message {
public String message();
}
et
58 / 131
Islem Ghouma ([email protected])
@Repeatable(Messages.class)
public attribute Message {
public String message();
}
et
Résultat
Réponse incorrecte
Connaissance du langage +40pts
59 / 131
Islem Ghouma ([email protected])
Question 50: Méthodes abstraites dans les interfaces
fonctionnelles
Java 00:19 / 00:30 20 / 20 pts
Question
Combien de méthodes abstraites sont à définir dans une interface fonctionnelle ?
Réponse
Résultat
Réponse correcte
Connaissance du langage +20pts
60 / 131
Islem Ghouma ([email protected])
Question 51: Garbage collector
Java 00:20 / 00:20 0 / 40 pts
Question
Le garbage collector garanti qu'il y a suffisamment de mémoire pour exécuter un programme Java.
Réponse
Vrai
Faux
Résultat
Réponse incorrecte
Connaissance du langage +40pts
61 / 131
Islem Ghouma ([email protected])
Question 52: Anticiper le résultat d'un code
Java 03:00 / 03:00 0 / 40 pts
Question
Considérer le code suivant :
public Shape() {
this.surface = computeSurface();
}
@Override
protected int computeSurface() {
return size * size;
}
}
62 / 131
Islem Ghouma ([email protected])
Réponse
10
Valeur indéterminée
Résultat
Réponse incorrecte
Connaissance du langage +40pts
63 / 131
Islem Ghouma ([email protected])
Question 53: Copie superficielle vs copie profonde
Java 02:00 / 02:00 2x (29 sec) 0 / 40 pts
Question
Considérer le code suivant :
players1.add(p1);
players1.add(p2);
players2.get(0).setWorldRank(5);
Une liste de joueurs a été créée, ainsi qu'une copie de cette liste. Quel type de méthode de copie a été
utilisée ?
Réponse
64 / 131
Islem Ghouma ([email protected])
Résultat
Réponse incorrecte
Connaissance du langage +40pts
Question
Que devez-vous utiliser pour exécuter un code une seule fois, au moment où la classe est chargée ?
Réponse
Un bloc statique
Un bloc d'instance
Un constructeur
Une méthode
Résultat
Réponse correcte
Connaissance du langage +20pts
65 / 131
Islem Ghouma ([email protected])
Question 55: Accès d'une méthode synchronisée par deux
threads
Java 00:40 / 00:40 40 / 40 pts
Question
Que se passe-t-il si une méthode synchronisée est appelée simultanément par deux threads sur des
instances d'objet différentes ?
Réponse
Résultat
Réponse correcte
Connaissance du langage +40pts
66 / 131
Islem Ghouma ([email protected])
Question 56: Opérateur unitaire (i++)
Java 00:23 / 00:25 40 / 40 pts
Question
Réponse
0
Résultat
Réponse correcte
Connaissance du langage +40pts
Réponse(s) correcte(s)
0
Question
Quel code ci-contre utilise une référence de méthode de manière correcte ?
67 / 131
Islem Ghouma ([email protected])
Réponse
68 / 131
Islem Ghouma ([email protected])
Résultat
Réponse correcte
Connaissance du langage +40pts
Question
Quelle classe peut être utilisée pour stocker des valeurs spécifiques au thread ?
Réponse
runnable
Résultat
Réponse incorrecte
Connaissance du langage +40pts
Réponse(s) correcte(s)
ThreadLocal
(?).*threadlocal.*
69 / 131
Islem Ghouma ([email protected])
Question 59: Méthodes par défaut
Java 00:20 / 00:30 20 / 20 pts
Question
En Java 8, comment s'appelle une méthode qui est définie avec une implémentation dans une interface ?
Réponse
Résultat
Réponse correcte
Connaissance du langage +20pts
70 / 131
Islem Ghouma ([email protected])
Question 60: Client HTTP2 (java.net.http.*)
Java 00:40 / 00:40 1x (8 sec) 0 / 40 pts
Question
In Java 11+, quelle API est la plus appropriée pour faire des appels HTTP ?
Réponse
java.net.HttpURLConnection
Résultat
Réponse incorrecte
Connaissance du langage +40pts
71 / 131
Islem Ghouma ([email protected])
Question 61: Taille d'une ArrayList
Java 00:30 / 00:30 0 / 40 pts
Question
Réponse
Résultat
Réponse incorrecte
Connaissance du langage +40pts
72 / 131
Islem Ghouma ([email protected])
Question 62: Fonction Predicate
Java 00:50 / 00:50 40 / 40 pts
Question
En Java 8, quelle interface par défaut peut être utilisée comme une fonction à un argument qui retourne
un booléen ?
Réponse
Optional
Predicate
Functions
Comparator
Résultat
Réponse correcte
Connaissance du langage +40pts
73 / 131
Islem Ghouma ([email protected])
Question 63: Création d'une chaîne de caractères
Java 01:00 / 01:00 1x (0 sec) 0 / 40 pts
Question
Voici deux manières de créer une chaîne de caractères : String s = "Test" String s = new
String("Test")
Quelle affirmation est correcte concernant les différences entre ces deux méthodes ?
Réponse
Résultat
Réponse incorrecte
Connaissance du langage +40pts
74 / 131
Islem Ghouma ([email protected])
Question 64: Les interfaces
Java 00:14 / 00:20 40 / 40 pts
Question
En Java 8, les interfaces peuvent contenir des méthodes implémentées.
Réponse
Vrai
Faux
Résultat
Réponse correcte
Connaissance du langage +40pts
75 / 131
Islem Ghouma ([email protected])
Question 65: Annotation @FunctionalInterface
Java 00:14 / 00:30 20 / 20 pts
Question
Quelle annotation peut être utilisée pour s'assurer qu'une interface est fonctionnelle ?
Réponse
@Functional
@lambda
@FunctionalInterface
@abstract
Résultat
Réponse correcte
Connaissance du langage +20pts
76 / 131
Islem Ghouma ([email protected])
Question 66: Interface vs. implementation
Java 00:30 / 00:30 40 / 40 pts
Question
Parmi ces déclarations de méthodes, laquelle est à privilégier ?
Réponse
Résultat
Réponse correcte
Modélisation +40pts
77 / 131
Islem Ghouma ([email protected])
Question 67: Héritage multiple d'interfaces
Java 00:23 / 00:30 40 / 40 pts
Question
public interface A extends B, C, D {}
Réponse
Vrai
Faux
Résultat
Réponse correcte
Connaissance du langage +40pts
78 / 131
Islem Ghouma ([email protected])
Question 68: Opérateur sur les bits : |
Java 00:25 / 00:25 40 / 40 pts
Question
En base 2 (binaire), combien font 01 | 11 ?
Réponse
00
01
10
11
100
Résultat
Réponse correcte
Connaissance du langage +40pts
79 / 131
Islem Ghouma ([email protected])
Question 69: Design pattern 01
Java 00:50 / 00:50 40 / 40 pts
Question
public class A {
private A() {}
Si vous connaissez le patron de conception (design pattern) utilisé dans ce bout de code, saisissez son
nom dans le champ texte (1 mot seulement).
Réponse
singleton
Résultat
Réponse correcte
Modélisation +40pts
Réponse(s) correcte(s)
Singleton
(?i).*singleton.*
80 / 131
Islem Ghouma ([email protected])
(?i).*singleton.*
Question
Quelle méthode de Stream permet de vérifier si un certain prédicat correspond à l'un des éléments du
stream ?
Réponse
anyMatch
Résultat
Réponse correcte
Connaissance du langage +40pts
Réponse(s) correcte(s)
anyMatch
anyMatch()
81 / 131
Islem Ghouma ([email protected])
Question 71: Méthode pour supprimer les espaces
Java 00:40 / 00:40 2x (11 sec) 0 / 40 pts
Question
En supposant que vous travailliez en Java 11+, quelle est la meilleure méthode pour supprimer les
caractères d'espacement de début et de fin d'une chaîne de caractères ?
Example:
Réponse
str.trim()
str.strip()
str.removeTrailingWhitespace()
str.trimWhitespace()
str.stripLeading().stripTrailing()
Résultat
Réponse incorrecte
Connaissance du langage +40pts
82 / 131
Islem Ghouma ([email protected])
Question 72: Du désordre le plus grand gagne
Java 03:43 / 05:00 100 / 100 pts
Question
Implémentez la méthode Algorithm.findLargest(int[] numbers) afin qu'elle retourne le plus
grand nombre dans numbers .
Réponse
1 import java.util.Arrays;
2
3 class Algorithm {
4
5 /** @return the largest number of the given array */
6 static int findLargest(int[] numbers) {
7 return Arrays.stream(numbers).max().getAsInt();
8 }
9
10 }
Résultat
Fonctionne dans des cas simples
Résolution de problèmes +32pts
83 / 131
Islem Ghouma ([email protected])
Question 73: Jumeaux
Java 07:35 / 12:00 1x (1 min) 200 / 200 pts
Question
Le jumeau (twin) d'un mot est un mot écrit avec exactement les mêmes lettres (indépendamment de la
casse), mais pas nécessairement dans le même ordre.
La méthode isTwin(a, b) retourne true si b est le jumeau de a ou false si ce n'est pas le cas. a
et b sont deux chaînes de caractères non null.
Réponse
84 / 131
Islem Ghouma ([email protected])
Résultat
Tests simples
Résolution de problèmes +70pts
Insensible à la casse
Résolution de problèmes +45pts
Question
La méthode sumRange devrait retourner la somme des entiers compris entre 10 et 100 inclusifs
contenus dans le tableau passé en paramètre.
85 / 131
Islem Ghouma ([email protected])
Réponse
Résultat
La solution fonctionne avec { 1, 4, 9, 12, 98, -10, 10 }
Résolution de problèmes +50pts
86 / 131
Islem Ghouma ([email protected])
Question 75: Classification de paquets robotisée
Java 08:56 / 15:00 2x (14 sec) 40 / 150 pts
Question
Objectif
Utiliser le bras robotique de l'usine pour trier les colis.
Règles
Vous travaillez pour une usine autonome. Votre objectif est de trier les colis qui arrivent sur le bon tas
en fonction de leur volume et poids. Un colis est encombrant si son volume (Largeur x Hauteur x
Profondeur) est supérieur ou égal à 1 000 000 cm3 ou si l'une de ses dimensions est supérieure ou égale
à 150 cm. Un colis est lourd si sa masse est supérieure ou égale à 20kg. Vous devez répartir les colis
dans 3 tas : STANDARD : les colis normaux (ni encombrants, ni lourds) seront traités normalement.
SPECIAL : les colis lourds ou encombrants ne pourront pas être traités automatiquement. REJECTED : les
colis à la fois encombrants et lourds seront refusés.
Implémentation
Implémentez la [[functionLabel]] [[functionSimple]] (les unités sont le centimètre pour les
dimensions et le kilogramme pour la masse). La [[functionLabel]] doit retourner une chaîne de
caractères : le nom du tas où placer la boîte.
Conditions de Victoire
Les colis sont répartis sur les bons tas.
Conditions de Défaite
Votre programme indique une action invalide ou fausse.
Contraintes
20 ≤ width, height, length ≤ 200
10 ≤ mass ≤ 1000
87 / 131
Islem Ghouma ([email protected])
Réponse
1 import java.util.*;
2 import java.io.*;
3 import java.math.*;
4
5 class Player {
6
7 public static String solve(int width, int height, int length, int mass) {
8 if(width*height*length>1_000_000 || (width>150 || height > 150 || length> 150 ) &&
mass >20 ){
9 return "REJECTED";
10 }
11 else if(width*height*length>1_000_000 || (width>150 || height > 150 || length> 150
) || mass >20 ){
12 return "SPECIAL";
13 }
14 else return "STANDARD";
15 }
16
17 /* Ignore and do not change the code below */
18 public static void main(String args[]) {
19 Scanner in = new Scanner(System.in);
20
21 // game loop
22 while (true) {
23 int width = in.nextInt();
24 int height = in.nextInt();
25 int length = in.nextInt();
26 int mass = in.nextInt();
27 PrintStream outStream = System.out;
28 System.setOut(System.err);
29 String action = solve(width, height, length, mass);
30 System.setOut(outStream);
31 System.out.println(action);
32 }
33 }
34 /* Ignore and do not change the code above */
35 }
88 / 131
Islem Ghouma ([email protected])
Résultat
Nombreuses boites
Résolution de problèmes +40pts
89 / 131
Islem Ghouma ([email protected])
Question 76: Expression booléenne simple
Java 01:58 / 02:00 0 / 100 pts
Question
A.a(int i, int j) devrait retourner true si un des arguments est égal à 1 ou si leur somme est
égale à 1.
Par exemple :
A.a(1, 5) retourne true
A.a(2, 3) retourne false
A.a(-3, 4) retourne true
Réponse
Résultat
Retourne true si i ou j est égal à 1, sinon false
Connaissance du langage +67pts
90 / 131
Islem Ghouma ([email protected])
Question 77: Directive ngIf
Angular 2+ 00:42 / 01:00 20 / 20 pts
Question
Qu'arrivera-t-il si on clique plusieurs fois sur le bouton tel que défini à la ligne 6 ?
Réponse
91 / 131
Islem Ghouma ([email protected])
Résultat
Réponse correcte
Connaissance du langage +20pts
Question
Parmi les propositions suivantes, laquelle n'est pas un directive structurelle d'Angular ?
Réponse
ngIf
ngFor
ngSwitch
ngUnless
Résultat
Réponse correcte
Connaissance du langage +20pts
92 / 131
Islem Ghouma ([email protected])
Question 79: Trouver le nom
Angular 2+ 00:33 / 01:00 20 / 20 pts
Question
Quel(s) nom(s) seront affichés par ce code ?
Réponse
Theresa
Morris
Duane
Taz
Morris, Duane
93 / 131
Islem Ghouma ([email protected])
Résultat
Réponse correcte
Connaissance du langage +20pts
Question
Quelle ligne de commande permet de créer une nouvelle application Angular ?
Réponse
ng new appName
ng start appName
Résultat
Réponse correcte
Connaissance du langage +20pts
94 / 131
Islem Ghouma ([email protected])
Question 81: Interpolation
Angular 2+ 00:15 / 00:50 20 / 20 pts
Question
Quelle concept Angular est mis en oeuvre dans le template ci-dessous à la ligne 6 pour afficher la
propriété name ?
Réponse
string interpolation
template string
template literal
event binding
Résultat
Réponse correcte
Connaissance du langage +20pts
95 / 131
Islem Ghouma ([email protected])
Question 82: Cycle de vie Angular
Angular 2+ 00:16 / 00:40 40 / 40 pts
Question
Parmi les propositions suivantes, laquelle n'est pas une méthode du cycle de vie Angular ?
Réponse
ngOnChanges
ngOnDestroy
ngAfterViewInit
ngContentChange
Résultat
Réponse correcte
Connaissance du langage +40pts
96 / 131
Islem Ghouma ([email protected])
Question 83: Affichage d'une propriété
Angular 2+ 00:14 / 00:35 40 / 40 pts
Question
Comment peut-on afficher une propriété définie dans un composant ?
Réponse
par interpolation
en utilisant un filtre
Résultat
Réponse correcte
Connaissance du langage +40pts
97 / 131
Islem Ghouma ([email protected])
Question 84: Accèder aux paramètres de route
Angular 2+ 00:25 / 00:30 40 / 40 pts
Question
Quel service peut-on utiliser pour récupérer les paramètres de route depuis un composant ?
Réponse
Route
Router
ActivatedRoute
CurrentRoute
Résultat
Réponse correcte
Connaissance du langage +40pts
98 / 131
Islem Ghouma ([email protected])
Question 85: Pipe currency
Angular 2+ 00:50 / 00:50 1x (1 sec) 0 / 40 pts
Question
On suppose que la locale par défaut est en-US . Qu'affichera l'expression de la ligne n°6 ?
Réponse
200.13$
Résultat
Réponse incorrecte
Connaissance du langage +40pts
Réponse(s) correcte(s)
$200.13
99 / 131
Islem Ghouma ([email protected])
Question 86: Angular CLI
Angular 2+ 00:30 / 00:30 1x (12 sec) 40 / 40 pts
Question
Quelle commande ne fait pas partie de la CLI Angular ?
Réponse
ng test
ng lint
ng exit
ng deploy
Résultat
Réponse correcte
Connaissance du langage +40pts
100 / 131
Islem Ghouma ([email protected])
Question 87: Écouter les événements de l'hôte
Angular 2+ 00:45 / 00:45 0 / 40 pts
Question
Quel décorateur peut-on utiliser pour écouter les événements de l'élément hôte depuis une directive
fille?
Réponse
@HostListener
@Listener
@Target
@Event
Résultat
Réponse incorrecte
Connaissance du langage +40pts
101 / 131
Islem Ghouma ([email protected])
Question 88: Ajout d'entête HTTP
Angular 2+ 00:15 / 00:40 40 / 40 pts
Question
Qu'utiliseriez-vous pour ajouter le même entête HTTP à tous vos appels HTTP ?
Réponse
Un Injector
Un Interceptor
Résultat
Réponse correcte
Connaissance du langage +40pts
102 / 131
Islem Ghouma ([email protected])
Question 89: Extension Chrome pour debugging
Angular 2+ 00:30 / 00:30 1x (8 sec) 40 / 40 pts
Question
Parmi les propositions ci-contre, quelle est celle qui désigne une extension Chrome pour débugguer les
apps Angular ?
Réponse
ngrx
npx
npm
Angular DevTools
Résultat
Réponse correcte
Connaissance du langage +40pts
103 / 131
Islem Ghouma ([email protected])
Question 90: @Input et événements @Output
Angular 2+ 14:56 / 20:00 3x (55 sec) 0 / 150 pts
Question
On vous demande de créer un composant Angular simple nommé CounterComponent ayant
counter-component pour sélecteur.
104 / 131
Islem Ghouma ([email protected])
Réponse
105 / 131
Islem Ghouma ([email protected])
Résultat
Compile
Connaissance du langage +0pts
Question
On vous demande de créer un composant Angular nommé DisplayComponent et ayant display-
component pour sélecteur.
Il doit utiliser le composant VoterComponent (sélecteur = voter-component ) dont le code est fourni.
DisplayComponent doit utiliser VoterComponent en tant qu'enfant et doit lui passer question ,
yesAnswer et noAnswer en entrée.
Quand l'utilisateur vote, VoterComponent créé un événement de type boolean vers un @Output
nommé output .
Vous devez afficher le résultat du vote dans DisplayComponent dans un <div> avec id=lastVote :
si output est vrai, alors on affiche la valeur de yesAnswer , sinon on affiche la valeur de noAnswer .
Notes : Un bloc de "Preview" est disponible pour vous permettre de débugguer votre code. Il affiche
votre composant ci-dessous. Vous pouvez l'ouvrir et le modifier à votre guise. Ce bloc de "Preview" n'est
pas pris en compte dans le calcul du score de votre code.
106 / 131
Islem Ghouma ([email protected])
Réponse
107 / 131
Islem Ghouma ([email protected])
Résultat
Compile
Connaissance du langage +0pts
Gère l'événement
Connaissance du langage +75pts
108 / 131
Islem Ghouma ([email protected])
Question 92: @GeneratedValue
Hibernate 00:18 / 01:00 20 / 20 pts
Question
Quelle annotation Java devrait remplacer @XXX pour que Hibernate attribue une valeur séquentielle
générée automatiquement à id avant d'enregistrer l'entité (si id est nul) ?
@Entity
class User {
@Id
@XXX
private Long id;
Réponse
@GeneratedValue
@AutoIncrement
@Sequential
@Order
Résultat
Réponse correcte
Entity +20pts
109 / 131
Islem Ghouma ([email protected])
Question 93: Propriété hibernate.show.sql
Hibernate 00:33 / 00:45 0 / 20 pts
Question
Pourquoi définir la propriété hibernate.show.sql à true n'est pas une bonne pratique ?
Réponse
Parce que les requêtes SQL sont écrites dans la console via l'objet System
Parce que les requêtes SQL sont écrites dans le fichier de log statement.
log
Parce que les requêtes SQL sont écrites dans la console via le logging
framework utilisé
Résultat
Réponse incorrecte
Persistence +20pts
110 / 131
Islem Ghouma ([email protected])
Question 94: Relation many-to-many et type de cascade
Hibernate 00:22 / 00:45 10 / 20 pts
Question
Une entité nommée User possède une relation unidirectionnelle many-to-many vers une entité Role .
La suppression d’un utilisateur ne doit pas entraîner la suppression des rôles associés. Quels cascade
types ne doivent pas être utilisés ?
Réponse
CascadeType.PERSIST
CascadeType.MERGE
CascadeType.REMOVE
CascadeType.ALL
Résultat
Réponse partiellement correcte
Relationship +10/20pts
111 / 131
Islem Ghouma ([email protected])
Question 95: Transaction et fetchType LAZY
Hibernate 00:45 / 00:45 20 / 20 pts
Question
Quelle situation requiert l'utilisation d'une transaction ?
Réponse
Résultat
Réponse correcte
Lazy vs eager +20pts
112 / 131
Islem Ghouma ([email protected])
Question 96: Comportement par défaut de cascade sur une
relation
Hibernate 00:45 / 00:45 1x (15 sec) 20 / 20 pts
Question
Au sein d'une relation @OneToOne , @OneToMany , @ManyToOne ou bien @ManyToMany , quelle est la
valeur par défaut si la propriété cascade n'est pas définie ?
Réponse
CascadeType.MERGE
CascadeType.PERSIST
CascadeType.REMOVE
CascadeType.ALL
Résultat
Réponse correcte
Relationship +20pts
113 / 131
Islem Ghouma ([email protected])
Question 97: Nombre de tables
Hibernate 01:00 / 01:00 20 / 20 pts
Question
Considérez les deux entités Hibernate suivantes :
@Entity
public class Vehicle {
@Id
private Long id;
@ManyToMany
private List<Driver> drivers;
@Entity
public class Driver {
@Id
private Long id;
@ManyToMany
private List<Vehicle> vehiclesDriven;
Combien de tables Hibernate générera pour ces deux entités lorsqu'il est utilisé avec une base de
données relationnelle ?
114 / 131
Islem Ghouma ([email protected])
Réponse
3
Résultat
Réponse correcte
Relationship +20pts
Réponse(s) correcte(s)
3
115 / 131
Islem Ghouma ([email protected])
Question 98: Comportement par défaut d'une relation one-to-
many
Hibernate 01:12 / 02:00 0 / 20 pts
Question
Quel sera en base de données, le résultat des entités suivantes avec la relation unidirectionnelle
@OneToMany ?
Classe Product :
@Entity
public class Product {
@Id
@GeneratedValue
private Long id;
private String name;
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
private List<Comment> comment;
Classe Comment :
@Entity
public class Comment {
@Id
@GeneratedValue
private Long id;
private String content;
}
116 / 131
Islem Ghouma ([email protected])
Réponse
Résultat
Réponse incorrecte
Relationship +20pts
117 / 131
Islem Ghouma ([email protected])
Question 99: Relation one-to-many @ManyToOne et
@JoinColumn
Hibernate 02:00 / 02:00 20 / 20 pts
Question
Compte tenu des tables suivantes :
Comment compléter le code suivant pour implémenter une relation unidirectionnelle one-to-many (un
produit pouvant avoir plusieurs commentaires) ?
@Entity
public class Comment {
@Id
@GeneratedValue
private Long id;
private String content;
118 / 131
Islem Ghouma ([email protected])
Réponse
Résultat
Réponse correcte
Relationship +20pts
119 / 131
Islem Ghouma ([email protected])
Question 100: @PreUpdate
Hibernate 00:45 / 00:45 1x (18 sec) 0 / 40 pts
Question
Quand Hibernate invoque-t-il une méthode d'entité annotée avec @PreUpdate ?
Réponse
Résultat
Réponse incorrecte
Entity +40pts
120 / 131
Islem Ghouma ([email protected])
Question 101: Mode batch - Opération delete
Hibernate 00:55 / 02:00 0 / 40 pts
Question
Sachant que la propriété hibernate.jdbc.batch_size contient la valeur 10, combien de requêtes
SQL seront exécutées suite au code ci-dessous ?
@Entity
public class User {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
private String name;
Réponse
10
121 / 131
Islem Ghouma ([email protected])
Résultat
Réponse incorrecte
Batching +40pts
122 / 131
Islem Ghouma ([email protected])
Question 102: persist() avec une relation bidirectionnelle one-to-
many
Hibernate 02:49 / 03:30 40 / 40 pts
123 / 131
Islem Ghouma ([email protected])
Question
Au vu des entités suivantes, quel sera le résultat du traitement écrit ci-dessous ?
Classe Product :
@Entity
public class Product {
@Id
@GeneratedValue(strategie = GenerationType.IDENTITY)
private Long id;
private String name;
private int cost;
@OneToMany(mappedBy = "product", cascade = CascadeType.ALL, orphanRemoval = true)
private List<Comment> comments;
}
Classe Comment :
@Entity
public class Comment {
@Id
@GeneratedValue(strategie = GenerationType.IDENTITY)
private Long id;
private String content;
@ManyToOne
@JoinColumn(name = "product_id")
private Product product;
}
Code exécuté :
product.getComments().add(comment1);
comment1.setProduct(product);
product.getComments().add(comment2);
comment2.setProduct(product);
entityManager.persist(product);
124 / 131
Islem Ghouma ([email protected])
Réponse
Résultat
Réponse correcte
Relationship +40pts
125 / 131
Islem Ghouma ([email protected])
Question 103: Eager fetching
Hibernate 02:00 / 02:00 0 / 40 pts
Question
Considérez les deux entités Hibernate suivantes :
@Entity
public class Company {
@Id
private Long id;
@ManyToMany
private Collection<Employee> employees;
// ...
}
@Entity
public class Employee {
private String name;
// ...
}
Et le référentiel suivant :
@Repository
public interface CompanyRepository extends JpaRepository<Company, Long> {
private Company findByIdFetchingEmployeesEagerly(Long id);
}
Supposons que le développeur souhaite charger avidement (eager fetching) à la fois la classe Company
et toute classe enfant Employee lorsque (et seulement lorsque)
findByIdFetchingEmployeesEagerly est appelé. Quelle stratégie permettrait d'atteindre cet
objectif ?
126 / 131
Islem Ghouma ([email protected])
Réponse
Résultat
Réponse incorrecte
Lazy vs eager +40pts
127 / 131
Islem Ghouma ([email protected])
Question 104: @DynamicUpdate
Hibernate 01:45 / 02:00 1x (24 sec) 40 / 40 pts
Question
L'entité User est défini comme suit :
@Entity
@DynamicUpdate
public class User {
@Id
@GeneratedValue
private Long id;
private String username;
private String password;
Réponse
Résultat
Réponse correcte
Persistence +40pts
128 / 131
Islem Ghouma ([email protected])
Question 105: LazyInitializationException
Hibernate 00:59 / 01:00 40 / 40 pts
Question
Quelle pourrait être la cause de l'exception suivante ?
Réponse
Accéder à une entité par le biais d'une référence depuis une entité
connexe après que la session ayant récupéré cette entité connexe ait été
fermée
Résultat
Réponse correcte
Lazy vs eager +40pts
129 / 131
Islem Ghouma ([email protected])
Question 106: Table de jointure avec une colonne
supplémentaire
Hibernate 01:00 / 01:00 0 / 40 pts
Question
Comment implémenter un schéma d'entité qui permet de gérer une table de jointure avec une colonne
supplémentaire ?
Réponse
Résultat
Réponse incorrecte
Relationship +40pts
130 / 131
Islem Ghouma ([email protected])
Glossaire
Connaissance du langage
La mesure de cette compétence permet de déterminer l'expérience du candidat dans la pratique d'un langage de
programmation. Privilégiez cette compétence si, par exemple, vous recherchez un développeur qui devra être
rapidement opérationnel.
Modélisation
Cette mesure fournit une indication sur la capacité du candidat à appliquer des solutions standard pour résoudre des
problèmes récurrents. Un développeur ayant un bon niveau dans cette compétence augmentera la qualité
(maintenabilité, évolutivité) de vos applications. Cette compétence ne dépend pas spécifiquement d'une technologie.
Privilégiez cette compétence si, par exemple, vous recherchez un développeur qui sera amené à travailler sur les
briques qui structurent vos applications, à anticiper les besoins de demain pour développer des solutions pérennes.
Résolution de problèmes
Cette compétence correspond aux aptitudes du candidat à comprendre et à structurer son raisonnement pour trouver
des solutions à des problèmes complexes. Cette compétence ne dépend pas spécifiquement d'une technologie.
Privilégiez cette compétence si, par exemple, vos applications ont une composante technique importante (R&D,
innovation).
Fiabilité
La fiabilité caractérise la capacité du candidat à réaliser des solutions qui prennent en compte les cas particuliers. Plus
cette compétence est élevée, plus vos applications sont robustes (moins de bugs).
131 / 131
Islem Ghouma ([email protected])