
パフォーマンスと最適化
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問