node.js / sổ thực hành
30 NGÀY · BACKEND
Mỗi ngày một bước vững hơn

Hiểu rõ. Tự làm.
Giải thích được.

Ôn backend qua một API quản lý công việc. Bài tập vừa sức, câu hỏi phỏng vấn và chỗ ghi lại những điều bạn đã kiểm chứng.

TypeScript + NestJSPostgreSQL60–90 phút / ngày
TIẾN ĐỘ BÀI TẬP
0 / 30 ngày
Bắt đầu từ một bài nhỏ hôm nay.
Cách học · SOLID, KISS và không assume

Mỗi ngày: 10–15 phút đọc → 40–55 phút code và kiểm tra → 10–20 phút trả lời thành tiếng. Viết code trong editor của bạn; trang này là sổ hướng dẫn, không chạy code.

  • SOLID: tách HTTP, nghiệp vụ và lưu trữ khi cần; ưu tiên trách nhiệm rõ ràng, interface nhỏ và hành vi thay thế được.
  • KISS: một ứng dụng, một database. Chưa cần Redis hay microservices; không thêm abstraction chỉ để đủ mẫu thiết kế.
  • Không assume: ghi rõ dữ kiện, giả thuyết và cách kiểm chứng. Chạy test hoặc đo trước khi kết luận.
  • Tự làm trước khi mở gợi ý. Hoàn thành một ngày khi đủ cả ba mục checklist, không chỉ đọc qua.

Chuẩn bị: Node.js bản LTS được hỗ trợ, npm, editor và Git. Từ ngày 15 cần PostgreSQL cục bộ hoặc Docker. Dùng Nest CLI để tạo dự án khi cần; chọn TypeScript và npm. Các bài giả định API chạy ở localhost:3000.

Mô hình chung: Task gồm id, title, status (todo / doing / done), createdAt. Ngày 18 thêm ownerId. Quy ước title được trim, dài 1–120 ký tự. Bộ nhớ tạm sẽ được thay bằng database ở tuần 3.

Tuần 4 gồm ngày 22–30. Lộ trình giúp ôn tập và tìm lỗ hổng, không bảo đảm đạt senior sau một tháng. Tiến độ chỉ nằm trên trình duyệt này; di chuyển file hoặc xóa dữ liệu trình duyệt có thể làm mất tiến độ.

Hỏi một câu · hiểu một điều

Cùng ôn backend, từng câu một.

30 câu theo lộ trình, mỗi chủ đề một câu. Chọn đáp án rồi bấm “Gửi đáp án” để được chấm và xem giải thích. Đây là chatbot theo kịch bản, hoạt động offline.

Kết quả lưu tự động trên trình duyệt này, độc lập với checklist bài tập. Điểm trắc nghiệm giúp ôn kiến thức, chưa đánh giá được khả năng viết code.

Kết quả và lịch sử

Làm đến đâu lưu đến đó sau mỗi lần gửi. Tải JSON để giữ bản sao; xóa dữ liệu trình duyệt hoặc đổi đường dẫn file có thể làm mất lịch sử. File JSON chỉ để sao lưu kết quả, chưa hỗ trợ nhập lại.

60–90 phút · thực hành