I. Khảo sát hiện trạng
Sự phát triển của công nghệ thông tin đã và đang làm thay đổi toàn bộ thế giới. Mọi ngành nghề, mọi lĩnh vực như kinh tế, y khoa, công nghiệp… dần dần được tin học hóa và làm cho công việc trở nên dễ dàng, nhanh chóng, chính xác hơn. Đặc biệt trong công tác giáo dục và cả trong các công tác thi cử tuyển nhân sự, việc tin học hóa góp phần nâng cao chất lượng dạy và học cũng như kiểm tra. Hình thức thi trắc nghiệm hay trắc nghiệm kết hợp với tin học đã trở thành một trong những hình thức thi phổ biến nhất trên thế giới. Với ưu điểm khách quan, chính xác và thuận tiện cho cả người ra đề và thí sinh đi thi, hình thức thi này đã được áp dụng ở hầu khắp các nước, đặc biệt là trong các kỳ thi của các tổ chức lớn có phạm vi toàn cầu như ETS (Educational Testing Service) và Microsoft. Tại Việt Nam, trong những năm gần đây, việc đổi mới hình thức thi cử cũng trở thành một việc làm cấp thiết. Trong các hình thức thi cử, trắc nghiệm khách quan là hình thức được nhiều người chú ý nhất do những ưu điểm của nó trong việc kiểm tra, đánh giá trình độ người dự thi.
1.1. Tính cấp thiết của đề tài
Việc phỏng vấn theo kiểu trực tiếp face to face chưa tối ưu về mặt thời gian và công sức. Người phỏng vấn chỉ có thể gặp một số lượng ứng viên nhất định trong một đợt phỏng vấn để có thể hiểu rõ năng lực của từng ứng viên. Bên cạnh đó, người phỏng vấn phải kiểm tra từng người trong số họ để chọn lọc những ứng cử viên sáng giá, chính vì thế làm tốn rất nhiều thời gian cho người phỏng vấn cũng như kinh phí của công ty cho việc phỏng vấn. Vấn đề đặt ra là có nên đưa tất cả các ứng viên vào trong một bài kiểm tra cụ thể do người phỏng vấn đặt ra, sau đó chọn lọc ra các ứng viên sáng giá một cách nhanh chóng? Giải quyết vấn đề này, việc thi giấy truyền thống cũng tiêu tốn khá nhiều chi phí cho việc setup các tài liệu, đánh máy, khó chọn lọc câu hỏi theo loại của các câu hỏi từ những bài kiểm tra trước. Do đó, cần một phần mềm vừa giúp nhân viên nhân sự đăng các bài tuyển dụng vừa giúp cho người phỏng vấn dễ dàng trong việc tạo bài quiz.
II. Mục tiêu và nhiệm vụ đề tài
Mục tiêu của đề tài là xây dựng các tính năng hỗ trợ nhân viên nhân sự cho việc phỏng vấn và tuyển nhân viên cho công ty. Các tính năng bao gồm đăng tin tuyển dụng, sắp xếp ứng viên theo các đợt phỏng vấn, đưa các người phỏng vấn vào đợt phỏng vấn và ra các bài quiz cho ứng viên để kiểm tra kiến thức. Hệ thống cũng sẽ cho phép xem xét các bài thi sau khi ứng viên đã thi xong và đưa ra kết quả phỏng vấn. Nhiệm vụ của đề tài bao gồm tìm hiểu, tham khảo các chức năng và giao diện của các hệ thống tương tự, tìm hiểu về các API để gửi trả dữ liệu từ BackEnd vào FrontEnd và ngược lại, cũng như xây dựng trang web thân thiện, có liên kết account với Gmail. Việc xây dựng một trang web trắc nghiệm trực tuyến sẽ hỗ trợ cho việc kiểm tra trình độ, rèn luyện, ôn tập kiến thức một cách cơ bản nhất.
2.1. Nhiệm vụ
Nhiệm vụ bao gồm tìm hiểu các công nghệ hỗ trợ khác để chỉnh sửa và xây dựng các tính năng mới, xây dựng thêm các tính năng kiểm tra cho các ứng viên thi và các qui định thời gian và số lượt làm bài tập. Cần nghiên cứu và deploy ứng dụng lên nền tảng Heroku, đồng thời tìm hiểu cách lưu các file có dung lượng lớn bằng cloudinary. Việc xây dựng một hệ thống hỗ trợ phỏng vấn ngành IT tại HCMUTE sẽ giúp cho việc tuyển dụng trở nên hiệu quả hơn, tiết kiệm thời gian và chi phí cho các công ty trong ngành công nghệ thông tin.
III. Công nghệ lập trình
Đề tài sử dụng ExpressJS và NodeJS để viết server backend và ReactJS phía Frontend. MySQL được sử dụng để tạo nên cơ sở dữ liệu chính cho project. Việc triển khai hệ thống thông qua mạng Internet sẽ được thực hiện bằng các dịch vụ của Heroku. Sự kết hợp giữa các công nghệ này tạo ra một nền tảng vững chắc cho việc phát triển hệ thống hỗ trợ phỏng vấn. MERN Stack là một trong những lựa chọn phổ biến hiện nay cho việc xây dựng ứng dụng web, nhờ vào tính linh hoạt và khả năng mở rộng của nó. Việc áp dụng các công nghệ này không chỉ giúp cho việc phát triển trở nên nhanh chóng mà còn đảm bảo tính bảo mật và hiệu suất cao cho hệ thống.
3.1. MERN Stack
MERN stack bao gồm MongoDB/MySQL, ExpressJS, React/React Native, NodeJS. Đây là một bộ công nghệ mã nguồn mở, cho phép phát triển ứng dụng web một cách hiệu quả. MySQL là hệ quản trị cơ sở dữ liệu phổ biến, cung cấp tốc độ cao và tính bảo mật tốt. Việc sử dụng NodeJS cho phép viết mã phía server một cách dễ dàng, trong khi ReactJS giúp xây dựng giao diện người dùng một cách linh hoạt. Sự kết hợp này không chỉ giúp cho việc phát triển trở nên nhanh chóng mà còn đảm bảo tính bảo mật và hiệu suất cao cho hệ thống.