Que tu sois débutant ou plus expérimenté, les tests d'algorithmique peuvent sembler intimidants et te mettre sous pression. Toutefois, une préparation adéquate peut t'aider à surmonter les obstacles. Dans cet article, nous te fournirons des astuces clés pour t'aider à mieux te préparer et à passer le test en toute confiance.
🤔 Comment se déroule un test d'algo ?
Des tests d’algorithmique se retrouvent dans bon nombre de processus de recrutement. Ces tests sont rarement constitués d’un seul gros problème à résoudre. Ils sont plutôt sous la forme de plusieurs questions simples, du genre : Vous avez X, trouvez un moyen pour faire Y. Le temps à consacrer sur une question est d’une dizaine de minutes maximum. Plus ton interlocuteur te posera de questions, plus il pourra avoir une bonne idée de ton niveau en algorithmique.
Dis-toi que les questions sont adressables dans un temps relativement court. Il n’est donc pas nécessaire d’aller chercher des solutions compliquées. Ton interlocuteur va tester tes réflexes algorithmiques, il y a donc de fortes chances pour que tu aies déjà été confronté à cette question.
👍 Avoir bien compris
Tu ne vas pas perdre des points en demandant des éclaircissements ou des exemples. Une bonne approche est de reformuler la question, ceci te permet de valider que tu as bien compris. Ceci permet aussi à ton interlocuteur de valider que tu as bien compris. Une chose est sûre, personne ne s’attend à ce que tu résolves la question dès les premières minutes !
💡 Trouver une première solution
Il y a peu de chances que tu trouves du premier coup la solution que ton interlocuteur a en tête. Il est donc préférable d’aller chercher d’abord la solution la plus simple, en utilisant par exemple la brute-force.
Même si ta solution n’est pas efficace, ce n’est pas grave. Cette première solution te permettra d’engranger de la confiance pour toi et ton interlocuteur ainsi que de commencer à traiter le problème dans sa globalité (cas limites, structure de données, etc.)
✍️ Passer à l'écrit
Le passage à l’écrit est souvent d’une grande aide, ceci améliore considérablement la capacité d’analyse.
La première chose que tu peux faire est de borner, c'est-à-dire lister par écrit des exemples qui répondent positivement à la question et des exemples qui n’y répondent pas. Ceci permet de bien percevoir les “cas d’utilisation” de la question.
Ensuite, l'écrit te permet de visualiser. Toutes les questions ne permettent pas de le faire, mais si tu arrives à dessiner ta question sous forme d'un diagramme, une bonne partie du chemin pour trouver la solution est parcourue. Le diagramme peut prendre la forme d'une matrice, d'un graphe, d'un arbre, d'une pile…
Après avoir borné et visualisé la question, il est possible de griffonner un premier algorithme. Précise bien à ton interlocuteur que tu mets tes idées en place. Ne t'occupe de la syntaxe, écris en pseudo-code ou tout autre langage qui te met à l'aise. Il faut juste produire une première chose qui va t’aider à structurer ta pensée pour améliorer ta puissance d’analyse.
🗣️ Échanger avec ton interlocuteur
Parler avec ton interlocuteur est très important et a beaucoup d’avantages.
Il n’y a rien de plus frustrant d’être à côté de quelqu’un qui déroule un raisonnement tout en n’étant pas capable de le suivre ou de l’accompagner. Et tu n’es pas là pour frustrer ton interlocuteur : verbalise ce que tu es en train de faire.
Verbaliser ton raisonnement va aussi permettre à ton interlocuteur de mieux te guider, si tu fais fausse route, il aura la possibilité de te réorienter, alors que si tu ne dis rien il ne pourra pas savoir que tu pars dans la mauvaise direction.
De la même manière qu’écrire aide à raisonner, parler aide à résoudre. Tu as sans doute déjà expérimenté la méthode du canard en plastique : tu es face à un problème, tu demandes de l’aide à un collègue, tu lui expliques ton problème et en expliquant tu trouves la solution.
N’aie pas peur de faire des erreurs, n’aie pas peur de poser des questions, n’aie pas peur de demander de l’aide, ton interlocuteur est là pour t’aider, comporte-toi avec lui comme tu le ferais avec un collègue.
🔁 Repartir de zéro
Lorsque tu te penches sur un problème d'algorithme, il est fréquent de se sentir bloqué. Cependant, il ne faut pas avoir peur de revenir en arrière et de reconsidérer sa stratégie. Souvent, un regard frais sur le problème peut aider à voir des solutions que l'on n'avait pas considérées auparavant.
Parfois, les développeurs peuvent être trop attachés à leur première idée, même si cela ne fonctionne pas ou est inefficace. Il est important de garder l'esprit ouvert et d'explorer différentes options. Revenir en arrière et réexaminer les étapes précédentes peut être une bonne stratégie pour débloquer une situation difficile.
📖 Balayer les structures et les algorithmes de base
Il est très rare d’avoir besoin d’être inventif sur les structures de données et les algorithmes pour résoudre le problème posé. Dans cet article, tu trouveras quelques algorithmes et structures de données à connaître. Tu pourras toujours revenir sur ces bases si tu te sens bloqué.
🏋 ️Pratiquer en amont
La meilleure façon de vaincre la peur de l’entretien d’algo est encore de pratiquer. Plus l’on pratique, plus l’on devient bon dans ce domaine. Découvre des exercices d'algorithmique sur lesquels tu pourras tester tes connaissances.