Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh công nghệ thông tin phát triển nhanh chóng và xu thế toàn cầu hóa ngày càng sâu rộng, phương thức tìm kiếm việc làm và tuyển dụng nhân sự đã có những chuyển biến căn bản. Thị trường lao động ngày càng trở nên cạnh tranh gay gắt, đặc biệt đối với sinh viên mới tốt nghiệp vốn còn thiếu kinh nghiệm cọ xát thực tế, trong khi các doanh nghiệp lại đối mặt với nhiều khó khăn trong việc tiếp cận và thu hút nguồn nhân lực chất lượng cao phù hợp với yêu cầu chuyên môn. Xuất phát từ thực tế đó, các trang web tuyển dụng đóng vai trò là cầu nối số hóa giúp tối ưu hóa thời gian và gia tăng hiệu quả kết nối giữa hai bên, đồng thời góp phần thúc đẩy sự phát triển kinh tế - xã hội.
Tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (HCMUTE), việc thiết lập một kênh thông tin việc làm chính thống, tập trung và chuyên biệt là nhu cầu cấp thiết. Đồ án "Xây dựng hệ thống tìm việc UTE-Career cho sinh viên trường HCMUTE" được thực hiện bởi hai sinh viên Nguyễn Thanh Phong và Nguyễn Huỳnh Nguyên, dưới sự hướng dẫn của ThS. Nguyễn Hữu Trung, nhằm giải quyết trực tiếp bài toán kết nối tuyển dụng trong phạm vi nhà trường.
Mục tiêu và các nhiệm vụ nghiên cứu cụ thể của đề tài bao gồm:
- Xây dựng nền tảng website tuyển dụng và hỗ trợ việc làm "UTE-Career" dành riêng cho sinh viên trường HCMUTE, tạo môi trường kết nối trực tiếp giữa sinh viên và các doanh nghiệp đối tác.
- Cung cấp các tiện ích công nghệ hiện đại phục vụ tương tác toàn diện, bao gồm hệ thống tin nhắn nội bộ, diễn đàn trao đổi, quản lý sự kiện kết nối doanh nghiệp, tổ chức phỏng vấn trực tuyến qua video call và cổng thanh toán trực tuyến cho các gói dịch vụ doanh nghiệp.
- Nghiên cứu và tích hợp các thuật toán trí tuệ nhân tạo (AI) nhằm tự động hóa việc phân tích hồ sơ ứng viên (CV) và đề xuất cơ hội việc làm phù hợp cho sinh viên, đồng thời gợi ý ứng viên tiềm năng cho nhà tuyển dụng.
- Ứng dụng các công nghệ phần mềm hiện đại: kiến trúc hướng dịch vụ RESTful API, hệ sinh thái Java Spring Boot cho tầng backend, thư viện ReactJS cho tầng frontend và Python cho dịch vụ xử lý trí tuệ nhân tạo.
Đối tượng và phạm vi nghiên cứu của đề tài được xác định rõ ràng:
- Đối tượng nghiên cứu: Quy trình tuyển dụng và tìm kiếm việc làm của sinh viên đại học; các công nghệ phát triển ứng dụng web (Spring Boot, ReactJS, FastAPI); các thuật toán khuyến nghị và xử lý văn bản trong học máy (Collaborative Filtering, Content-based Recommendation, TF-IDF, K-Nearest Neighbors).
- Phạm vi không gian: Áp dụng cho sinh viên, cựu sinh viên và cán bộ quản trị tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (HCMUTE), cùng các doanh nghiệp, tổ chức có nhu cầu tuyển dụng sinh viên của trường.
- Phạm vi thời gian: Đề tài được triển khai thực hiện từ ngày 04/02/2025 đến ngày 03/06/2025.
Cơ sở lý thuyết và phương pháp
Đề tài kết hợp giữa lý thuyết kỹ thuật phần mềm, kiến trúc hệ thống phân tán và các thuật toán học máy trong xử lý dữ liệu tuyển dụng:
Khung lý thuyết và công nghệ sử dụng
- Hệ sinh thái Java và Spring Boot: Sử dụng Java làm ngôn ngữ lập trình hướng đối tượng độc lập nền tảng để xây dựng hệ thống máy chủ. Framework Spring Boot đóng vai trò cốt lõi, cung cấp máy chủ nhúng Tomcat, cơ chế tự động cấu hình (Auto-configuration) và kiến trúc hỗ trợ microservice. Phân tầng dữ liệu được quản lý thông qua Spring Data JPA và Hibernate, cho phép trừu tượng hóa các câu lệnh SQL, hỗ trợ phân trang (Pagination), sắp xếp (Sorting), truy vấn động (Specification) và quản lý giao dịch tự động thông qua chú thích
@Transactional. Tầng bảo mật sử dụng Spring Security kết hợp chuẩn xác thực OAuth 2.0 và cơ chế cấp phát Json Web Token (JWT) không lưu trạng thái (Stateless).
- Frontend với ReactJS: Thư viện JavaScript mã nguồn mở xây dựng ứng dụng trang đơn (Single-Page Application - SPA) dựa trên kiến trúc thành phần (Component-based). ReactJS tận dụng cơ chế DOM ảo (Virtual DOM), cú pháp mở rộng JSX và luồng dữ liệu một chiều (One-way Data Binding) giúp tối ưu hóa tốc độ kết xuất giao diện. Giao diện được định dạng linh hoạt bằng Tailwind CSS kết hợp thư viện thành phần Ant Design; việc giao tiếp với backend được thực hiện thông qua thư viện Axios với bộ chặn (Axios Interceptors) để tự động làm mới Access Token.
- Dịch vụ trí tuệ nhân tạo và giao tiếp bất đồng bộ: Ngôn ngữ Python cùng framework FastAPI được sử dụng để xây dựng microservice độc lập phục vụ các tác vụ tính toán học máy. Backend Spring Boot giao tiếp với microservice AI thông qua WebClient (Spring WebFlux) theo cơ chế lập trình phản ứng (Reactive, Non-blocking).
- Các thuật toán gợi ý và xử lý ngôn ngữ tự nhiên:
- Neighborhood-based Collaborative Filtering (Lọc cộng tác theo vùng lân cận): Triển khai hai biến thể là User-User Collaborative Filtering (tìm kiếm người dùng tương đồng) và Item-Item Collaborative Filtering (tìm kiếm công việc tương đồng dựa trên lịch sử tương tác như lưu việc, xem chi tiết, ứng tuyển). Độ tương quan giữa các vector hành vi được xác định bằng công thức Cosine similarity.
- Content-based Recommendation (Gợi ý dựa trên nội dung): Xây dựng hồ sơ công việc (Item profile) và hồ sơ ứng viên (User profile) bằng kỹ thuật trích xuất đặc trưng văn bản.
- TF-IDF (Term Frequency – Inverse Document Frequency): Đánh giá mức độ quan trọng của từ khóa trong kho ngữ liệu văn bản thông qua tích số giữa tần suất xuất hiện của từ trong tài liệu (TF) và logarit nghịch đảo tần suất tài liệu chứa từ đó (IDF).
- K-Nearest Neighbors (KNN): Thuật toán phân lớp dựa trên việc xác định $K$ điểm dữ liệu láng giềng gần nhất trong không gian vector thông qua các phép đo khoảng cách hình học, kết hợp cùng độ đo tương đồng Jaccard và Cosine similarity để phân tích độ khớp giữa CV và mô tả công việc (Job Description).
- Dịch vụ tích hợp bên thứ ba: Giao thức WebSocket phục vụ truyền thông thời gian thực; SDK ZegoCloud cung cấp hạ tầng gọi video cho chức năng phỏng vấn trực tuyến; Google Calendar API phục vụ đồng bộ lịch hẹn; cổng thanh toán VNPay phục vụ giao dịch trực tuyến; Cloudinary đảm nhận lưu trữ tài nguyên đa phương tiện (ảnh, video, tệp hồ sơ CV); JavaMailSender kết hợp mẫu Thymeleaf đảm nhiệm gửi email thông báo và kích hoạt tài khoản.
Phương pháp nghiên cứu và nguồn dữ liệu
Tác giả áp dụng kết hợp các phương pháp nghiên cứu thực nghiệm và phân tích hệ thống:
- Phương pháp khảo sát hiện trạng: Phân tích thực tế tính năng, mô hình kinh doanh và trải nghiệm người dùng của 4 nền tảng tuyển dụng lớn tại Việt Nam gồm TopCV (ước tính 6 triệu lượt truy cập/tháng), VietnamWorks (ước tính 2,2 triệu lượt truy cập/tháng), Kariera/CareerBuilder (ước tính 1,6 triệu lượt truy cập/tháng) và Indeed (ước tính 3 triệu lượt truy cập/tháng).
- Phương pháp phân tích và thiết kế phần mềm: Áp dụng chuẩn mô hình hóa tương tác người dùng qua Use Case, Sequence Diagram và sơ đồ quan hệ thực thể (ERD) cho cơ sở dữ liệu quan hệ.
- Nguồn dữ liệu: Dữ liệu về thông tin doanh nghiệp, bài đăng tuyển dụng, kỹ năng nghề nghiệp, hồ sơ năng lực sinh viên và bảng ghi nhận lịch sử tương tác (
User_activity_logs) được thiết kế và lưu trữ trên hệ thống cơ sở dữ liệu quan hệ (SQL Server / MySQL).
Thiết kế và triển khai hệ thống
Hệ thống UTE-Career được thiết kế theo mô hình kiến trúc phân lớp chuẩn (Layer-first / MVC), phân tách rõ ràng giữa tầng hiển thị giao diện, tầng xử lý nghiệp vụ, tầng truy xuất dữ liệu và tầng tích hợp trí tuệ nhân tạo.
| Thành phần kiến trúc |
Công nghệ & Thư viện sử dụng |
Vai trò và chức năng chính |
| Giao diện người dùng (Client) |
ReactJS, Tailwind CSS, Ant Design, Axios |
Xây dựng giao diện trang đơn (SPA), tiếp nhận thao tác, kiểm tra dữ liệu đầu vào (Form validation), tương tác với API. |
| Máy chủ dịch vụ chính (Main Backend) |
Java, Spring Boot, Spring Security, Spring Data JPA, JWT |
Định tuyến API RESTful, xử lý nghiệp vụ cốt lõi, xác thực phân quyền người dùng, quản lý giao dịch dữ liệu. |
| Máy chủ AI (AI Service) |
Python, FastAPI, Scikit-learn, NumPy |
Xử lý thuật toán trích xuất đặc trưng TF-IDF, chạy mô hình KNN và Hybrid filtering để phân tích CV và gợi ý công việc. |
| Cơ sở dữ liệu (Database) |
SQL Server / MySQL, Redis |
Lưu trữ dữ liệu cấu trúc của hệ thống; Redis đảm nhận bộ nhớ đệm (caching) hỗ trợ tối ưu hiệu năng truy vấn. |
| Hạ tầng truyền thông & Dịch vụ ngoài |
WebSocket, ZegoCloud SDK, VNPay, Google Calendar, Cloudinary |
Nhắn tin trực tiếp hai chiều, gọi video phỏng vấn trực tuyến, thanh toán gói tin tuyển dụng, đồng bộ lịch, lưu trữ tệp CV. |
Cơ sở dữ liệu và các thực thể dữ liệu chính
Mô hình dữ liệu quan hệ được thiết kế chi tiết nhằm đảm bảo tính toàn vẹn và nhất quán thông tin qua các bảng nghiệp vụ chính:
Employer_credentials, User_activity_logs: Quản lý thông tin xác thực doanh nghiệp và lưu vết hành vi tương tác của sinh viên phục vụ hệ thống gợi ý.
Job_categories, Job_levels, Job_skills, Benefit_details: Phân loại danh mục công việc, cấp bậc chuyên môn, các kỹ năng kỹ thuật yêu cầu và chế độ đãi ngộ.
Student_skills, Save_jobs, Job_alerts: Quản lý năng lực thực tế của sinh viên, danh sách công việc đã lưu và cấu hình nhận thông báo việc làm phù hợp.
Employer_packages, Cart_items, Order_details: Quản lý danh mục gói dịch vụ tuyển dụng, giỏ hàng doanh nghiệp và chi tiết giao dịch thanh toán qua VNPay.
Event_timeline, Topic_tags, Schedule_config: Hỗ trợ quản lý lịch trình sự kiện kết nối, gắn thẻ chủ đề diễn đàn trao đổi và cấu hình lịch phỏng vấn.
Quy trình kiểm thử hệ thống
Đồ án triển khai kiểm thử phần mềm tập trung vào việc xác minh tính đúng đắn của các luồng nghiệp vụ trên cả 3 vai trò người dùng (Sinh viên, Nhà tuyển dụng, Quản trị viên). Các trường dữ liệu đầu vào tại các biểu mẫu đều được thiết lập cơ chế kiểm tra tính hợp lệ đa tầng: xác thực phía giao diện thông qua ReactJS và ràng buộc chặt chẽ tại máy chủ thông qua Spring Boot Starter Validation nhằm ngăn chặn sai lệch dữ liệu trước khi thực thi truy vấn.
Nội dung chính theo từng chương
Bố cục của khóa luận tốt nghiệp được cấu trúc thành 5 chương nội dung chính, phản ánh đầy đủ chu trình phát triển một hệ sinh thái phần mềm:
Chương 1: Cơ sở lý thuyết
Chương này trình bày có hệ thống các nền tảng kỹ thuật và thuật toán phục vụ đề tài. Tác giả phân tích ưu - nhược điểm của ngôn ngữ Java, nguyên lý hoạt động của Spring Boot và cơ chế giảm tải mã nguồn khuôn mẫu (boilerplate code) của Spring Data JPA. Các khái niệm bảo mật như kiểm soát phiên, phòng chống tấn công CSRF, Clickjacking và mô hình ủy quyền OAuth 2.0 bốn vai trò được làm rõ. Về phía giao diện, chương đi sâu vào cách thức ReactJS tối ưu hóa việc cập nhật cây DOM thông qua cơ chế DOM ảo và kiến trúc component độc lập. Đối với phân hệ AI, tác giả trình bày cơ chế hoạt động của framework FastAPI, kỹ thuật truyền thông phi chặn WebClient, cùng nền tảng toán học của thuật toán Collaborative Filtering, TF-IDF và giải thuật phân cụm/phân loại K-Nearest Neighbors (KNN). Cuối chương giới thiệu giao thức WebSocket và nền tảng giao tiếp đám mây ZegoCloud.
Chương 2: Khảo sát thực trạng và xác định yêu cầu
Chương 2 báo cáo kết quả khảo sát thị trường tuyển dụng trực tuyến tại Việt Nam thông qua việc đánh giá 4 nền tảng lớn (TopCV, VietnamWorks, Kariera/CareerBuilder, Indeed). Tác giả chỉ ra rằng các hệ thống hiện nay chủ yếu hướng tới đối tượng người đi làm có kinh nghiệm, mức chi phí dịch vụ đăng tuyển tương đối cao so với các doanh nghiệp vừa và nhỏ, đồng thời thiếu sự liên kết thực chất với các chương trình đào tạo của từng trường đại học. Từ đó, nhóm tác giả phân tích và đặc tả hệ thống yêu cầu chức năng cho 4 nhóm tác nhân:
- Chức năng chung: Đăng ký, đăng nhập (bao gồm đăng nhập Google OAuth 2.0), quên mật khẩu qua email, cập nhật thông tin cá nhân.
- Chức năng sinh viên: Quản lý và tạo hồ sơ trực tuyến, tìm kiếm và lọc việc làm, nộp đơn ứng tuyển, tham gia phỏng vấn video trực tuyến, nhận việc làm đề xuất qua thuật toán AI, tương tác trên diễn đàn sinh viên.
- Chức năng nhà tuyển dụng: Đăng tin và quản trị tin tuyển dụng, duyệt/từ chối ứng viên, mua gói dịch vụ qua VNPay, lên lịch và phỏng vấn trực tuyến ứng viên, ghi nhận đánh giá sau phỏng vấn, sử dụng công cụ AI phân tích độ phù hợp của CV.
- Chức năng quản trị viên: Duyệt tài khoản doanh nghiệp, kiểm duyệt tin tuyển dụng, quản lý danh mục sự kiện và diễn đàn, giám sát giao dịch và xem báo cáo thống kê.
- Yêu cầu phi chức năng: Giao diện thân thiện trực quan, tốc độ truy vấn tìm kiếm nhanh nhờ tối ưu chỉ mục cơ sở dữ liệu, đảm bảo bảo mật và phân quyền truy cập nghiêm ngặt.
Chương 3: Phân tích thiết kế hệ thống
Nội dung chương này mô tả chi tiết kiến trúc kỹ thuật của hệ thống. Tác giả trình bày phương án kết hợp thuật toán Hybrid filtering để giải quyết bài toán gợi ý việc làm dựa trên thói quen người dùng; đồng thời phối hợp TF-IDF, Cosine similarity, Jaccard similarity và KNN để so khớp nội dung CV với tiêu chuẩn tuyển dụng. Chương 3 cung cấp sơ đồ ca sử dụng tổng quan và đặc tả chi tiết 15 usecase trọng tâm kèm các biểu đồ tuần tự (Sequence diagram) tương ứng như: đăng nhập, đăng tuyển dụng, đặt lịch phỏng vấn, đề xuất việc làm, quản lý tin nhắn, phân tích CV ứng viên. Cuối chương là sơ đồ mối quan hệ thực thể (ERD) và bảng đặc tả cấu trúc của hơn 15 bảng dữ liệu trong CSDL quan hệ.
Chương 4: Thiết kế giao diện
Chương 4 tài liệu hóa toàn bộ kết quả hiện thực hóa giao diện người dùng của ứng dụng UTE-Career. Hệ thống giao diện được thiết kế chuyên biệt và chia theo từng phân hệ: giao diện chung (tra cứu, thông tin công ty); 16 màn hình chức năng sinh viên (trang chủ, tìm kiếm việc làm, hồ sơ cá nhân, trình tạo CV, danh sách gợi ý việc làm, giao diện diễn đàn và bài viết); 17 màn hình cho nhà tuyển dụng (thống kê tuyển dụng, đăng tin, quản lý hồ sơ ứng viên, giỏ hàng, cổng thanh toán VNPay, phòng chờ và phòng gọi video phỏng vấn, biểu mẫu đánh giá ứng viên); và 8 màn hình dành cho quản trị viên (bảng điều khiển thống kê, duyệt doanh nghiệp, duyệt bài đăng tuyển dụng, quản trị sự kiện và diễn đàn).
Chương 5: Cài đặt và kiểm thử
Chương 5 trình bày quá trình thiết lập môi trường hoạt động thực tế bao gồm cài đặt hệ quản trị cơ sở dữ liệu, cấu hình máy chủ Spring Boot, triển khai giao diện ReactJS và kết nối dịch vụ AI viết bằng Python. Tác giả tiến hành thử nghiệm toàn diện các ca kiểm thử chức năng trên các luồng người dùng chính, xác nhận hệ thống vận hành đúng quy trình thiết kế, dữ liệu được truyền tải nhất quán giữa các dịch vụ và giao diện tương tác đạt độ ổn định.
Kết quả và đóng góp
Kết quả chính đạt được
- Hoàn thiện hệ sinh thái phần mềm tuyển dụng UTE-Career: Xây dựng thành công hệ thống ứng dụng web hoàn chỉnh phục vụ riêng cho cộng đồng sinh viên HCMUTE và doanh nghiệp liên kết, vận hành theo mô hình kiến trúc phân lớp hướng dịch vụ RESTful API.
- Hiện thực hóa phân hệ trí tuệ nhân tạo (AI): Triển khai thành công cơ chế Hybrid filtering dựa trên hành vi tương tác thực tế (
User_activity_logs) kết hợp kỹ thuật TF-IDF và giải thuật K-Nearest Neighbors (KNN), cho phép tự động phân tích độ tương thích giữa tệp hồ sơ năng lực (CV) của sinh viên và tiêu chí tuyển dụng của doanh nghiệp.
- Tích hợp đồng bộ các dịch vụ công nghệ đa dạng:
- Hoàn thành module phỏng vấn trực tuyến với âm thanh và hình ảnh theo thời gian thực sử dụng ZegoCloud SDK, tích hợp đồng bộ lịch hẹn thông qua Google Calendar.
- Xây dựng cổng giao dịch thương mại điện tử nội bộ cho phép doanh nghiệp mua gói tin tuyển dụng và thanh toán tự động qua VNPay.
- Thiết lập kênh thông tin hai chiều với giao thức WebSocket hỗ trợ trao đổi tin nhắn trực tiếp giữa ứng viên và nhà tuyển dụng sau khi nộp đơn.
- Tự động hóa quy trình xác thực, thông báo trạng thái ứng tuyển và gửi thư qua hệ thống JavaMailSender và mẫu email Thymeleaf.
Giải pháp và đóng góp của đề tài
- Giải pháp thực tiễn: Cung cấp cho nhà trường một công cụ số hóa tập trung giúp quản lý thông tin việc làm, hỗ trợ sinh viên dễ dàng tiếp cận các cơ hội việc làm đáng tin cậy ngay trong thời gian học tập và tốt nghiệp; đồng thời giảm thiểu chi phí tiếp cận nhân sự cho các doanh nghiệp có nhu cầu tuyển dụng sinh viên HCMUTE.
- Đóng góp về mặt kỹ thuật: Minh chứng tính khả thi và hiệu quả của việc kết hợp kiến trúc dịch vụ microservice lai giữa Java Spring Boot (xử lý nghiệp vụ chính) và Python FastAPI (chuyên biệt tính toán học máy). Hệ thống chứng minh khả năng đưa các mô hình gợi ý dữ liệu (Recommender Systems) và xử lý ngôn ngữ tự nhiên cơ bản vào ứng dụng thực tiễn của một đồ án kỹ sư phần mềm.
Hạn chế và hướng nghiên cứu tiếp
Dựa trên nội dung tự nhận xét và phân tích kỹ thuật của các tác giả trong văn bản đồ án, các hạn chế và định hướng phát triển được xác lập như sau:
Hạn chế tồn tại
- Giới hạn về dữ liệu ban đầu (Cold-Start Problem): Thuật toán lọc cộng tác (Collaborative Filtering) gặp khó khăn khi triển khai trên hệ thống mới do lượng dữ liệu tương tác của người dùng ban đầu còn thưa thớt (Sparsity problem), ảnh hưởng đến độ chính xác của các khuyến nghị việc làm giai đoạn đầu.
- Hạn chế về tài nguyên tính toán: Việc tính toán ma trận độ tương đồng giữa tập người dùng và công việc có chi phí tài nguyên lớn khi quy mô dữ liệu mở rộng nhanh chóng (Scalability).
- Phạm vi ứng dụng: Do thời gian làm đồ án có hạn (kéo dài trong 4 tháng từ 04/02/2025 đến 03/06/2025) và nhóm tác giả là sinh viên chưa có nhiều trải nghiệm nghiệp vụ thực tế sâu rộng, một số quy trình xử lý chuyên sâu của doanh nghiệp lớn chưa được bao quát toàn diện. Ứng dụng xây dựng trên kiến trúc ReactJS SPA đơn thuần có thể gặp thách thức về mặt tối ưu hóa công cụ tìm kiếm (SEO) nếu không chuyển đổi sang giải pháp Server-Side Rendering (SSR).
Hướng phát triển
- Nâng cấp và cải tiến các thuật toán AI: Nghiên cứu áp dụng các kỹ thuật nhúng sâu (Deep Learning Embeddings) vào việc biểu diễn nội dung CV và tin tuyển dụng để nâng cao khả năng phân tích ngữ nghĩa phức tạp.
- Tối ưu hóa hiệu năng tính toán thuật toán gợi ý để giải quyết triệt để vấn đề mở rộng quy mô khi lượng người dùng và bài đăng tuyển dụng tăng đột biến.
- Mở rộng nền tảng sang các ứng dụng di động (Mobile Application) giúp gia tăng mức độ gắn kết và khả năng tương tác của sinh viên.
- Tích hợp sâu hơn với cơ sở dữ liệu đào tạo nội bộ của Trường Đại học Sư phạm Kỹ thuật TP.HCM để xác thực điểm số, chứng chỉ học tập của sinh viên, từ đó tăng độ tin cậy cho hồ sơ ứng viên đối với doanh nghiệp.
Giá trị tham khảo
Tài liệu đồ án tốt nghiệp này mang lại giá trị tham khảo học thuật và kỹ thuật thực tiễn cho nhiều nhóm đối tượng:
- Sinh viên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Đồ án là tài liệu tham khảo chi tiết về quy trình xây dựng hoàn chỉnh một ứng dụng web hướng dịch vụ từ giai đoạn khảo sát hiện trạng, thu thập yêu cầu, thiết kế ca sử dụng (Use Case), mô hình hóa cơ sở dữ liệu quan hệ cho đến kiểm thử phần mềm.
- Người làm đề tài về Hệ thống gợi ý (Recommender Systems): Phần tài liệu trình bày rõ ràng cơ sở toán học và cách thức cài đặt thực tế của các giải thuật Collaborative Filtering, kỹ thuật trích xuất đặc trưng TF-IDF và phân lớp KNN kết hợp các độ đo tương đồng Cosine/Jaccard similarity.
- Lập trình viên nghiên cứu tích hợp đa dịch vụ: Các phần triển khai kỹ thuật tích hợp thanh toán trực tuyến VNPay, dịch vụ video call thời gian thực ZegoCloud, xác thực an toàn bằng JWT kết hợp OAuth 2.0 và cơ chế giao tiếp phi chặn giữa Java Spring Boot và Python FastAPI qua WebClient là những giải pháp mẫu có tính ứng dụng cao.
Câu hỏi thường gặp
1. Hệ thống UTE-Career sử dụng những giải thuật nào để thực hiện chức năng gợi ý việc làm và phân tích CV?
Hệ thống kết hợp thuật toán Hybrid filtering (kết hợp lọc cộng tác Collaborative Filtering theo mô hình User-User, Item-Item và lọc dựa trên nội dung Content-based). Kỹ thuật TF-IDF được sử dụng để trích xuất và tính toán trọng số từ khóa trong văn bản CV và tin tuyển dụng; thuật toán K-Nearest Neighbors (KNN) kết hợp cùng độ tương đồng Cosine similarity và Jaccard similarity được sử dụng để phân lớp và so khớp hồ sơ với công việc.
2. Việc phân quyền và xác thực người dùng trên hệ thống được tổ chức như thế nào?
Hệ thống sử dụng Spring Security làm khung bảo mật trung tâm, triển khai xác thực phi trạng thái (Stateless) bằng Json Web Token (JWT) và tích hợp đăng nhập qua tài khoản Google dựa trên giao thức OAuth 2.0. Phía giao diện ReactJS sử dụng Axios Interceptors để tự động kiểm tra và làm mới Access Token khi hết hạn nhằm duy trì phiên làm việc an toàn của người dùng.
3. Khóa luận đã khảo sát những ứng dụng tuyển dụng nào và chỉ ra nhược điểm chung gì của chúng?
Khóa luận đã khảo sát 4 nền tảng gồm TopCV (6 triệu lượt truy cập/tháng), VietnamWorks (2,2 triệu lượt truy cập/tháng), Kariera/CareerBuilder (1,6 triệu lượt truy cập/tháng) và Indeed (3 triệu lượt truy cập/tháng). Nhược điểm chung được chỉ ra là chi phí dịch vụ đăng tin cao đối với doanh nghiệp nhỏ, các nền tảng chủ yếu ưu tiên tuyển dụng người có thâm niên kinh nghiệm và thiếu sự gắn kết chặt chẽ với đối tượng sinh viên đại học.
4. Chức năng phỏng vấn trực tuyến giữa sinh viên và nhà tuyển dụng được triển khai bằng công nghệ gì?
Hệ thống tích hợp SDK và API của nhà cung cấp dịch vụ đám mây ZegoCloud để xây dựng tính năng gọi video (video call) thời gian thực với độ trễ thấp ngay trên giao diện web. Quy trình này được hỗ trợ bởi hệ thống quản lý phòng chờ, kết hợp API Google Calendar để đặt lịch phỏng vấn và biểu mẫu đánh giá ứng viên trực tiếp sau phỏng vấn.
5. Cơ chế giao tiếp giữa hệ thống chính Spring Boot và dịch vụ AI viết bằng Python được thực hiện như thế nào?
Backend chính xây dựng trên Spring Boot giao tiếp với microservice AI viết bằng Python FastAPI thông qua công cụ WebClient thuộc phần mở rộng Spring WebFlux. Cơ chế này hỗ trợ xử lý HTTP bất đồng bộ và không chặn luồng (Non-blocking Reactive), giúp hệ thống truyền tải dữ liệu phân tích mà không gây nghẽn tiến trình xử lý nghiệp vụ chính.
Kết luận
Đồ án tốt nghiệp "Xây dựng hệ thống tìm việc UTE-Career cho sinh viên trường HCMUTE" của sinh viên Nguyễn Thanh Phong và Nguyễn Huỳnh Nguyên đã hoàn thành trọn vẹn mục tiêu nghiên cứu và phát triển một nền tảng hỗ trợ tuyển dụng chuyên biệt cho nhà trường. Bằng việc kết hợp hài hòa kiến trúc phân tầng vững chắc của Java Spring Boot, giao diện linh hoạt của ReactJS và các mô hình học máy xử lý ngôn ngữ tự nhiên trên nền tảng Python FastAPI, nhóm tác giả đã xây dựng thành công một giải pháp công nghệ đáp ứng toàn diện các nghiệp vụ từ tìm kiếm, ứng tuyển, phỏng vấn trực tuyến đến gợi ý việc làm thông minh. Đây là một công trình kỹ thuật phần mềm có cấu trúc chuẩn mực, cơ sở lý thuyết rõ ràng và mang giá trị ứng dụng thực tiễn cao cho công tác hỗ trợ việc làm sinh viên.