Skip to content

Instantly share code, notes, and snippets.

@guillaumepotier
Last active January 27, 2020 13:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save guillaumepotier/8182e44a2cb60166c4b8c82dd5f4836d to your computer and use it in GitHub Desktop.
Save guillaumepotier/8182e44a2cb60166c4b8c82dd5f4836d to your computer and use it in GitHub Desktop.
Exercice pour recrutement dev fullstack

Da movie Quiz (fullstack)

Cet exercice reprends l'infatigable concept de DaMovie Quiz front et DaMovie Quiz back utilisés au fil des ans chez Wisembly.

L'idée étant de ne pas se retrouver à faire 2 exos d'1 à 2h, mais d'en faire qu'un seul qui prendrait 1 à 2 heures à faire.

Le but du jeu pour cet exo: proposer une affiche de film et une photo d'acteur et demander si l'acteur est dans le casting du film. Tant qu'on gagne, on joue, à la première erreur on arrête et le score obtenu est le nombre de bonnes réponses d'affilée qu'on a donné. (pas de timer de 30 secondes, pas de leaderboard).

Backend (fortement inspiré de l'énoncé back)

On va demander au backend (en PHP, framework obligatoire au choix (Symfony, Silex, Laravel, Cake...)) de faire le proxy avec la DB de The Movie Database (ou autre IMDB, etc.. il y a des clés d'API qui trainent je crois dans les exercices linkés au dessus) et de fournir une api avec deux endpoints:

  • Un endpoint pour récupérer une question: un hash de question, un film et un acteur. (GET /game/play)
  • Un endpoint pour soumettre la réponse: le hash de la question, et on dit si l'acteur est dans le casting ou non (POST /game/play)

On imagine que pour storer les questions avec leur hash et y répondre, Redis ferait un parfait candidat.

Frontend (fortement inspiré de l'énoncé front)

On demande un environnement ReactJS (au plus simple, ReactApp fait très bien l'affaire pour commencer à coder en 2min avec webpack et tout),

  • Un bouton pour commencer la partie
  • Une interface de jeu où on affiche le film et l'acteur avec deux gros boutons "oui" "non" dire si l'acteur a joué dedans.
  • Un écran quand on perd qui rappelle quel score on a fait, avec un bouton replay

Derniers conseils

Voilà, en simplifiant nos deux exos, on devrait avoir un truc acceptable en temps qui permet de bien s'amuser et de jauger un peu le niveau du candidat (c'est à dire toi).

N'oublie pas d'aller lire bien attentivement les conseils des deux exercices linkés pour faire un jeu chouette et jouable et déceler les quelques pièges de conception.

Bien entendu nous évaluons la jouabilité du jeu, le respect des consignes, et la qualité du code et des commits. Merci de livrer un repo Git pour voir tout cela.

Bon dev !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment