← Curriculum

Comment aborder un problème d'algo en entretien

Un cadre répétable pour ne jamais rester bloqué face à un énoncé, même inconnu.

1. Clarifie l'énoncé : reformule le problème avec tes mots, demande les contraintes (taille de l'entrée, valeurs négatives possibles, doublons, entrée triée ?) et 2-3 exemples, y compris des cas limites (entrée vide, un seul élément).

2. Trouve une solution brute force, même inefficace. L'objectif est d'avoir quelque chose qui fonctionne et d'énoncer sa complexité — ça montre que tu sais analyser un algorithme, et ça te donne une base à optimiser.

3. Identifie le travail redondant dans la brute force : recalcules-tu la même chose plusieurs fois ? Un hashmap peut-il remplacer une recherche linéaire répétée ? Le tri préalable simplifie-t-il le problème ?

4. Relie le problème à un pattern connu (two pointers, sliding window, BFS/DFS, DP...). La plupart des problèmes d'entretien sont des variations d'une poignée de patterns — c'est tout l'objet des phases suivantes de ce parcours.

5. Code proprement, en verbalisant ce que tu fais. Teste ensuite mentalement sur un exemple simple, puis sur un cas limite. Annonce la complexité finale en temps et en espace.

Quiz

1. Quelle est la première chose à faire face à un nouvel énoncé en entretien ?

2. Pourquoi passer par une solution brute force avant d'optimiser ?

3. Repérer qu'une solution recalcule plusieurs fois la même chose pointe souvent vers :