Leet­code

Je cherche un bon moyen d’éva­luer la compé­tence tech­nique d’un déve­lop­peur. Aujourd’­hui j’ai un test qui semble bien fonc­tion­ner pour notre usage mais que je trouve clai­re­ment trop long avec 4 heures.

J’ai toujours été réti­cent aux exer­cices tableau blanc de type parcours d’arbre, calculs sur tableau et autres jeux d’al­go­rithme. J’ai quand même voulu tester un peu les clas­siques leet­code que certains utilisent comme lors des tests d’en­trée.

Quelques conclu­sions après une ving­taine d’exer­cices de diffi­cul­tés variables d’un parcours qui m’est présenté comme repré­sen­ta­tif :

Ces exer­cices dépen­dant plus du bacho­tage préa­lable que de l’ex­pé­rience ou de la compé­tence.

Pour une bonne partie, le faire bien demande d’avoir vu le truc une fois, ou de connaître le bon algo. Ce ne sont pas des choses qui se trouvent simple­ment en réflé­chis­sant, a fortiori pas pendant un test tech­nique en temps limité avec une dose de stress.

J’en ai un ou deux dont je ne connais­sais pas l’al­go­rithme et je n’ai pas été capable de trou­ver une bonne solu­tion en termes de récur­si­vité, complexité de calcul ou espace mémoire. Ça ne s’in­vente pas.

À l’op­posé, sur la plupart je connais­sais le truc et le temps passé était sur la syntaxe ou des erreurs d’inat­ten­tion. Zéro inté­rêt. Même là où l’ex­pé­rience a pu jouer, sur les parcours avec des poin­teurs, je classe ça dans les connais­sances qui ne m’ont presque jamais servi et pas dans les acquis de l’ex­pé­rience.

Je suis convaincu qu’un débu­tant sorti d’école avec un peu de bagage théo­rique et pas mal de bacho­tage s’en sortira bien mieux, y compris à expliquer sa solu­tion, qu’un déve­lop­peur senior avec un super impact en entre­prise.

Je ne vois pas comment ça va aider à justi­fier de ma valeur ou à évaluer celle des autres

Je ne dis pas qu’on n’a jamais à jouer avec les poin­teurs, les tris, les parcours et ce genre de choses, mais ce n’est clai­re­ment pas repré­sen­ta­tif des problé­ma­tiques qui seront rencon­trées.

Le cas échéant, ce sont juste­ment des problèmes pour lesquels on va utili­ser des biblio­thèques exis­tantes ou pour lesquels on trou­vera très bien la réponses sur un moteur de recherche.

Il est évident que l’exer­cice va permettre de faire un tri dans les candi­dats mais je n’ai pas l’im­pres­sion que ce soit sur le bon critère.

Bien évidem­ment ça doit dépendre des métiers. Un ingé­nieur sur le cœur d’une base de données doit certai­ne­ment être assez près de ces problé­ma­tique, mais ça ne me semble pas être le cas de 90% des ingé­nieurs.

Peut-être que je n’ai pas vu les bons tests, mais je reste assez dubi­ta­tif.

Pour ceux qui utilisent ces tests ou des simi­laires, y compris ceux à l’as­pect un peu plus ludique, qu’y cher­chez-vous exac­te­ment ?


Publié

dans

,

par

Étiquettes :

Commentaires

Une réponse à “Leet­code”

  1. Avatar de Karl

    Dans les entretiens où le candidat passait un test, je tentais de me concentrer sur ce que le candidat communique à propos du code, sa démarche de pensée plutôt que la résolution réelle.

    La question n’est pas tant de savoir si c’est O(n), mais comment mesurer la différence entre deux solutions. Comment se protéger de certains cas d’erreurs, etc. etc.

    Également, en compat Web, donner un morceau de code JS qui fonctionne correctement mais peut être amélioré parce que ne fonctionne que sur un type de navigateurs, etc. etc. Donc savoir analyser et lire du code de quelqu’un d’autres est essentiel et comprendre ce qui ne marche pas ou au moins être rendu plus robuste.

Laisser un commentaire

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