Node.js / NestJS

DevOps, Logging & CI/CD

Winston, Pino, structured logging, correlation ID, APM, GitHub Actions, GitLab CI, pipeline, kiểm thử tự động, tự động hóa triển khai

25 câu hỏi phỏng vấn·
Mid-Level
1

Sự khác biệt chính giữa Winston và Pino là gì?

Câu trả lời

Pino được thiết kế để cực kỳ nhanh với overhead thấp (bất đồng bộ theo mặc định), trong khi Winston có nhiều tính năng hơn nhưng chậm hơn một chút. Pino sử dụng JSON có cấu trúc theo mặc định và tránh các phép biến đổi đồng bộ, khiến nó lý tưởng cho các ứng dụng hiệu năng cao. Winston cung cấp nhiều transport và tùy chọn định dạng có sẵn hơn.

2

Correlation ID trong ngữ cảnh logging là gì?

Câu trả lời

Correlation ID là một định danh duy nhất (UUID) gắn với một request HTTP hoặc sự kiện, cho phép truy vết tất cả các thao tác liên quan qua các service và log khác nhau. Điều này giúp việc gỡ lỗi các hệ thống phân tán dễ dàng hơn bằng cách gom tất cả log của cùng một giao dịch. Nó thường được lan truyền qua các header HTTP (X-Correlation-ID).

3

Lợi ích chính của structured logging là gì?

Câu trả lời

Structured logging (log ở định dạng JSON với các trường khóa-giá trị) cho phép lọc, tìm kiếm và phân tích log dễ dàng với các công cụ như Elasticsearch, Grafana hoặc Datadog. Không giống log dạng văn bản thuần, log có cấu trúc có thể được lập chỉ mục và truy vấn một cách hiệu quả. Điều này cải thiện đáng kể khả năng quan sát và việc gỡ lỗi trong môi trường production.

4

Các mức log tiêu chuẩn trong Winston và Pino là gì?

5

Làm thế nào để triển khai một logger toàn cục trong NestJS?

+22 câu hỏi phỏng vấn

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í