"Optimisez votre entretien technique JavaScript avec cette cheatsheet complète !"
## Questions théoriques frequentes
- **Q: Qu'est-ce que l'event loop en JavaScript?**
L'event loop est ce qui permet à JavaScript de gérer les fonctions asynchrones. Elle prend des fonctions non bloquantes, les exécute et attend leur fin avant de passer à la suivante.
- **Q: Quelle est la différence entre == et === en JavaScript?**
== compare les valeurs après avoir converti le type si nécessaire, tandis que === compare les valeurs et le type.
## Exercices de code classiques
- **Exo 1 : Inverser une chaîne de caractères**
```javascript
function reverseString(str) {
return str.split('').reverse().join('');
}
- Exo 2 : Vérifier si un nombre est premier
function isPrime(num) {
for(let i = 2, sqrt = Math.sqrt(num); i <= sqrt; i++)
if(num % i === 0) return false;
return num > 1;
}
- Exo 3 : Fusionner deux tableaux sans doublons
function mergeArrays(array1, array2) {
return [...new Set([...array1, ...array2])];
}
Pieges courants en entretien
- Piege 1 : Augmenter une variable globale dans un callback asynchrone
La variable peut ne pas être augmentée comme prévu en raison de l'exécution asynchrone.
for (var i = 0; i < 5; i++) {
setTimeout(function() { console.log(i); }, i * 1000);
}
// Affiche 5 fois 5, pas 0 à 4
Complexité algorithmique
- Opération : Parcourir un tableau
Complexité : O(n)
Concepts avancés a connaitre
- Promise : Un objet qui représente une valeur qui peut être disponible maintenant, dans le futur ou jamais.
- async/await : Permet de gérer les promesses en utilisant un style synchrone plus lisible.
Conseils pratiques
- Exercice régulier : Pratiquer régulièrement pour rester à jour avec les dernières tendances et technologies.
- Lire du code open source : C'est une excellente façon d'apprendre des autres développeurs professionnels.
- Savoir lire la documentation : La documentation est un outil précieux pour comprendre comment utiliser les bibliothèques et frameworks modernes.