Quizz - Optimisation de Code : Trouvez l'Erreur

Bienvenue dans notre quizz "Optimisation de Code : Trouvez l'Erreur", conçu pour les développeurs aguerris prêts à relever des défis de taille ! Plongez dans des extraits de code complexes où chaque détail compte et testez vos compétences en débusquant les erreurs subtiles qui ralentissent ou compromettent la performance des programmes. Serez-vous capable de repérer les failles cachées et de proposer des solutions efficaces ? Préparez-vous à affiner votre œil de lynx et à faire chauffer vos neurones !

Niveau : difficile

Quel est le problème avec ce code Ruby: 10.times { |i| i += 1 }
iModifier 'i' n'a pas d'effet à l'extérieur du bloc. C'est comme changer de direction sur un tapis roulant; on reste au même endroit.
1/15
iModifier 'i' n'a pas d'effet à l'extérieur du bloc. C'est comme changer de direction sur un tapis roulant; on reste au même endroit.
Quel est le problème avec ce code PHP: $result = 0; for ($i = 0; $i < 100; $i++) { $result += 0.1; }
iL'addition répétée de 0.1 produit une erreur d'arrondi. En PHP, comme dans d'autres langages, flotter sur des virgules flottantes peut être un peu glissant !
2/15
iL'addition répétée de 0.1 produit une erreur d'arrondi. En PHP, comme dans d'autres langages, flotter sur des virgules flottantes peut être un peu glissant !
Quel est le problème dans ce code Swift: var numbers = [1, 2, 3]; numbers.map { $0 * 2 }
iLe résultat de 'map' est ignoré. C'est comme cuisiner un repas et l'oublier sur la table.
3/15
iLe résultat de 'map' est ignoré. C'est comme cuisiner un repas et l'oublier sur la table.
Que manque-t-il dans ce code Go: func main() { fmt.Println("Hello, World") }
iSans 'import "fmt"', le programme ne sait pas où trouver 'Println'. C'est comme essayer de téléphoner sans avoir composé le bon indicatif.
4/15
iSans 'import "fmt"', le programme ne sait pas où trouver 'Println'. C'est comme essayer de téléphoner sans avoir composé le bon indicatif.
Quel est le problème dans ce code Python: def calc(): return [x**2 for x in range(10**7)]
iLa liste générée est énorme, consommant beaucoup de mémoire. C'est comme remplir un ballon avec trop d'air jusqu'à ce qu'il explose.
5/15
iLa liste générée est énorme, consommant beaucoup de mémoire. C'est comme remplir un ballon avec trop d'air jusqu'à ce qu'il explose.
Quel est le problème avec ce code R: df <- data.frame(x = c(1, 2, 3)); df['y'] <- df$x * 2
iL'assignation avec df['y'] crée une liste au lieu d'un vecteur. C'est comme essayer de ranger des pommes dans une boîte et se retrouver avec un panier.
6/15
iL'assignation avec df['y'] crée une liste au lieu d'un vecteur. C'est comme essayer de ranger des pommes dans une boîte et se retrouver avec un panier.
Quel est le problème avec cette fonction JavaScript: function double(x) { return x + x; }
iSi 'x' est une chaîne, le code concatène la chaîne au lieu de la doubler mathématiquement. C'est comme essayer de doubler 5 et obtenir 55 au lieu de 10.
7/15
iSi 'x' est une chaîne, le code concatène la chaîne au lieu de la doubler mathématiquement. C'est comme essayer de doubler 5 et obtenir 55 au lieu de 10.
Quel est l'erreur dans ce code SQL: SELECT * FROM users WHERE age = 25;
iSELECT * récupère toutes les colonnes, ce qui peut être inefficace. C'est comme demander tout le menu quand on veut juste un café.
8/15
iSELECT * récupère toutes les colonnes, ce qui peut être inefficace. C'est comme demander tout le menu quand on veut juste un café.
Quel est l'erreur dans ce code TypeScript: let arr: number[] = [1, 2, 3]; arr.push('4');
iLe tableau est défini pour contenir des nombres, donc ajouter une chaîne provoque une erreur. C'est comme essayer de mettre un carré dans un trou rond.
9/15
iLe tableau est défini pour contenir des nombres, donc ajouter une chaîne provoque une erreur. C'est comme essayer de mettre un carré dans un trou rond.
Quel est le problème principal de ce code C++: int a = 0; for (int i = 0; i < 1000; ++i) a = i * i;
iBien que le code compile et s'exécute, 'a' est calculé mais jamais utilisé. C'est comme préparer un repas et le jeter à la poubelle !
10/15
iBien que le code compile et s'exécute, 'a' est calculé mais jamais utilisé. C'est comme préparer un repas et le jeter à la poubelle !
Quel est l'erreur dans ce code Java: int sum = 0; for (int i = 0; i < 10; i++); { sum += i; }
iLe point-virgule après 'for' termine la boucle prématurément. C'est comme fermer la porte avant d'entrer dans la pièce.
11/15
iLe point-virgule après 'for' termine la boucle prématurément. C'est comme fermer la porte avant d'entrer dans la pièce.
Quel est le problème avec ce code Rust: let mut sum = 0; for i in 0..10 { sum += i };
iLe code calcule bien 'sum', mais sans l'afficher, c'est comme faire un gâteau et ne pas le manger.
12/15
iLe code calcule bien 'sum', mais sans l'afficher, c'est comme faire un gâteau et ne pas le manger.
Quel est le problème avec ce code C#: string result = ""; for (int i = 0; i < 100; i++) { result += i.ToString(); }
iConcaténer avec '+' dans une boucle crée de nombreuses chaînes intermédiaires. C'est comme construire une maison en démolissant et reconstruisant chaque brique.
13/15
iConcaténer avec '+' dans une boucle crée de nombreuses chaînes intermédiaires. C'est comme construire une maison en démolissant et reconstruisant chaque brique.
Quel est le problème avec ce code Kotlin: val names = listOf("Alice", "Bob"); names.add("Charlie")
iLes listes créées avec 'listOf' sont immuables. C'est comme essayer de graver un nom sur une pierre déjà gravée.
14/15
iLes listes créées avec 'listOf' sont immuables. C'est comme essayer de graver un nom sur une pierre déjà gravée.
Quel est l'erreur dans ce code Perl: my @array = (1, 2, 3); my $sum += $_ for @array;
i$sum n'est pas initialisée, ce qui conduit à une erreur. C'est comme essayer de compter de l'argent sans savoir combien on a au départ.
15/15
i$sum n'est pas initialisée, ce qui conduit à une erreur. C'est comme essayer de compter de l'argent sans savoir combien on a au départ.