
성능 및 최적화
Profiler, Blackfire, 쿼리 최적화, lazy loading, eager loading, 캐싱 전략
22 면접 질문·
Senior
1개발 주기에서 Symfony Profiler의 주요 목적은 무엇인가요?
1
개발 주기에서 Symfony Profiler의 주요 목적은 무엇인가요?
답변
Symfony Profiler는 각 HTTP 요청에 대한 상세 정보(실행 시간, SQL 쿼리, 메모리 사용량, cache, events 등)를 수집하는 디버깅 도구입니다. 코드를 수정하지 않고도 병목 지점을 식별하고 애플리케이션 동작을 분석할 수 있게 해줍니다. 기존 로그와 달리 Web Debug Toolbar를 통해 접근할 수 있는 대화형 그래픽 인터페이스를 제공합니다.
2성능 분석에서 Blackfire는 Symfony Profiler와 어떻게 다른가요?
2
성능 분석에서 Blackfire는 Symfony Profiler와 어떻게 다른가요?
답변
Blackfire는 함수 단위로 코드를 심층 분석하는 PHP 애플리케이션 프로파일러로, call graphs, 프로파일 비교, 회귀 탐지 기능을 제공합니다. 요청 단위 개요를 제공하는 Symfony Profiler와 달리, Blackfire는 각 함수 호출마다 CPU, 메모리, I/O 지표와 함께 코드 실행 전체를 추적합니다. 또한 서로 다른 코드 버전 간의 성능을 비교할 수 있습니다.
3Doctrine ORM에서 lazy loading과 eager loading의 차이점은 무엇인가요?
3
Doctrine ORM에서 lazy loading과 eager loading의 차이점은 무엇인가요?
답변
lazy loading은 코드에서 실제로 접근할 때만 연관 관계를 로드하므로 초기 부하를 줄이지만, 여러 추가 쿼리로 인해 N+1 문제를 일으킬 수 있습니다. eager loading은 JOIN을 통해 메인 쿼리와 함께 연관 관계를 즉시 로드하여 추가 쿼리를 피하지만, 전송되는 데이터 양이 늘어날 수 있습니다. 선택은 데이터를 어떻게 사용할지에 따라 달라집니다.
4
Doctrine에서 N+1 쿼리 문제를 어떻게 식별하고 해결하나요?
5
거의 변경되지 않지만 자주 읽히는 데이터에는 어떤 캐싱 전략을 사용해야 하나요?
+19 면접 질문
기타 Symfony 면접 주제
모던 PHP (8.1+)
Junior
20개 질문Symfony 기초
Junior
25개 질문Routing & Controllers
Junior
20개 질문Twig & Templates
Junior
20개 질문Doctrine ORM 기초
Junior
25개 질문Symfony 폼
Junior
22개 질문데이터 유효성 검사
Junior
18개 질문Dependency Injection & Services
Mid-Level
24개 질문Security & Authentication
Mid-Level
26개 질문Doctrine 고급
Mid-Level
24개 질문API Platform
Mid-Level
22개 질문Serializer Component
Mid-Level
20개 질문Events & Event Subscribers
Mid-Level
20개 질문Console & Commands
Mid-Level
18개 질문Messenger Component
Mid-Level
22개 질문HTTP Client
Mid-Level
18개 질문캐시 및 성능
Mid-Level
20개 질문Workflow Component
Mid-Level
18개 질문Testing Symfony
Mid-Level
22개 질문Mailer Component
Mid-Level
16개 질문번역 및 i18n
Mid-Level
16개 질문EasyAdmin Bundle
Mid-Level
18개 질문Symfony 아키텍처
Senior
24개 질문고급 보안
Senior
22개 질문커스텀 번들
Senior
20개 질문Symfony를 사용한 마이크로서비스
Senior
22개 질문Real-time & WebSockets
Senior
18개 질문Deployment & DevOps
Senior
20개 질문