Symfony

Desempenho e otimização

Profiler, Blackfire, otimização de queries, lazy loading, eager loading, estratégias de caching

22 perguntas de entrevista·
Senior
1

Qual é o objetivo principal do Symfony Profiler no ciclo de desenvolvimento?

Resposta

O Symfony Profiler é uma ferramenta de depuração que coleta informações detalhadas sobre cada requisição HTTP: tempo de execução, queries SQL, uso de memória, cache, events e muito mais. Ele ajuda a identificar gargalos e a analisar o comportamento da aplicação sem modificar o código. Diferente dos logs tradicionais, oferece uma interface gráfica interativa acessível pela Web Debug Toolbar.

2

Como o Blackfire se diferencia do Symfony Profiler para a análise de desempenho?

Resposta

Blackfire é um profiler de aplicações PHP que realiza uma análise profunda do código no nível função por função, com call graphs, comparações de perfis e detecção de regressões. Diferente do Symfony Profiler, que oferece uma visão geral por requisição, o Blackfire rastreia a execução completa do código com métricas de CPU, memória e I/O em cada chamada de função. Ele também permite comparar o desempenho entre diferentes versões do código.

3

Qual é a diferença entre lazy loading e eager loading no Doctrine ORM?

Resposta

O lazy loading carrega as relações apenas quando elas são realmente acessadas no código, o que reduz a carga inicial mas pode gerar o problema N+1 com múltiplas queries adicionais. O eager loading carrega as relações imediatamente junto com a query principal via JOIN, evitando queries extras mas aumentando potencialmente a quantidade de dados transferidos. A escolha depende de como os dados serão usados.

4

Como identificar e resolver o problema de N+1 queries com o Doctrine?

5

Qual estratégia de cache usar para dados que mudam raramente mas são lidos com frequência?

+19 perguntas de entrevista

Domine Symfony para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis