Chuyển đến nội dung chính
Quay lại danh sách bài viết
Hướng dẫn

30 Câu Hỏi Bảo Vệ Đồ Án Tốt Nghiệp CNTT Hội Đồng Hay Hỏi Nhất

Tổng hợp các câu hỏi thực tế hội đồng đặt ra trong buổi bảo vệ đồ án CNTT, chia theo nhóm: database, kiến trúc, công nghệ, bảo mật và câu hỏi bẫy. Kèm hướng trả lời cho từng nhóm.

Phạm Đức Anh
25/07/2026
12 phút đọc

Hội đồng hỏi để làm gì

Mục tiêu của phần hỏi đáp không phải đánh đố bạn. Hội đồng cần xác định hai điều: bạn có thực sự làm ra sản phẩm này không, và bạn có hiểu những gì mình đã làm không. Gần như mọi câu hỏi đều phục vụ một trong hai mục tiêu đó.

Vì vậy câu trả lời tệ nhất không phải câu trả lời sai, mà là câu trả lời cho thấy bạn chưa từng nghĩ đến vấn đề đó.

Nhóm 1: Câu hỏi về cơ sở dữ liệu

Đây là nhóm được hỏi nhiều nhất vì database phản ánh trực tiếp mức độ bạn hiểu bài toán.

  1. Em vẽ sơ đồ ERD này dựa trên cơ sở nào?
  2. Tại sao em tách bảng này ra thành hai bảng riêng?
  3. Quan hệ giữa hai bảng này là một-nhiều hay nhiều-nhiều? Vì sao?
  4. Database của em đạt chuẩn hóa dạng nào? Chứng minh.
  5. Nếu xóa một bản ghi ở bảng cha thì dữ liệu bảng con xử lý ra sao?
  6. Em có đánh chỉ mục cho cột nào không? Vì sao chọn cột đó?
  7. Bảng này khi có một triệu bản ghi thì truy vấn còn nhanh không?

Hướng trả lời: luôn quay về bài toán nghiệp vụ. "Em tách ra vì một khách hàng có thể có nhiều địa chỉ giao hàng, nếu để chung một bảng sẽ trùng lặp dữ liệu" — câu trả lời như vậy cho thấy bạn thiết kế có lý do, không phải vẽ theo mẫu.

Nhóm 2: Câu hỏi về kiến trúc và tổ chức mã nguồn

  1. Em tổ chức dự án theo mô hình nào? Mô tả các tầng.
  2. Luồng dữ liệu đi từ khi người dùng bấm nút đến khi lưu vào database ra sao?
  3. Tại sao em tách tầng service ra khỏi controller?
  4. Nếu bây giờ cần đổi từ MySQL sang PostgreSQL thì phải sửa những đâu?
  5. Phần nào trong dự án em thấy viết chưa tốt nhất?
  6. Em xử lý lỗi ở tầng nào? Nếu database mất kết nối thì người dùng thấy gì?

Hướng trả lời: câu số 12 là câu bẫy nhẹ — trả lời "em thấy mọi thứ đều ổn" là câu trả lời tệ. Chủ động chỉ ra một điểm yếu thật và nói bạn sẽ cải thiện thế nào luôn được đánh giá cao hơn.

Nhóm 3: Câu hỏi về lựa chọn công nghệ

  1. Tại sao em chọn công nghệ này mà không phải công nghệ khác?
  2. Ưu và nhược điểm của framework em dùng là gì?
  3. Thư viện này em dùng để làm gì? Nếu không có nó thì em làm cách nào?
  4. Em có tự viết phần nào không, hay dùng thư viện hết?
  5. Công nghệ này có phù hợp nếu hệ thống mở rộng gấp mười lần không?

Hướng trả lời: "vì em thấy nhiều người dùng" là câu trả lời yếu. Hãy gắn với đặc điểm bài toán: thời gian phát triển có hạn, đội một người, cần cộng đồng hỗ trợ lớn, hoặc yêu cầu thời gian thực nên chọn công nghệ hỗ trợ sẵn.

Nhóm 4: Câu hỏi về bảo mật

  1. Mật khẩu người dùng em lưu như thế nào?
  2. Hệ thống của em chống SQL Injection bằng cách nào?
  3. Em có kiểm tra dữ liệu đầu vào không? Ở phía nào?
  4. Nếu người dùng thường sửa URL để vào trang quản trị thì sao?
  5. Token xác thực của em hết hạn sau bao lâu? Lưu ở đâu?
  6. File người dùng tải lên có kiểm tra định dạng không?

Hướng trả lời: câu 21 hay bị trả lời thiếu — nhiều bạn chỉ kiểm tra ở phía giao diện. Câu trả lời đúng phải nhắc đến kiểm tra ở phía máy chủ, vì kiểm tra phía trình duyệt có thể bị bỏ qua dễ dàng.

Nhóm 5: Câu hỏi thực hành tại chỗ

  1. Em mở file xử lý chức năng này lên cho thầy xem.
  2. Em đổi nhãn nút này thành chữ khác ngay bây giờ được không?
  3. Em thêm một trường vào form này thử xem.
  4. Nếu nhập dữ liệu sai định dạng vào ô này thì hệ thống phản ứng thế nào? Thử luôn.

Hướng trả lời: nhóm này không có mẹo. Cách duy nhất là bạn đã tự chạy dự án trên máy mình nhiều lần và biết file nào nằm ở đâu. Đây chính là phần chúng tôi tập trung nhất trong buổi tập dượt trước bảo vệ.

Nhóm 6: Câu hỏi về phạm vi và hạn chế

  1. Đề tài của em còn thiếu gì so với một hệ thống thật ngoài thị trường?
  2. Nếu có thêm ba tháng nữa em sẽ làm gì tiếp?

Hướng trả lời: hai câu này là cơ hội ghi điểm chứ không phải bẫy. Trả lời cụ thể — "hệ thống hiện chưa xử lý trường hợp nhiều người đặt cùng lúc, em sẽ bổ sung khóa ở tầng database" — cho thấy bạn hiểu giới hạn của chính sản phẩm mình.

Chuẩn bị thế nào cho hiệu quả

  • Tự chạy dự án ít nhất năm lần trên máy của bạn, từ lúc khởi động đến lúc demo xong toàn bộ luồng.
  • Mở từng file chính và đọc lại, đảm bảo bạn biết chức năng nào nằm ở file nào.
  • Chuẩn bị sẵn dữ liệu demo, đừng đăng ký tài khoản mới ngay tại buổi bảo vệ.
  • Nhờ một người đóng vai hội đồng hỏi bạn 10 câu bất kỳ ở trên và bấm giờ.
  • Viết sẵn câu trả lời cho ba điểm yếu lớn nhất của đồ án — hội đồng sẽ tìm ra chúng.

Xem thêm mẹo bảo vệ đồ áncách trình bày đồ án đúng quy định.

Hỗ Trợ Kỹ Thuật & Mentoring Đồ Án CNTT

Chúng tôi hỗ trợ tư vấn giải pháp, mentoring 1-1, review mã nguồn và khắc phục sự cố lập trình cho sinh viên IT. Quy trình minh bạch theo từng cột mốc thỏa thuận.

Xem bảng giá