
Performance & Optimisation
Profiler, Blackfire, query optimization, lazy loading, eager loading, caching strategies
1Quel est l'objectif principal du Symfony Profiler dans le cycle de développement ?
Quel est l'objectif principal du Symfony Profiler dans le cycle de développement ?
Réponse
Le Symfony Profiler est un outil de débogage qui collecte des informations détaillées sur chaque requête HTTP : temps d'exécution, requêtes SQL, mémoire, cache, events et bien plus. Il permet d'identifier les goulots d'étranglement et d'analyser le comportement de l'application sans modifier le code. Contrairement aux logs classiques, il offre une interface graphique interactive accessible via la Web Debug Toolbar.
2Comment Blackfire se différencie-t-il du Symfony Profiler pour l'analyse de performance ?
Comment Blackfire se différencie-t-il du Symfony Profiler pour l'analyse de performance ?
Réponse
Blackfire est un profiler d'application PHP qui effectue une analyse approfondie du code au niveau fonction par fonction, avec call graphs, comparaisons de profils et détection de régressions. Contrairement au Symfony Profiler qui donne une vue d'ensemble par requête, Blackfire trace l'exécution complète du code avec des métriques CPU, mémoire et I/O à chaque appel de fonction. Il permet aussi de comparer les performances entre différentes versions du code.
3Quelle est la différence entre lazy loading et eager loading dans Doctrine ORM ?
Quelle est la différence entre lazy loading et eager loading dans Doctrine ORM ?
Réponse
Le lazy loading charge les relations uniquement lorsqu'elles sont effectivement accédées dans le code, ce qui réduit la charge initiale mais peut créer le problème N+1 avec de multiples requêtes supplémentaires. L'eager loading charge les relations immédiatement avec la requête principale via JOIN, évitant les requêtes supplémentaires mais augmentant potentiellement la quantité de données transférées. Le choix dépend du contexte d'utilisation des données.
Comment identifier et résoudre le problème N+1 queries avec Doctrine ?
Quelle stratégie de cache utiliser pour des données qui changent rarement mais sont lues fréquemment ?
+19 questions d'entretien
Autres sujets d'entretien Symfony
PHP Moderne (8.1+)
Les bases de Symfony
Routing & Controllers
Twig & Templates
Doctrine ORM - Les bases
Formulaires Symfony
Validation de données
Dependency Injection & Services
Security & Authentication
Doctrine avancé
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
Messenger Component
HTTP Client
Cache & Performance
Workflow Component
Testing Symfony
Mailer Component
Translations & i18n
EasyAdmin Bundle
Architecture Symfony
Sécurité avancée
Custom Bundles
Microservices avec Symfony
Real-time & WebSockets
Deployment & DevOps
Maîtrise Symfony pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement