Académique Documents
Professionnel Documents
Culture Documents
Campagne : Data Science, Data Science - Python, Data Science - ... - Senior
Domaine(s) : Apache Spark, Data Science, Data Science - Python, Data Science - R, Python 3, SQL Langage : Français Date : 14/12/2022
MEILLEUR QUE
RANG 1/1
Apache Spark 180 / 220pts (82%) MEILLEUR QUE 62% des professionnels
Data Science 120 / 160pts (75%) MEILLEUR QUE 95% des professionnels
Statistics 40 / 40pts
1 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Data Science - Python
0 / 500pts (0%) MEILLEUR QUE <1% des professionnels
Fiabilité 0 / 100pts
Fiabilité 33 / 33pts
Modélisation 0 / 40pts
2 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
SQL 670 / 760pts (88%) MEILLEUR QUE 88% des professionnels
3 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 1: [ML] NLP et Continuous Bag of Words
Data Science 01:00 / 01:00 20 / 20 pts
Question
Comment s'appelle la méthode de prédiction de mot schématisée ci-dessous ?
4 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Réponse
Skip Gram
Doc2vec
Résultat
Réponse correcte
Machine Learning +20pts
5 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 2: [ML] Covariate shift
Data Science 01:00 / 01:00 0 / 40 pts
Question
Des données sont générées avec le modèle P(y|x)P(x) , mais la distribution des variables explicatives
P(x) change entre l’apprentissage et le test. Comment appelle-t-on, en apprentissage artificiel, ce type
de changement dans la distribution des données ?
Réponse
Données déséquilibrées
Covariate shift
Transfer shift
Sur-apprentissage (over-fitting)
Résultat
Réponse incorrecte
Machine Learning +40pts
6 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 3: [Statistics] Test statistique
Data Science 01:29 / 02:00 40 / 40 pts
Question
Une société de catalogues numériques a réalisé une étude sur la consommation de vin par habitants
dans différents pays. La consommation moyenne par an et par habitant en France est de 39,3 litres.
Vous observez que, dans votre région, la consommation de vin est bien plus importante. Vous
échantillonnez aléatoirement les données sur la consommation de vin dans votre région dans l'objectif
de valider votre observation.
Quels sont les hypothèses pour conduire votre test statistique unilatéral ?
Réponse
Résultat
Réponse correcte
Statistics +40pts
7 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 4: [ML] GAN et distance Wasserstein
Data Science 00:21 / 00:45 60 / 60 pts
Question
Dans le cadre d'un modèle GAN, lorsque la distribution réelle et celle qui est générée par le générateur
sont trop différentes l’une de l’autre, le gradient dans les zones qui ne se chevauchent pas peut être
proche de zéro. Quelle distance pour la fonction loss permettra d'éviter ce problème ?
Réponse
Distance Wasserstein
Distance Manhattan
Distance euclidienne
Résultat
Réponse correcte
Machine Learning +60pts
8 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 5: [LinearAlgebra] Factorisation de matrice
Data Science - R 10:16 / 15:00 0 / 300 pts
Question
Vous avez à votre disposition trois matrices obtenues par décomposition en valeurs singulières.
Les colonnes de matrix1 sont les vecteurs singuliers à droite de la matrice initiale, les colonnes de
matrix2 sont les vecteurs singuliers à gauche de la matrice initiale, et le vecteur vector_sing
représente les valeurs singulières de la matrice initiale.
[,1] [,2]
[1,] 14.0000000 5
[2,] 0.9999999 9
[3,] 19.0000000 6
Réponse
Résultat
Reconstruction de matrice approximative
Résolution de problèmes +150pts
9 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
10 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 6: [Preprocessing] Commandes de restauration rapide
Data Science - Python 09:05 / 15:00 0 / 300 pts
11 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question
Votre objectif est de compléter la fonction calculate_avg_spend qui transforme un dataframe (en
utilisant pandas) en un autre.
Entrées Le premier argument d'entrée ( orders_df ) est un objet DataFrame avec deux colonnes :
CustomerName et Order . Chaque ligne du DataFrame représente une commande particulière de fast-
food pour un client. Par exemple :
CustomerName Order
0 John Smith Cheeseburger
1 Lenny Lee Soda
2 Ava Williams Hamburger
3 Holly Jack Ice Cream
4 John Smith Taco
5 Holly Jack Hamburger
6 Ava Williams Fries
7 John Smith Salad
Le deuxième argument d'entrée ( items_df ), est un objet DataFrame avec deux colonnes : ItemName
et Price . Chaque ligne de l'objet DataFrame représente le prix d'un article particulier. Par exemple :
ItemName Price
0 Cheeseburger 9.99
1 Soda 1.35
2 Hamburger 8.79
3 Ice Cream 4.99
4 Taco 3.50
5 Fries 4.00
6 Salad 5.19
Sortie Votre fonction calculate_avg_spend doit retourner un objet DataFrame avec deux colonnes
(dans l'ordre suivant) : CustomerName et AvgSpend . Chaque ligne de la sortie DataFrame doit avoir
une valeur unique CustomerName , qui représente le nom du client. La colonne AvgSpend représente
le montant moyen en dollars que le client a dépensé pour des articles de restauration rapide. Votre
sortie DataFrame doit être triée par CustomerName , dans l'ordre alphabétique.
CustomerName AvgSpend
0 Ava Williams 6.395000
1 Holly Jack 6.890000
2 John Smith 6.226667
3 Lenny Lee 1.350000
N'hésitez pas à utiliser les bibliothèques NumPy et pandas dans votre code.
12 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Réponse
Résultat
Cas simple
Résolution de problèmes +150pts
Cas complexe
Fiabilité +50pts
13 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 7: [ML] Matrice de confusion
Data Science - Python 04:45 / 05:00 0 / 200 pts
Question
Corriger la ou les erreurs qui se sont glissées dans le calcul de la matrice de confusion.
Réponse
Résultat
Erreurs corrigées
Résolution de problèmes +200pts
14 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 8: Expression booléenne
Python 3 00:05 / 00:30 20 / 20 pts
Question
Comment applique-t-on un ET entre deux booléens en Python ?
Réponse
&&
and
||
Résultat
Réponse correcte
Connaissance du langage +20pts
15 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 9: Déclaration de fonction
Python 3 00:04 / 00:30 20 / 20 pts
Question
Comment déclare-t-on une fonction name en Python ?
Réponse
def name():
name():
function name():
void name():
Résultat
Réponse correcte
Connaissance du langage +20pts
16 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 10: __eq__()
Python 3 01:00 / 01:00 40 / 40 pts
Question
Comment sera utilisée la méthode __eq__ de l'objet suivant ?
class Point():
def __init__(self, x, y):
self.x = x
self.y = y
def __eq__(self, other):
return (self.x, self.y) == (other.x, other.y)
Réponse
point1.eq(point2)
Résultat
Réponse correcte
Connaissance du langage +40pts
17 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 11: Design POO
Python 3 00:41 / 01:20 0 / 40 pts
Question
Parmi ces deux propositions, laquelle préférez-vous ?
Proposition #1 :
class CapableDeVoler:
def voler(self): raise NotImplementedError
class Avion(CapableDeVoler):
def voler(self):
return 'vrrrrr'
class Oiseau(CapableDeVoler):
def voler(self):
return 'flapflap'
Proposition #2 :
class Avion:
def __init__():
self.son = 'vrrrrr'
def voler(self):
return self.son
class Oiseau(Avion):
def __init__(self):
self.son = 'flapflap'
Réponse
Proposition #1
Proposition #2
18 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Résultat
Réponse incorrecte
Modélisation +40pts
19 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 12: Import de module
Python 3 00:39 / 01:00 40 / 60 pts
Question
Dans le fichier module.py se trouve le code suivant :
def funcA():
pass
def __funcB__():
pass
def funcC():
pass
if __name__ == '__main__':
del funcC
Si vous exécutez la ligne import module dans un script séparé, quelles fonctions de module seront
utilisables ?
Réponse
funcA()
__funcB__()
funcC()
Résultat
Réponse partiellement correcte
Connaissance du langage +40/60pts
20 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 13: Héritage
Python 3 00:38 / 02:00 50 / 50 pts
Question
Complétez la réponse afin que la classe B hérite de A.
Réponse
Résultat
B hérite de A
Connaissance du langage +50pts
21 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 14: Simple expression booléenne
Python 3 00:26 / 02:00 100 / 100 pts
Question
is_bool(i, j) devrait retourner True si un des arguments est égal à 1 ou si leur somme est égale à
1.
Par exemple :
is_bool(1, 5) retourne True
is_bool(2, 3) retourne False
is_bool(-3, 4) retourne True
Réponse
Résultat
Retourne True si i ou j est égal à 1, sinon False
Résolution de problèmes +67pts
22 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 15: Chaine en colonne
Python 3 02:48 / 12:00 0 / 300 pts
Question
La fonction reshape(n, line) retourne la chaine line sans les espaces et formatée en lignes de n
caractères maximum.
Exemples :
abc
def
ghi
j
12
34
56
Réponse
23 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Résultat
Tests simples
Résolution de problèmes +165pts
Question
Implémentez la fonction nextWeek(d) qui renvoie une date 7 jours après la date donnée en
paramètre.
Réponse
Résultat
La solution fonctionne avec la date courante
Connaissance du langage +150pts
24 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 17: DataFrames structurés
Apache Spark 00:07 / 01:00 60 / 60 pts
Question
On considère le code suivant :
Réponse
DataFrame
Dataset[Row]
StructType
StructField
Résultat
Réponse correcte
Connaissance du langage +60pts
25 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 18: Bases de Spark - RDD
Apache Spark 00:11 / 00:30 20 / 20 pts
Question
Que veut dire l'acronyme "RDD" ?
Réponse
Résultat
Réponse correcte
Connaissance du langage +20pts
26 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 19: Architecture de Spark
Apache Spark 00:44 / 01:00 60 / 60 pts
Question
Quel est le composant manquant dans l'architecture suivante ?
Réponse
Cluster manager
Résultat
Réponse correcte
Connaissance du langage +60pts
Réponse(s) correcte(s)
Cluster Manager
The Cluster Manager
27 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 20: Checkpointing
Apache Spark 00:14 / 00:45 0 / 40 pts
Question
Qu'est ce que le Checkpointing dans Spark ?
Réponse
Résultat
Réponse incorrecte
Connaissance du langage +40pts
28 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 21: Spark 1 & Spark 2
Apache Spark 00:41 / 01:00 40 / 40 pts
Question
Qu'est ce qui est vrai concernant la migration de Spark 1 à Spark 2 ?
Réponse
Résultat
Réponse correcte
Connaissance du langage +40pts
29 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 22: SQL - DROP
SQL 00:23 / 00:30 20 / 20 pts
Question
Quelle commande SQL est utilisée pour supprimer une table d'une base de données ?
Réponse
DELETE table
TRUNCATE table
DROP table
REMOVE table
Résultat
Réponse correcte
Connaissance du langage +20pts
30 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 23: SQL - Clé primaire
SQL 00:49 / 01:00 40 / 40 pts
Question
Indiquer quelles propositions sont vraies pour une colonne déclarée en tant que clé primaire.
Réponse
Elle peut être déclarée avec un type "caractère" tel que "VARCHAR"
Résultat
Réponse correcte
Modélisation +40pts
31 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 24: SQL - Index
SQL 00:33 / 01:20 40 / 40 pts
Question
Dans le schéma ci-dessus, quelle serait une bonne stratégie pour améliorer les performances des
requêtes se basant sur la colonne name de la table PRODUCT_CATEGORY ?
Réponse
32 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Résultat
Réponse correcte
Modélisation +40pts
Question
Parmi les proposition suivantes concernant les clés étrangères, choisissez celles qui vous paraissent vrai.
Réponse
La colonne associée à une clé étrangère ne peut être que d'un type
numérique
Un clé étrangère est utilisée lorqu'il y a une relation 1-n entre deux tables
Résultat
Réponse partiellement correcte
Modélisation +20/60pts
33 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 26: Condition WHERE simple (avec double ORDER BY)
SQL 03:55 / 04:00 0 / 50 pts
Question
---------------------------
| FIRST_NAME | LAST_NAME |
---------------------------
| James | Durant |
| LeBron | James |
| Russell | Westbrook |
---------------------------
34 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Réponse
Résultat
Résultat
Connaissance du langage +50pts
35 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 27: [Vehicle Data Model] SQL - HAVING
SQL 04:06 / 05:00 200 / 200 pts
36 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question
37 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Modèle de données
Objectif
Extraire le nombre de véhicules ( vehicle ) par marque ( make ). Seules les marques qui comptent deux
véhicules ou plus doivent être affichées.
Conditions
Colonnes attendues : make , vehicle_make_count , dans cet ordre. Exemple :
-------------------------------
| MAKE | VEHICLE_MAKE_COUNT |
-------------------------------
| Ford | 8 |
| Toyota | 2 |
-------------------------------
38 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Réponse
Résultat
Résultat
Connaissance du langage +200pts
39 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 28: Condition WHERE simple (inégalité avec champ
calculé)
SQL 02:13 / 03:00 50 / 50 pts
Question
-----------------------------------------------
| COUNTRY | BEER_CONSUMPTION |
-----------------------------------------------
| Algeria | 25 |
| Burundi | 88 |
| Ecuador | 162 |
-----------------------------------------------
Réponse
40 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Résultat
Résultat
Connaissance du langage +50pts
41 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Question 29: [Vehicle Data Model] SQL - OUTER JOIN
SQL 04:57 / 08:00 300 / 300 pts
Question
Modèle de données
Objectif
Extraire tous les véhicules et leurs pièces associées ( vehicle_part ) s'ils en ont au moins une. Si un
véhicule n'a pas de pièces référencées, afficher null pour le nom de la pièce ( part_name ).
42 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
Conditions
Colonnes attendues : vin , part_name , dans cet ordre. Ne pas afficher de doublons. Exemple :
-----------------------------------------
| VIN | PART_NAME |
-----------------------------------------
| WP0CA29924S650563 | Left Door |
| 1G4GD5EDXBF330171 | Windshield |
| 4T3ZK3BB7BU042861 | null |
-----------------------------------------
Réponse
Résultat
Résultat
Résolution de problèmes +300pts
43 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)
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).
44 / 44
Anis MOKHTARI (mokhtarianis@hotmail.fr)