Instructions Codingame – Stages

Instructions

Vous aurez un maximum de 180 minutes pour compléter les quatre (4) exercices qui vous sont proposés. On attend du candidat qu’il complète au moins trois (3) exercices de son choix. Bien évidemment, s’il vous reste du temps, n’hésitez pas à compléter les quatre (4) exercices.

– La gestion avancée des exceptions/erreurs ne fait pas partie du cadre de ces exercices. L’énoncé de chaque exercice indique les valeurs possibles reçues en entrée, il est inutile de gérer les autres cas.

– SVP, privilégiez l’utilisation du C++.

– Utilisez les ressources disponibles sur Internet (documentation, etc), mais ne recevez pas l’aide d’une autre personne. Ce test est destiné à évaluer vos aptitudes personnelles.

Critères d’évaluation

– Exactitude des résultats : CodinGame évaluera votre code selon plusieurs test-cases. Pensez aux cas extrêmes.

– Performance : Privilégiez les algorithmes en O(1), O(log n), O(n) ou O(n.log n). Évitez si possible O(n2) ou pire.

– Lisibilité du code : Structure, indentation, création de sous fonctions lorsque c’est approprié, etc.

– Commentaires : N’hésitez pas à commenter, particulièrement dans les cas suivants : opérations non triviales (pourquoi faites-vous ça?), opportunités d’amélioration que vous n’avez pas le temps de faire, etc. Vous pouvez aussi commenter un exercice non-résolu pour indiquer quelle aurait été votre approche.

Conseils

– Si nécessaire, privilégiez la qualité plutôt que la quantité. Vous devriez prendre le temps de lire tous les énoncés et choisir quels exercices vous préférez résoudre.

– Avant de démarrer, préparez une solution de test afin de pouvoir débugger les problèmes difficiles à cerner seulement en lisant le code. CodinGame ne permet pas d’exécuter votre programme étape par étape ou de placer des breakpoints.

– Vous pouvez utiliser la librairie standard C++ (ou C), mais n’oubliez pas que le but de ce test est de prouver vos habiletés. Trouver un bon équilibre entre le code fait « à la main » et l’utilisation de fonctions de haut-niveau est à votre discrétion. Dans ce dernier cas, le candidat est encouragé à commenter son choix de fonction.

Raison: Dans un environnement de travail réel et multiplateforme, les fonctions haut-niveau de la librairie standard ne sont pas toujours disponibles ou appropriées.

Note: Utiliser qsort (C) ou std ::sort (C++) est acceptable.

– Utilisez la fenêtre nommée « test code » en bas à droite pour ajouter des cas de test et valider vos cas limites.

– Vous pouvez créer des fonctions pour améliorer la lisibilité ou éviter la duplication de code.

– Finalement, nous vous conseillons de vous familiariser avec l’environnement Codingame en utilisant l’option « Tutoriel » avant de démarrer le test.

Bon succès!