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
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に委譲してください。

4

本番環境のNode.jsアプリケーションでmemory leakをどのように特定しますか?

5

NestJSアプリケーションのCPUパフォーマンスをprofilingするにはどのツールを使いますか?

+27 面接問題

次の面接に向けてNode.js / NestJSをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める