
Hiệu năng và triển khai Cloud
Event loop, blocking I/O, profiling, memory leaks, tối ưu query, nén, clustering, worker threads, load balancing, caching chiến lược (Redis + HTTP), AWS (ECS, Lambda), serverless, chiến lược deployment (blue/green, canary)
1Cách tiếp cận nào tối ưu việc triển khai container NestJS trong AWS ECS?
Cách tiếp cận nào tối ưu việc triển khai container NestJS trong AWS ECS?
Câu trả lời
Để tối ưu việc triển khai ECS cho container NestJS: dùng multi-stage Docker builds để giảm kích thước image cuối (build stage + production stage tối thiểu), tận dụng Docker layer caching để tăng tốc build, dùng ECR (Elastic Container Registry) cùng region để giảm latency, cấu hình health checks phù hợp, dùng Fargate để đơn giản hóa quản lý, định nghĩa resource limits (CPU/memory) tối ưu, triển khai graceful shutdown cho SIGTERM. Một image Node.js alpine được tối ưu có thể <100MB so với >1GB khi không tối ưu.
2Các pha chính của event loop trong Node.js là gì?
Các pha chính của event loop trong Node.js là gì?
Câu trả lời
Event loop của Node.js có sáu pha chính: timers (setTimeout/setInterval), pending callbacks (các I/O callback bị trì hoãn), idle/prepare (nội bộ), poll (lấy các sự kiện I/O mới), check (setImmediate), và close callbacks. Mỗi pha có một hàng đợi FIFO các callback để thực thi. Pha poll quan trọng nhất vì nó xử lý các sự kiện I/O.
3Tác động của một thao tác chặn (blocking I/O) trong Node.js là gì?
Tác động của một thao tác chặn (blocking I/O) trong Node.js là gì?
Câu trả lời
Một thao tác chặn trong Node.js sẽ chặn toàn bộ event loop, ngăn tất cả các thao tác khác được xử lý. Điều này làm giảm hiệu năng nghiêm trọng vì Node.js là đơn luồng. Các thao tác đồng bộ như fs.readFileSync, crypto.pbkdf2Sync, hoặc các vòng lặp nặng sẽ chặn thread chính. Luôn dùng phiên bản bất đồng bộ hoặc ủy thác cho worker threads.
Làm thế nào để xác định memory leak trong ứng dụng Node.js ở môi trường production?
Dùng công cụ nào để profiling hiệu năng CPU trong ứng dụng NestJS?
+27 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Node.js / NestJS khác
Kiến thức cơ bản về Node.js
API lõi Node.js
Lập trình bất đồng bộ
Cơ bản về Express.js
Nền tảng NestJS
Thiết kế REST API
Validation và DTO
Tài liệu API & Hợp đồng
Xử lý lỗi
Kiểm thử đơn vị
Lập lịch tác vụ
Module và DI trong NestJS
Cấu hình & Quản lý môi trường
Xác thực JWT
Phân quyền và RBAC
Cơ sở dữ liệu với TypeORM
Prisma ORM
Middleware và Interceptor
Tải lên tệp
WebSockets
GraphQL với NestJS
Kiểm thử End-to-End
Caching với Redis
Hàng đợi với Bull
DevOps, Logging & CI/CD
Docker & Đóng gói container
Microservices
Các phương pháp bảo mật tốt nhất
Nắm vững Node.js / NestJS cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí