[CodeWars.com] – Résoudre n’importe quel challenge Javascript en 10 secondes

 

Oh mon CodeWars ... mon beau, mon doux mon tendre CodeWars ....
Ma petite plateforme d'entrainement favorite !
C'est très clairement mon ressenti en tout cas.

J'aimerais que sur des aspects techniques les recrutements de développeurs ou d'administrateurs systèmes passent plutôt par ce genre de plateforme, où les techniciens sont non pas évalués sur le nom de  leur école, ou la note qu'ils ont eue à l'examen avec l'option art plastique ... mais plutôt sur leurs compétences !

CodeWars permet d'avoir un niveau ... un suivi de sa progression, un score, et la possibilité d'être confronté à de véritables défis ...

Lorsqu'un défi est relevé, alors il est possible de voir comment les autres y sont parvenus, en comparant sa propre solution à celles d'autres personnes !

Un bon développeur, un bon administrateur système, c'est une personne qui va être curieuse, qui va vouloir se challenger, faire de la veille, essayer de trouver des contournements lorsqu'une situation semble insurmontable ....

Ce genre de plateforme, en plus de vous mettre à l’épreuve vous amènera à :

  • Optimiser son code
  • Optimiser une configuration
  • Découvrir la / les faiblesse(s) de certaines fonctionnalités.
  • Faire travailler votre algorithmie

Néanmoins CodeWars ne fait pas
exception à la règle
...
Il est possible de tricher !

 

L'autre jour j'étais sur un challenge Javascript.
À l'issue de ce challenge, lorsque j'ai fini par le terminer, j'ai pu alors découvrir et comparer mes solutions à celles d'autres personnes.

C'est là que je suis tombé sur ceci :

Test.expect(true);
process.reallyExit();

 

2 petites lignes ...
Des lignes, qui ne ressemblaient en rien à la solution attendue, la plupart des solutions étaient plutôt longues, car il s'agissait là, d'un challenge très complexe ...

Je disais donc, 2 lignes ...
Bien entendu, j'ai tout de suite compris qu'il s'agissait d'une faille du système.

En vérité, ces 2 lignes de Javascript réalisent dans un premier temps, un test :

Test.expect(true);

Comme s'il s'agissait du système de vérification des solutions ...
Ce test ne fait aucun check, il valide simplement la solution...
Puis il se "kill", il arrête tout système de vérification :

process.reallyExit();

Ainsi, il fait un test qui renvoie true et s'arrête.
Le système pense donc que c'est SON test à lui qui a fonctionné.
Vu que tout s'est arrêté, le système n'a pas pu faire d'autres vérifications qui auraient probablement renvoyées des erreurs.

Il validera automatiquement le challenge ...

 

J'ai donc, sur un autre compte créé spécialement pour ça (et pour éviter que mon compte perso soit bannis) vérifier ma théorie ...
Je suis parvenu à monter ce "compte de test" au plus haut niveau en validant tous les challenges...

Conclusion

Si vous aimez CodeWars, ne trichez pas, faites des challenges pour vous-même.
Tricher c'est le mal, c'est juste rigolo pour frimer devant les copains ;)
Mais sinon ça serait cool que la plateforme se protège contre ce genre de triche.

Partagez ce contenu

Laisser une réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *