
Продуктивність та оптимізація
Profiler, Blackfire, оптимізація запитів, lazy loading, eager loading, стратегії кешування
1Яка основна мета Symfony Profiler у циклі розробки?
Яка основна мета Symfony Profiler у циклі розробки?
Відповідь
Symfony Profiler — це інструмент налагодження, який збирає детальну інформацію про кожен HTTP-запит: час виконання, SQL-запити, використання пам'яті, cache, events тощо. Він допомагає виявляти вузькі місця та аналізувати поведінку застосунку без зміни коду. На відміну від звичайних логів, він надає інтерактивний графічний інтерфейс, доступний через Web Debug Toolbar.
2Чим Blackfire відрізняється від Symfony Profiler для аналізу продуктивності?
Чим Blackfire відрізняється від Symfony Profiler для аналізу продуктивності?
Відповідь
Blackfire — це профайлер PHP-застосунків, який виконує глибокий аналіз коду на рівні функцій, з call graphs, порівнянням профілів та виявленням регресій. На відміну від Symfony Profiler, який дає огляд для кожного запиту, Blackfire відстежує повне виконання коду з метриками CPU, пам'яті та I/O на кожному виклику функції. Він також дозволяє порівнювати продуктивність між різними версіями коду.
3Яка різниця між lazy loading та eager loading у Doctrine ORM?
Яка різниця між lazy loading та eager loading у Doctrine ORM?
Відповідь
Lazy loading завантажує зв'язки лише тоді, коли до них дійсно звертаються в коді, що зменшує початкове навантаження, але може спричинити проблему N+1 з численними додатковими запитами. Eager loading завантажує зв'язки одразу разом з основним запитом через JOIN, уникаючи додаткових запитів, але потенційно збільшуючи обсяг переданих даних. Вибір залежить від того, як використовуватимуться дані.
Як виявити та вирішити проблему N+1 queries за допомогою Doctrine?
Яку стратегію кешування використовувати для даних, які рідко змінюються, але часто читаються?
+19 питань зі співбесід
Інші теми співбесід Symfony
Сучасний PHP (8.1+)
Основи Symfony
Routing & Controllers
Twig & Templates
Основи Doctrine ORM
Форми Symfony
Валідація даних
Dependency Injection & Services
Security & Authentication
Doctrine для просунутих
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
Messenger Component
HTTP Client
Cache та продуктивність
Workflow Component
Testing Symfony
Mailer Component
Переклади та i18n
EasyAdmin Bundle
Архітектура Symfony
Розширена безпека
Користувацькі бандли
Microservices із Symfony
Real-time & WebSockets
Deployment & DevOps
Опануй Symfony для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно