Node.js / NestJS

DevOps, Logging และ CI/CD

Winston, Pino, structured logging, correlation ID, APM, GitHub Actions, GitLab CI, pipeline, การทดสอบอัตโนมัติ, การทำ deployment อัตโนมัติ

25 คำถามสัมภาษณ์·
Mid-Level
1

ความแตกต่างหลักระหว่าง Winston และ Pino คืออะไร?

คำตอบ

Pino ถูกออกแบบมาให้เร็วมากโดยมี overhead ต่ำ (เป็นแบบ asynchronous โดยค่าเริ่มต้น) ในขณะที่ Winston มีฟีเจอร์มากกว่าแต่ช้ากว่าเล็กน้อย Pino ใช้ JSON แบบมีโครงสร้างโดยค่าเริ่มต้นและหลีกเลี่ยงการแปลงแบบ synchronous ทำให้เหมาะกับแอปพลิเคชันที่ต้องการประสิทธิภาพสูง Winston มี transport และตัวเลือกการจัดรูปแบบให้ใช้งานได้ทันทีมากกว่า

2

correlation ID ในบริบทของ logging คืออะไร?

คำตอบ

correlation ID คือตัวระบุที่ไม่ซ้ำกัน (UUID) ที่เชื่อมโยงกับ request HTTP หรือ event ซึ่งช่วยให้ติดตามการดำเนินการที่เกี่ยวข้องทั้งหมดข้ามบริการและ log ต่าง ๆ ได้ สิ่งนี้ช่วยให้การดีบักระบบแบบกระจายง่ายขึ้นโดยการจัดกลุ่ม log ทั้งหมดของทรานแซกชันเดียวกัน โดยทั่วไปจะถูกส่งต่อผ่าน HTTP header (X-Correlation-ID)

3

ข้อได้เปรียบหลักของ structured logging คืออะไร?

คำตอบ

structured logging (log ในรูปแบบ JSON ที่มีฟิลด์แบบ key-value) ช่วยให้กรอง ค้นหา และวิเคราะห์ log ได้ง่ายด้วยเครื่องมืออย่าง Elasticsearch, Grafana หรือ Datadog ต่างจาก log แบบข้อความธรรมดา log ที่มีโครงสร้างสามารถทำดัชนีและ query ได้อย่างมีประสิทธิภาพ สิ่งนี้ช่วยปรับปรุง observability และการดีบักในโปรดักชันได้อย่างมาก

4

ระดับ log มาตรฐานใน Winston และ Pino มีอะไรบ้าง?

5

จะใช้งาน logger แบบ global ใน NestJS ได้อย่างไร?

+22 คำถามสัมภาษณ์

หัวข้อสัมภาษณ์ Node.js / NestJS อื่นๆ

พื้นฐาน Node.js

Junior
20 คำถาม

Core API ของ Node.js

Junior
25 คำถาม

การเขียนโปรแกรมแบบอะซิงโครนัส

Junior
25 คำถาม

พื้นฐาน Express.js

Junior
20 คำถาม

พื้นฐาน NestJS

Junior
23 คำถาม

การออกแบบ REST API

Junior
20 คำถาม

การตรวจสอบความถูกต้องและ DTO

Junior
20 คำถาม

เอกสาร API และ Contract

Junior
20 คำถาม

การจัดการข้อผิดพลาด

Junior
20 คำถาม

การทดสอบหน่วย (Unit Testing)

Junior
20 คำถาม

การจัดตารางงาน

Junior
15 คำถาม

Module และ DI ของ NestJS

Mid-Level
20 คำถาม

การกำหนดค่าและการจัดการสภาพแวดล้อม

Mid-Level
20 คำถาม

การยืนยันตัวตนด้วย JWT

Mid-Level
25 คำถาม

การให้สิทธิ์และ RBAC

Mid-Level
20 คำถาม

ฐานข้อมูลด้วย TypeORM

Mid-Level
30 คำถาม

Prisma ORM

Mid-Level
25 คำถาม

Middleware และ Interceptor

Mid-Level
20 คำถาม

การอัปโหลดไฟล์

Mid-Level
15 คำถาม

WebSockets

Mid-Level
20 คำถาม

GraphQL กับ NestJS

Mid-Level
25 คำถาม

การทดสอบแบบ End-to-End

Mid-Level
20 คำถาม

การแคชด้วย Redis

Mid-Level
20 คำถาม

คิวด้วย Bull

Mid-Level
20 คำถาม

Docker และ Containerization

Mid-Level
25 คำถาม

ไมโครเซอร์วิส

Senior
30 คำถาม

แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัย

Senior
25 คำถาม

ประสิทธิภาพและการ Deploy บน Cloud

Senior
30 คำถาม

เชี่ยวชาญ Node.js / NestJS สำหรับการสัมภาษณ์ครั้งถัดไป

เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์

เริ่มใช้ฟรี