1. Nắm chắc JavaScript/TypeScript – nền tảng quan trọng nhất
NodeJS chỉ là môi trường chạy JavaScript, nên nếu bạn không vững JS, đi đến đâu cũng bị hỏi “lọt hố”.
Bạn cần hiểu rõ:
-
Cách hoạt động của async/await, promise, callback
-
Kiến thức về scope, closure, hoisting
-
Arrow function, destructuring, spread, class
-
Prototype & hướng đối tượng trong JS
-
TypeScript: type, interface, enum, generic, decorator
Lý do quan trọng:
Phỏng vấn NodeJS thường 70% câu hỏi là JavaScript.
2. Thành thạo ít nhất 1 framework: ExpressJS hoặc NestJS
NodeJS chỉ cung cấp nền tảng. Để làm API, bạn cần framework.
ExpressJS
-
Nhẹ, đơn giản
-
Dễ học
-
Dùng nhiều ở startup & dự án nhỏ
NestJS
-
Mạnh, chuẩn, kiến trúc rõ ràng
-
Phù hợp dự án lớn & microservices
-
Công ty trung – lớn ưa dùng
Cần nắm:
-
Routing
-
Middleware
-
Dependency Injection (đặc biệt trong NestJS)
-
Xử lý lỗi
-
Xác thực và phân quyền
-
Tách module/service rõ ràng
3. Làm việc thành thạo với Database: SQL & NoSQL
Làm backend là phải biết database.
SQL: PostgreSQL, MySQL
NoSQL: MongoDB, Redis
Ứng viên nên biết:
-
Cách tạo bảng, join, index
-
Transaction
-
ORM/ODM: Prisma, TypeORM, Sequelize, Mongoose
-
Tối ưu query
-
Caching Redis để tăng tốc
Ví dụ phỏng vấn:
“Bạn tối ưu truy vấn nặng như thế nào?”
Nếu trả lời có index/limit/caching = plus điểm lớn.
4. Thiết kế & xây dựng API RESTful chuẩn
NodeJS developer 90% thời gian viết API, nên phải biết:
-
Quy tắc REST
-
Status code (200/400/401/403/404/500…)
-
Versioning (/v1, /v2)
-
Filter, sort, pagination
-
Dùng Swagger/OpenAPI để mô tả API
-
Quy tắc đặt tên API rõ ràng
Ứng viên tốt: API rõ ràng, dễ đọc
Ứng viên trung bình: API rối, không consistent, khó maintain
5. Hiểu rõ Authentication & Authorization
Dự án nào cũng có đăng nhập & phân quyền.
Bạn cần hiểu:
-
JWT (quan trọng)
-
Refresh token flow
-
OAuth2 (SSO, login Google/Facebook)
-
Roles & permissions (RBAC/ABAC)
-
So sánh Session vs Token
Phỏng vấn chắc chắn hỏi:
“JWT có những rủi ro gì?”
“Nếu token hết hạn bạn làm gì?”
6. Xử lý bất đồng bộ & tối ưu hiệu năng
NodeJS chạy single-thread, nếu code bạn chặn luồng → server đứng.
Bạn cần biết:
-
Event Loop hoạt động thế nào
-
Blocking vs Non-blocking I/O
-
Worker Threads
-
Cluster mode
-
Streaming data
-
Message Queue: BullMQ, RabbitMQ, Kafka
Lợi ích:
Ứng viên hiểu async luôn code tốt hơn, bug ít hơn, hiệu năng cao hơn.
7. Nắm kiến thức Microservices ở mức cơ bản (nếu muốn lên Middle–Senior)
Không cần quá sâu, chỉ cần hiểu nguyên lý:
-
Dịch vụ tách nhỏ, chạy độc lập
-
Giao tiếp qua HTTP hoặc message broker
-
API Gateway
-
Load balancing
-
Logging & tracing phân tán
-
Cơ chế retry, circuit breaker
Lý do:
Hiện nay nhiều công ty đang chuyển sang microservices.
8. Testing cơ bản: biết là lợi thế, giỏi là điểm cộng lớn
Tester test chức năng, còn dev test logic.
Bạn nên biết:
-
Jest
-
Mocha/Chai
-
Supertest để test API
-
Unit test
-
Integration test
-
Mocking
Dev biết test = ít bug = team thích = sếp thích
9. Kiến thức DevOps căn bản
Không cần quá sâu, chỉ cần đủ deploy và quản lý môi trường.
Bạn nên biết:
-
Docker (rất quan trọng)
-
CI/CD: GitHub Actions, GitLab CI
-
Biết SSH, chạy câu lệnh Linux
-
Quản lý biến môi trường (.env)
-
Deploy NodeJS lên VPS/AWS/Azure/GCP
Ứng viên biết DevOps nhẹ = dễ được chọn hơn
10. Tư duy backend & kỹ năng viết code sạch
Code bạn viết phải dễ đọc, dễ sửa, dễ mở rộng.
Cần ghi nhớ:
-
Đặt tên rõ ràng
-
Tách logic ra service
-
Hoàn chỉnh error handling
-
Logging đầy đủ
-
Không viết code quá dài trong 1 file
-
Áp dụng clean architecture (khi cần)
Code sạch = lên senior nhanh hơn.
.png)