Sinh viên sắp đi thực tập
Đã học lập trình ở trường nhưng kiến thức còn rời rạc, cần một lộ trình ngắn để sẵn sàng cho vị trí thực tập Backend.

Đạo Đức · Trí Tuệ · Nghị Lực
Database – OOP – Spring Boot
Hệ thống lại Database, lập trình hướng đối tượng và làm quen Spring Boot để sẵn sàng đi thực tập hoặc phỏng vấn vị trí Backend Developer. Cả khoá xoay quanh module: Quản lý Xuất – Nhập Kho.
Đã học lập trình ở trường nhưng kiến thức còn rời rạc, cần một lộ trình ngắn để sẵn sàng cho vị trí thực tập Backend.
Từng học Database, OOP nhưng chưa nắm chắc bản chất; muốn ôn lại bài bản, gắn với một bài toán nghiệp vụ thật.
Biết Java cơ bản, muốn hiểu một request đi qua Controller → Service → Repository ra sao và tự viết được REST API.
Muốn luyện câu hỏi SQL, OOP, Spring và có một đồ án đủ tốt để đưa vào CV, demo trước nhà tuyển dụng.
Có nền tảng lập trình cơ bản. Không cần biết trước Spring Boot - PostgreSQL được cài đặt và thực hành ngay trên lớp từ Buổi 1.
Không dừng ở lý thuyết: bạn ra về với một ứng dụng Spring Boot chạy được - có cơ sở dữ liệu, có API và có báo cáo.
Vẽ ERD và thiết kế database quan hệ chuẩn hoá cho một bài toán nghiệp vụ thực tế.
JOIN, Subquery, CTE, Window Function, Index và đọc EXPLAIN để tối ưu truy vấn.
Tổ chức code backend rõ ràng với bốn tính chất OOP, nguyên tắc SOLID và các pattern cơ bản.
Spring Data JPA, Validation, Transaction và xử lý lỗi tập trung theo kiến trúc phân lớp.
Làm việc trên nhánh riêng, nhận task trên board của lớp và nộp bài bằng Pull Request.
Trả lời được các câu hỏi phổ biến về SQL, OOP và Spring, liên hệ được với chính code của mình.
Mỗi buổi đều bổ sung một phần vào đồ án chung. Bấm vào từng buổi để xem nội dung chi tiết.
ERD hệ thống kho, schema.sql + data.sql
Mô tả hệ thống, vẽ Conceptual & Logical ERD, viết tối thiểu 5 câu SQL mẫu
Bộ query báo cáo tồn kho, nhập/xuất theo tháng
8 câu truy vấn báo cáo cho hệ thống kho trong sql/reports.sql
Console app quản lý kho in-memory (domain model)
Console app Quản lý Xuất – Nhập Kho áp dụng đủ bốn tính chất OOP
REST API đầu tiên và Pull Request đầu tiên trên GitHub
API Quản lý Đối tác (5 endpoint) theo tài liệu đặc tả
Nhận task đồ án WH-01 trên board của lớp
WH-01 – API lập phiếu nhập/xuất, cập nhật tồn kho
Unit test, validation, API báo cáo, Swagger UI
WH-02 hoàn thiện phiếu + unit test; WH-03 API báo cáo & README
Điểm đồ án kết môn + bản nhận xét cá nhân
CV một trang, repo đồ án tag v1.0, bài giới thiệu bản thân 60 giây
Một source code chung, lớn dần qua từng buổi. Đồ án làm cá nhân: fork repo khung, làm trên nhánh riêng, nhận task trên board của lớp và nộp bài bằng Pull Request - giống hệt khi đi làm.
categoriesid, name1 danh mục – n sản phẩmproductsid, code, name, unit, quantity, min_stock, category_idn sản phẩm – 1 danh mụcpartnersid, name, type (SUPPLIER/CUSTOMER), phone, address1 đối tác – n phiếureceiptsid, code, type (IN/OUT), partner_id, created_at, total_amount1 phiếu – n dòng chi tiếtreceipt_itemsid, receipt_id, product_id, quantity, unit_pricen dòng – 1 phiếu, n dòng – 1 sản phẩm| Method | Endpoint | Thời điểm |
|---|---|---|
| GETPOST | /api/productsDanh sách (tìm theo tên) / tạo sản phẩm | Có sẵn |
| GETPUTDELETE | /api/products/{id}Xem / sửa / xoá sản phẩm | Có sẵn |
| CRUD | /api/categoriesCRUD danh mục | Có sẵn |
| CRUD | /api/partnersCRUD đối tác theo đặc tả | Buổi 4 |
| POST | /api/receiptsLập phiếu nhập/xuất nhiều dòng, cập nhật tồn kho | WH-01 |
| GET | /api/receiptsDanh sách phiếu và chi tiết /{id} | WH-01 |
| GET | /api/reports/stockBáo cáo tồn kho hiện tại | WH-03 |
| GET | /api/reports/low-stockSản phẩm dưới mức tồn tối thiểu | WH-03 |
| GET | /api/reports/monthly?year=Tổng nhập/xuất theo tháng | WH-03 |
POST /api/receipts nhận danh sách dòng hàng. Phiếu xuất vượt tồn ở bất kỳ dòng nào trả 400 - không dòng nào được lưu, tồn kho không đổi.
Áp dụng @Transactional, @Valid, xử lý lỗi tập trung; viết tối thiểu 3 unit test và 3 test case cho API phiếu.
Báo cáo tồn kho, tồn thấp, nhập/xuất theo tháng bằng @Query; phân trang danh sách phiếu, bật Swagger UI, viết README.
Bị hụt tiến độ? Repo khung có tag theo từng buổi (buoi-4,buoi-5, buoi-6) - checkout tag tương ứng để theo kịp lớp.
Quy trình chuẩn bạn dùng cho mọi task của đồ án, và mang theo khi đi thực tập.
Đọc ticket, Acceptance Criteria và code liên quan; thiếu thông tin thì hỏi ngay.
Comment xác nhận hiểu đúngChia thành các bước 30–60 phút: entity → repository → service → controller → test.
Checklist trong ticketChuyển ticket sang In Progress, tạo nhánh feature/<mã-ticket>-<mô-tả> từ nhánh chính mới nhất.
Nhánh trên GitHubXong bước nào chạy thử, commit ngay với message rõ ràng: “[WH-12] Thêm entity Receipt”.
Lịch sử commit rõ ràngChạy lại toàn bộ Acceptance Criteria bằng Postman, thử cả trường hợp lỗi như xuất vượt tồn.
Ghi chú kết quả testMô tả làm gì, cách test, kèm ảnh chụp; gắn link ticket và chuyển sang Code Review.
PR có mô tả đầy đủĐọc kỹ comment, sửa, push tiếp lên cùng nhánh và trả lời từng comment.
PR được approveChuyển ticket sang Done, xoá nhánh, cập nhật README nếu cần.
Ticket DoneBạn vào phòng với CV và đồ án của mình, trước hội đồng. Kết quả là điểm đồ án kết môn cùng bản nhận xét: điểm mạnh, điểm phải sửa và gợi ý trả lời tốt hơn.
Tự giới thiệu, trả lời một câu hỏi về CV
Demo kiến trúc 3 lớp, phiếu xuất vượt tồn bị rollback, báo cáo, unit test
Bốc 3 câu: SQL, OOP, Spring/Kiểm thử; có thể viết nhanh một câu SQL
Một tình huống về quy trình hoặc làm việc nhóm
“Em có câu hỏi gì cho công ty không?”
Một điểm tốt, một điểm cần sửa ngay
Tiêu chí được công bố ngay từ đầu, để bạn biết mình cần làm tốt điều gì.
Đúng 1 phút, rõ ràng; CV có mục dự án ghi đúng những gì tự làm
Chạy được ngay, CRUD đủ, phiếu nhiều dòng đúng, xuất vượt tồn bị từ chối và rollback, 3 API báo cáo đúng số liệu
3 lớp rõ ràng, DTO + validation, xử lý lỗi tập trung, naming chuẩn, unit test pass, README đầy đủ
Đúng bản chất 3/3 câu, liên hệ được với code của mình; thành thật khi không biết
Xử lý hợp lý, biết hỏi lại, thể hiện đúng quy trình 8 bước
Đúng giờ, tự tin, nghe hết câu hỏi, có câu hỏi ngược
Bạn cần có nền tảng lập trình cơ bản. Khoá học dành cho người cần hệ thống lại Database, OOP và làm quen Spring Boot, nên không yêu cầu biết trước Spring.
7 buổi, mỗi buổi 2 giờ. Buổi cuối là buổi phỏng vấn trực tiếp, mỗi học viên khoảng 10–12 phút trước hội đồng.
Đồ án làm cá nhân. Mỗi học viên fork repo khung về tài khoản của mình, làm trên nhánh riêng, nhận task trên board của lớp (từ Buổi 5) và nộp bài bằng Pull Request.
Repo khung có tag tương ứng từng buổi (buoi-4, buoi-5, buoi-6). Bạn checkout tag của buổi đó để tiếp tục cùng lớp.
JDK 21 LTS, IntelliJ IDEA, Maven, PostgreSQL 16, Git/GitHub, Postman và draw.io hoặc dbdiagram.io để vẽ ERD. PostgreSQL được cài và thực hành ngay trên lớp ở Buổi 1.
Gợi ý lộ trình tiếp theo: Spring Security và JWT; Docker và triển khai ứng dụng; CI/CD cơ bản với GitHub Actions; frontend tối thiểu (React/Vue) gọi bộ API của đồ án; tiếp tục luyện SQL, viết test và thiết kế hệ thống.
Nhắn cho DevLab qua Zalo để được tư vấn lịch khai giảng và xem khoá học có phù hợp với nền tảng hiện tại của bạn không.