Académique Documents
Professionnel Documents
Culture Documents
com)
Campagne : Bilan général des compétences -2 Langage(s) de programmation : AngularJS, Git, Javascript, Node.js, React Langage : Français
Date : 01/04/2019
AngularJS
Connaissance du langage
Git
Connaissance du langage
Javascript
Connaissance du langage
Fiabilité
Modèlisation
Résolution de problèmes
1 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Node.js
Connaissance du langage
React
Connaissance du langage
Question
Parmi les propositions suivantes, l'une d'elle représente une expression AngularJS valide. Laquelle ?
Réponse
{{ 2 + 2 }}
{2 + 2}
[[ 2 + 2 ]]
(2 + 2)
Résultat
Réponse correcte
Connaissance du langage +20pts
2 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 2: Service $q
AngularJS 02:04 / 01:30 40 / 40 pts
Question
Le script ci-dessous affiche l'erreur “$q is not defined” à l'exécution.
Réponse
Créer une variable $q
Injecter le service $q
Ajouter une dépendance vers le module $q à la ligne 5
Déclarer $q en tant que variable du scope
Résultat
Réponse correcte
Connaissance du langage +40pts
3 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 3: Filtre currency
AngularJS 01:00 / 00:45 40 / 40 pts
Question
Par quelle façon peut-on afficher un montant exprimé dans la monnaie locale?
Réponse
{{currency: 100}}
{{100 | locale}}
{{100 | currency}}
{{100 | lang}}
Résultat
Réponse correcte
Connaissance du langage +40pts
4 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 4: Scope bidirectionnel
AngularJS 05:08 / 00:40 40 / 40 pts
Question
Quelle valeur de propriété d'un scope isolé permet de créer une association bidirectionnelle entre le
scope local de la directive et son scope parent ?
Réponse
@
=
<
&
Résultat
Réponse correcte
Connaissance du langage +40pts
5 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 5: Scope digest
AngularJS 06:50 / 02:00 60 / 60 pts
Question
Ajouter la ligne de code manquante ligne 11 afin qu'après un délai de 2 secondes, “ Second message”
soit affiché sur la page.
Réponse
$scope.$apply()
Résultat
Réponse correcte
Connaissance du langage +60pts
Réponse(s) correcte(s)
$scope.$apply();
$scope.$apply()
$scope.$digest();
$scope.$digest()
6 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 6: Expression "track by"
AngularJS 01:32 / 01:00 0 / 60 pts
Question
Quest-ce qui est vrai à propos de l'expression track by de la directive ng-repeat ?
Réponse
Si vous avez des éléments en double dans un tableau, vous devez utiliser
votre propre expression track by
Quand aucune expression track by n'est fournie, l'expression par défaut
utilisée est la fonction built-in $id
On ne peut pas référencer une fonction du scope dans une expression track
by
Résultat
Réponse incorrecte
Connaissance du langage +60pts
7 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 7: [Github] readme.md
Git 00:07 / 00:30 20 / 20 pts
Question
Quel fichier mis à la racine de votre dépôt est utilisé par Github pour afficher un résumé ou de la
documenation relative à votre projet ?
Réponse
README.md
README.doc
document.md
introduction.doc
Résultat
Réponse correcte
Connaissance du langage +20pts
8 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 8: Option -m
Git 00:05 / 00:30 20 / 20 pts
Question
Quelle option de la ligne de commande permet de spécifier un commentaire de commit à l'exécution
de git commit ?
Réponse
-m
-i
-l
-a
Résultat
Réponse correcte
Connaissance du langage +20pts
9 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 9: git clone files
Git 00:19 / 01:00 40 / 40 pts
Question
À l'exécution de git clone <remote repository>, quels fichiers sont ajoutés au répertoire local ?
Réponse
Les fichiers du premier commit de la branche master du dépôt distant
Aucun fichier n'est récupéré, seul un dépôt vide est créé
La dernière version des fichiers de la branche master du dépôt distant
La dernière version des fichiers de la branche la plus récente du dépôt
distant
Résultat
Réponse correcte
Connaissance du langage +40pts
10 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 10: git commit
Git 00:23 / 00:45 40 / 40 pts
Question
Que fait la commande git commit ?
Réponse
Elle commite les changements de la "staging area" vers le dépôt distant
Elle commite les changements de la "staging area" vers le dépôt local
Elle commite les changements locaux vers la "staging area"
Elle commite les changements locaux vers le dépôt distant en omettant la
"staging area"
Résultat
Réponse correcte
Connaissance du langage +40pts
11 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 11: Les branches
Git 00:57 / 01:00 40 / 40 pts
Question
Qu'est ce qui est vrai à propos des branches Git ?
Réponse
Les branches permettent de travailler indépendamment sur différents
bugs ou fonctionnalités en parallèle
Vous pouvez créer de multiples branches mais vous devez merger sur
master avant de basculer d'une branche à l'autre
Vous pouvez créer de multiples branches locales et ne pousser que
certaines d'entre elles vers le dépôt distant
Résultat
Réponse correcte
Connaissance du langage +40pts
12 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 12: git log
Git 00:09 / 00:30 40 / 40 pts
Question
Quelle commande Git permet de visualiser l'historique des commits ?
Réponse
git log
Résultat
Réponse correcte
Connaissance du langage +40pts
Réponse(s) correcte(s)
git log
log
13 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 13: Reset hard
Git 00:18 / 01:15 60 / 60 pts
Question
Sachant que la commande git status donne la sortie ci-dessous :
Quelle commande devrait être exécutée pour, dans le même temps, supprimer les fichiers de la
"staging area" et modifier l'espace de travail pour qu'il redevienne identique à celui du commit le plus
récent ?
Réponse
git reset --hard
Résultat
Réponse correcte
Connaissance du langage +60pts
Réponse(s) correcte(s)
git reset --hard
git reset --hard HEAD
14 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 14: git init
Git 00:48 / 01:00 60 / 60 pts
Question
Qu'est-ce qui est vrai à propos de la commande git init ?
Réponse
C'est une commande que l'on exécute une seule fois pour initialiser un
dépôt Git
Elle crée un nouveau répertoire .init dans votre répertoire de travail courant
Le premier git commit effectué après git init crée une branche master
Elle doit être exécutée à chaque changement de branche
Résultat
Réponse correcte
Connaissance du langage +60pts
15 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 15: [JS] Comparaison avec ===
Javascript 00:08 / 00:30 20 / 20 pts
Question
En JavaScript, quel est le résultat de l'expression suivante :
"2" === 2;
Réponse
true
false
null
undefined
Résultat
Réponse correcte
Connaissance du langage +20pts
16 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 16: [CSS] Acronyme CSS
Javascript 00:06 / 00:20 20 / 20 pts
Question
Que signifie CSS ?
Réponse
Create Simple Samples
Clean and Simple Styles
Cascading Style Sheets
Common Sheet Styles
Résultat
Réponse correcte
Connaissance du langage +20pts
17 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 17: [JS] Java
Javascript 00:09 / 00:25 20 / 20 pts
Question
JavaScript est...
Réponse
Dérivé de Java
Une version web de Java
Sans rapport avec Java
Résultat
Réponse correcte
Modèlisation +20pts
18 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 18: [CSS] Padding
Javascript 00:09 / 00:30 40 / 40 pts
Question
En CSS, padding est utilisé pour :
Réponse
les marges interieures
les marges extérieures
l'alignement intérieur
l'alignement extérieur
Résultat
Réponse correcte
Connaissance du langage +40pts
19 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 19: [JS] Référence
Javascript 00:18 / 00:40 40 / 40 pts
Question
Le bout de code suivant :
var i = 3;
function change(j) {
j = 4;
}
change(i);
console.log(i);
Réponse
3
4
NaN
undefined
Rien, il y aura une erreur JavaScript
Résultat
Réponse correcte
Connaissance du langage +40pts
20 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 20: [JS] Objets
Javascript 00:37 / 00:40 40 / 40 pts
Question
var myJson = {
"cities": [
{"name": "Paris", "pop": 2},
{"name": "London", "pop": 8},
{"name": "New York", "pop": 9}
]
};
Réponse
myJson.cities.Paris.pop
myJson.cities[0].pop
myJson.cities['Paris']['pop']
myJson->cities->Laos->pop
Résultat
Réponse correcte
Connaissance du langage +40pts
21 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 21: [JS] Rendu de monnaie
Javascript 06:04 / 40:00 0 / 400 pts
Question
Les supermarchés s’équipent de plus en plus de caisses automatiques. La plupart de ces caisses n’
acceptent que le paiement par carte bancaire bien qu’une part non négligeable de consommateurs
paye encore en espèces (avec des billets et des pièces).
Une des problématiques rencontrées avec le paiement en espèces est le rendu de monnaie : comment
rendre une somme donnée de façon optimale, c'est-à-dire avec le nombre minimal de pièces et billets ?
C'est un problème qui se pose à chacun de nous quotidiennement, à fortiori aux caisses automatiques.
Dans cet exercice, on vous demande d’essayer de trouver une solution optimale pour rendre la
monnaie dans un cas précis : quand une caisse automatique ne contient que des pièces de 2€ , des
billets de 5€ et de 10€ .
Pour simplifier le problème, nous considérerons que toutes ces pièces et billets sont disponibles en
quantité illimitée .
Le rendu de monnaie est exprimé par un objet possédant 3 propriétés : two , five et ten qui,
respectivement, stockent le nombre de pièces de 2€, de billets de 5€ et de billets de 10€.
Par exemple, si on reprend l’exemple n°2 du tableau (6€), on devrait obtenir l'objet:
{
two: 3, // 3 pièces de 2€
five: 0, // 0 billets de 5€
ten: 0 // 0 billets de 10€
}
Implémentez la méthode change(cash) qui retourne un objet contenant les pièces et billets dont la
somme vaut s . S’il est impossible de rendre la monnaie (comme dans l’exemple n°1), retournez null .
Pour obtenir un maximum de points votre solution devra toujours rendre la monnaie quand c’est
possible et avec le nombre minimal de pièces et billets.
22 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Réponse
23 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Résultat
La monnaie est correcte pour une somme de 10€
Résolution de problèmes +40pts
24 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 22: [HTML] Elément video (HTML5)
Javascript 01:58 / 00:30 60 / 60 pts
Question
En HTML5, quel attribut permet d'afficher une image par défaut pour l'élément <video> ?
Réponse
<video preview="image.jpg">
<video><param name="thumbnail" value="image.jpg" /></video>
<video poster="image.jpg">
<video onload="image.jpg">
Résultat
Réponse correcte
Connaissance du langage +60pts
25 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 23: [JS] Prototypes
Javascript 00:22 / 01:30 60 / 60 pts
Question
Soit un objet obj définit par le code suivant:
MyClass = function() {
this.a = 'hello';
this.b = 'world';
};
MyClass.prototype.a = 'john';
MyClass.prototype.c = 12;
Réponse
obj.a s'évalue à 'hello'
obj.a s'évalue à 'john'
obj.b s'évalue à undefined
obj.b s'évalue à 'world'
obj.c s'évalue à undefined
obj.c s'évalue à 12
obj.d s'évalue à null
Résultat
Réponse correcte
Modèlisation +60pts
26 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 24: [JS] Propriétés d'Objets
Javascript 01:03 / 03:00 150 / 150 pts
Question
Implémentez la fonction helloProperties(obj) .
{
john: 12,
brian: true,
doe: 'hi',
fred: false
}
Et renvoie une array contenant ses noms de propriétés, préfixés par "Hello-", comme ceci:
Réponse
27 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Résultat
La solution fonctionne pour un cas standard
Résolution de problèmes +112pts
Question
Qu'est-ce que Express ?
Réponse
Express est un framework qui fournit toutes les briques pour développer
des applications Desktop robustes
Express est un framework qui fournit une API pour construire des sites
webs, des applications webs et des backends REST.
Express est un framework qui permet de prototyper très rapidement tout
type d'applications, d'où son nom
Express est un package largement utilisé qui permet de manipuler des
expressions régulières très facilement et de manière performante
Résultat
Réponse correcte
Connaissance du langage +20pts
28 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 26: Import de module Node
Node.js 01:23 / 00:40 20 / 20 pts
Question
Quelle syntaxe est valide si vous souhaitez utilisez le module fs dans votre application Node ?
Réponse
const fs = import('fs');
const fs = require('fs');
package fs;
import fs;
Résultat
Réponse correcte
Connaissance du langage +20pts
29 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 27: package.json
Node.js 00:25 / 00:40 20 / 20 pts
Question
Quelle est le nom du fichier qui contient la définition d'une application Node, y compris la liste de ses
dépendances ?
Réponse
package.json
Résultat
Réponse correcte
Connaissance du langage +20pts
Réponse(s) correcte(s)
package.json
30 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 28: [Express] route URL matching
Node.js 00:09 / 01:00 40 / 40 pts
Question
On considère le code suivant d'une application Node qui utilise le module Express.js :
app.listen(3000)
Réponse
/user
/user/10
/user/betty
/user/251/jack
Résultat
Réponse correcte
Connaissance du langage +40pts
31 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 29: [Express] Paramètres d'une requête
Node.js 00:30 / 00:45 40 / 40 pts
Question
On considère le code suivant :
Réponse
req.params.id
Résultat
Réponse correcte
Connaissance du langage +40pts
Réponse(s) correcte(s)
req.params.id
32 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 30: Event loop
Node.js 02:44 / 00:45 0 / 40 pts
Question
Dans une application orientée événements, il existe généralement un boucle principale qui écoute les
événements et appelle les callbacks associés quand un événement est déclenché.
Réponse
Callback loop
Event loop
Middleware loop
Request-Response loop
Résultat
Réponse incorrecte
Connaissance du langage +40pts
33 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 31: Signature callbacks
Node.js 00:19 / 00:35 40 / 40 pts
Question
La plupart des fonctions de l'API Node prennent un callback en argument.
Réponse
function (data, err) { ... }
function (err, data, res) { ... }
function (err, data) { ... }
function (data, res, err) { ... }
Résultat
Réponse correcte
Connaissance du langage +40pts
34 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 32: Node threading
Node.js 03:24 / 01:15 60 / 60 pts
Question
Qu'est-ce qui est vrai à propos de Node ?
Réponse
Node est mono-threadé mais des accès concurrents sont possibles grâce
au concept d'événements et de callbacks
Chaque API de Node est synchrone et elles utilisent en interne des fonctions
asynchrones pour rendre possible les accès concurrents
Un thread Node gère une boucle d'événements et dès qu'une tâche se
termine, Node lance l'événement correspondant qui déclenche
l'exécution des fonctions de callback associées
Une application Node devient multi-threadée dès lors qu'on utilise les mots
clés async/await
Résultat
Réponse correcte
Connaissance du langage +60pts
35 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 33: Rendu de booléens en React
React 00:11 / 02:00 40 / 40 pts
Question
On considère le code suivant :
Réponse
Value of foo is {String(props.foo)}
Value of foo is {props.foo}
Value of foo is {foo}
Value of foo is {String(foo)}
Résultat
Réponse correcte
Connaissance du langage +40pts
36 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 34: Connaissance sur les props
React 00:22 / 01:30 40 / 40 pts
Question
Qu'est-ce qui est vrai à propos des props en React ?
Réponse
Les props sont passés du composant parent vers ses fils
Les props peuvent être modifiées par les composants fils
Les composants fils sont re-rendus quand les props changent
Il est possible de définir des props par défaut au niveau des composants
fils
Résultat
Réponse correcte
Connaissance du langage +40pts
37 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 35: Affichage conditionnel n°2
React 00:23 / 02:00 40 / 40 pts
Question
Qu'affiche le composant <Hello ... /> ?
Réponse
Hello World foo = 4
Hello World foo = 4 val = null
Hello World foo = 4 val =
Hello World
Résultat
Réponse correcte
Connaissance du langage +40pts
38 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 36: JSX personnalisé
React 00:09 / 00:40 40 / 40 pts
Question
Comment fait-on pour affecter les props par défaut à un composant React ?
Réponse
En utilisant defaultProps défini en tant que propriété du composant
En utilisant la fonction this.setDefaultProps()
En utilisant la fonction this.setInitialProps()
Les props sont obtenues du parent, les props par défaut ne peuvent pas être
assignées
Résultat
Réponse correcte
Connaissance du langage +40pts
39 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 37: React lifecycle events
React 00:34 / 00:45 60 / 60 pts
Question
Quel hook du lifecycle est appelé juste avant render() pour un composant React ?
Réponse
componentWillMount()
componentWillReceiveProps()
componentWillUpdate()
shouldComponentUpdate()
Résultat
Réponse correcte
Connaissance du langage +60pts
40 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
Question 38: Contexte React
React 00:41 / 00:40 60 / 60 pts
Question
Quel objet utiliseriez-vous pour passer des données à travers tout l'arbre des composants sans avoir à
passer manuellement les props à chaque niveau ?
Réponse
context
Résultat
Réponse correcte
Connaissance du langage +60pts
Réponse(s) correcte(s)
context
this.context
41 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial
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.
Design
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).
42 / 42
Mohamed (myassine@consult-itech.com)
PDF Creator Trial