Aborder un problème d'entretien
DébutantUn cadre en 5 étapes pour ne jamais rester bloqué, même face à un énoncé inconnu.
La méthode#
- Clarifier : reformulez avec vos mots, demandez les contraintes (taille de
n, valeurs négatives, doublons, entrée triée ?) et 2-3 exemples, dont des cas limites (vide, un seul élément). - Brute force d'abord : une solution correcte même lente, avec sa complexité. Elle prouve que vous savez analyser et donne une base à optimiser.
- Chasser le travail redondant : recalcule-t-on la même chose ? Un hashmap peut-il remplacer une recherche répétée ? Un tri préalable simplifie-t-il ?
- Relier à un pattern : hashmap, two pointers, sliding window, BFS/DFS, DP… (voir la leçon « Reconnaître le bon pattern »).
- Coder en parlant, puis tester sur un exemple simple et un cas limite, et annoncer la complexité finale.
Checklist des cas limites#
| Situation | À tester |
|---|---|
| Entrée vide | [], "", null |
| Un seul élément | La boucle ne s'exécute qu'une fois |
| Doublons | Tous identiques, ou presque |
| Valeurs négatives ou zéro | Sommes, produits, indices |
| Très grande entrée | Dépassement d'entier, récursion trop profonde |
Astuce : bloqué ? Dessinez un petit exemple à la main et notez ce que vous faites pour le résoudre. Cette procédure mentale est souvent l'algorithme.