# パフォーマンスとクラウドデプロイ (Node.js / NestJS) > Event loop、blocking I/O、profiling、memory leaks、クエリ最適化、圧縮、clustering、worker threads、load balancing、戦略的キャッシング(Redis + HTTP)、AWS(ECS、Lambda)、serverless、デプロイ戦略(blue/green、canary) - 30 面接問題 - Senior - [面接問題: Node.js / NestJS](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions.md) ## 1. AWS ECSでのNestJSコンテナのデプロイを最適化するアプローチはどれですか? **回答** NestJSコンテナのECSデプロイを最適化するには:multi-stage Dockerビルドを使って最終イメージサイズを削減(buildステージ + 最小限のproductionステージ)、Dockerのlayer cachingを活用してビルドを高速化、同一リージョンでECR(Elastic Container Registry)を使ってlatencyを削減、適切なhealth checksを設定、Fargateを使って管理を簡素化、最適なresource limits(CPU/memory)を定義、SIGTERMに対するgraceful shutdownを実装します。最適化されたNode.js alpineイメージは、最適化なしの>1GBに対して<100MBにできます。 ## 2. Node.jsのevent loopの主なフェーズは何ですか? **回答** Node.jsのevent loopには6つの主要フェーズがあります:timers(setTimeout/setInterval)、pending callbacks(遅延されたI/O callbacks)、idle/prepare(内部)、poll(新しいI/Oイベントの取得)、check(setImmediate)、close callbacks。各フェーズには実行するcallbacksのFIFOキューがあります。pollフェーズはI/Oイベントを処理するため最も重要です。 ## 3. Node.jsにおけるブロッキング操作(blocking I/O)の影響は何ですか? **回答** Node.jsにおけるブロッキング操作はevent loop全体をブロックし、他のすべての操作の処理を妨げます。Node.jsはシングルスレッドのため、これによりパフォーマンスが大幅に低下します。fs.readFileSync、crypto.pbkdf2Syncなどの同期操作や集中的なループはメインスレッドをブロックします。常に非同期版を使うか、worker threadsに委譲してください。 ## さらに27問利用可能 - 本番環境のNode.jsアプリケーションでmemory leakをどのように特定しますか? - NestJSアプリケーションのCPUパフォーマンスをprofilingするにはどのツールを使いますか? 無料で登録: https://sharpskill.dev/ja/login ## その他のNode.js / NestJS面接トピック - [Node.js の基礎](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/nodejs-fundamentals.md): 20問, Junior - [Node.js コア API](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/nodejs-core-apis.md): 25問, Junior - [非同期プログラミング](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/asynchronous-programming.md): 25問, Junior - [Express.js の基礎](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/express-basics.md): 20問, Junior - [NestJSの基礎](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/nestjs-fundamentals.md): 23問, Junior - [REST API 設計](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/rest-api-design.md): 20問, Junior - [バリデーションとDTO](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/validation-dto.md): 20問, Junior - [APIドキュメントと契約](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/api-documentation.md): 20問, Junior - [エラーハンドリング](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/error-handling.md): 20問, Junior - [ユニットテスト](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/testing-unit.md): 20問, Junior - [タスクスケジューリング](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/scheduling-cron.md): 15問, Junior - [NestJS のモジュールと DI](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/nestjs-modules-di.md): 20問, Mid-Level - [設定と環境管理](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/configuration-environment.md): 20問, Mid-Level - [JWT認証](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/authentication-jwt.md): 25問, Mid-Level - [認可とRBAC](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/authorization-rbac.md): 20問, Mid-Level - [TypeORMによるデータベース](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/database-typeorm.md): 30問, Mid-Level - [Prisma ORM](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/prisma-orm.md): 25問, Mid-Level - [ミドルウェアとインターセプター](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/middleware-interceptors.md): 20問, Mid-Level - [ファイルアップロード](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/file-upload.md): 15問, Mid-Level - [WebSockets](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/websockets.md): 20問, Mid-Level - [NestJSによるGraphQL](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/graphql-basics.md): 25問, Mid-Level - [エンドツーエンドテスト](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/testing-e2e.md): 20問, Mid-Level - [Redisによるキャッシング](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/caching-redis.md): 20問, Mid-Level - [Bull によるキュー](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/queues-bull.md): 20問, Mid-Level - [DevOps、Logging、CI/CD](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/logging-monitoring.md): 25問, Mid-Level - [Docker とコンテナ化](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/docker-containerization.md): 25問, Mid-Level - [マイクロサービス](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/microservices.md): 30問, Senior - [セキュリティのベストプラクティス](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/security-best-practices.md): 25問, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/performance-optimization