Skip to main content

Interview Question 1 - Job Offer Platform

Design interview

Le but de cet exercice est de simuler une réunion où on itère ensemble sur le sujet de zéro avec pour objectif de valider une architecture technique désignée sur tableau blanc à la fin de la "réunion".

Il n'y a pas de contraintes dans les choix techniques, ni forcément de noms de bibliothèques attendus. Toutefois les choix de concepts techniques ou de technologies qui seraient faits devront être argumentés.

Pour vous faciliter la tâche, l'énoncé est disponible ici sur excalidraw

Enoncé du problème

Nous diffusons des offres d'emploi sur une plateforme externe. Les candidats postulent à ces offres en soumettant leur CV.

On souhaite mettre à disposition des recruteurs la possibilité de rechercher dans ces candidats. Pour cela notre application proposera une barre de recherche permettant de saisir les termes à rechercher.

On a à notre disposition deux endpoints fournis par deux APIs externes que l'on peut utiliser pour répondre à ce sujet. Ces APIs sont fournis par des prestataires externes et sont en dehors de notre SI.

La première permet de récupérer les candidatures soumises depuis une date donnée. La seconde API permet de faire de l'OCR sur un CV pour nous renvoyer les données extraites du CV sous une forme structurée.

API candidatures

1 endpoint get_candidatures

Input: { "since": <timestamp> }

Output:

[
{
"cv": <url vers le cv>,
"offre": {
"id": <id>
"titre": <titre de l'offre>
},
},
...
]

API OCR

1 endpoint parse_document

Input: {"file": <binary data>}

Output:

{
"metadata": {
"name": <name>,
"birthDate": "YYYYMMDD"
"location": {
// informations sur la localisation
},
"educations": [
// liste des études
]
"experiences: [
// liste des expériences
]
// ...
}
}

Solution