呂太之 蔣玉婷 游學軍



摘要:就業是高職教育的生命,是衡量高職院校辦學成功與否的試金石。高職學生普遍缺乏面試過程中專業知識測評的指導和訓練,影響了學生的就業,基于此設計并實現了面試題庫系統。系統根據MVVM設計思路,構建了前后端分離的架構。后臺基于SpringCloud的微服務架構實現,前臺采用Vue框架實現展示,使用Docker完成分布式微服務部署。系統滿足了學生專業知識測評的訓練,有效促進智慧化校園的建設。
關鍵詞:面試題庫系統;微服務;SpringCloud;智慧校園;MyBatis
中圖分類號:TP312 文獻標識碼:A
文章編號:1009-3044(2019)33-0030-03
1概述
高職院校是為社會培養具有創新能力的復合型技術人才,就業導向是高職教育的辦學宗旨。衡量高職院校辦學成功與否的試金石就是其畢業生能否充分就業。畢業生要想走上工作崗位,面試是必不可少的步驟。面試測評的主要內容包括求職者的專業知識水平、綜合分析能力、語言表達能力、應變能力、儀態、氣質、口才和某些特殊技能等。
為了掌握求職者的專業水平,用人單位會通過筆試或者面試的方式進行專業知識測試來驗證求職者是否具有擔任某一工作所要的專業知識水平和相關的實際能力。用人單位在對求職者進行專業知識測評時會結合本單位的業務特點及招聘崗位需求,不同單位、不同崗位間所側重的知識點差別比較大。學生畢業之際,有些專業課由于學完已經很長時間了,不可避免會帶來遺忘。如此種種原因,學生如果面試前沒有提前做好準備,順利通過專業知識測試會比較困難。另外,用人單位也很注重通過面試對學生其他素質進行綜合測評,沒出校門的學生,普遍缺乏社會經驗,需要有針對性地對他們進行面試技巧的輔導。
高職院校教師為了幫助學生更好地就業,平時會通過各種渠道(如通過網絡及往年參加面試學生的反饋信息)收集一些專業知識面試題,包括一些面試技巧等等。但是,這些資源的收集是通過教師自發手工完成的,沒有得到一個很好的管理,也不能充分地提供給師生共享使用。
為了科學、有效地管理不同專業不同課程的大量面試題資源,并且充分利用校園網的優勢,方便地提供給師生共享使用,很有必要開發一套基于Web環境的專業面試訓練系統。該系統以江蘇海事學院智慧化校園建設和學生的實際需求為背景,通過微服務、Web應用、MySQL數據庫等技術,將收集到的專業面試題和面試技巧信息化、自動化。以計算機代替手工操作方式,已具備技術上的可行性和應用需求上的迫切性。
2系統的需求分析與設計
2.1需求分析
系統致力于如何提高高職信息類專業畢業生專業知識面試水平。面試技巧、面試流程、面試注意事項等主觀內容,無妨提供系統進行訓練,在平臺中通過文檔、視頻等方式提供。平臺主要目的是設計并完成一套基于Spring Cloud的高職學生專業面試訓練系統,并完成軟件技術、軟件工程、移動互聯網應用技術等專業面試題庫的建設。諸如面試技巧、面試流程和注意事項等內容因人為因素較大,較難通過系統方式進行訓練,平臺通過文檔、視頻方式提供學生學習。該系統分為前臺用戶訓練和后臺資源管理維護二部分。前臺用戶可以是有需求的學生或者教師,用戶登錄之后可以在線進行專業的訓練、觀看面試技巧相關的視頻和文檔。用戶可以通過選擇崗位、公司,自動抽取面試題庫中的相關試題進行練習。客觀題可以由系統自動評分并給出提示,主觀題待用戶練習之后可以查閱參考答案。后臺用戶是管理員,管理員可以維護崗位、課程、面試技巧信息及公司面試試題的維護。圖1顯示了系統的用例圖。
為了提供用戶良好的用戶體驗,對系統的執行時間做出的以下的要求:用戶正常的操作和在線查詢、瀏覽等操作響應速度控制在3秒以內,在線面試試卷的生成相應時間控制在15秒以內,在線面試提交批改的相應時間控制在5秒以內。
2.2系統設計
微服務架構是將單一應用程序開發為一組小型服務,每個服務運行在單獨的進程中,服務間通信采用輕量級通信機制。Spring cloud是微服務架構的集大成者,將優秀的微服務組件進行了整合。系統基于SpringCloud框架,構建微服務平臺,將應用拆分為系統管理、基礎數據管理、用戶管理/登陸、面試題管理、面試資料管理多個微服務,每個微服務完成單一功能,服務之間采用輕量級的Rest接口實現通信。系統總體架構設計如圖2所示。
系統采用SpringCloud框架實現了前后端分離,微服務實現后臺業務處理,Vue框架實現前臺數據展現。通過SpringCloud框架實現了微服務的發現注冊、配置中心、消息總線、負載均衡、斷路器、數據監控等。
3系統實現
3.1微服務實現
系統中的每個微服務項目是相互獨立的。每個微服務的開發通過Maven進行管理,Jar包的引入通過pop文件添加依賴實現,每個微服務的依賴并不完全一致,需要單獨配置。每個微服務都需要的依賴是MyBatis和MySQL。系統將微服務的實現分為服務層、業務層、數據持久層和域對象層。微服務架構如圖3所示。
服務層通過Spring Boot提供Rest接口,根據客戶端請求,調用業務層提供相應的業務處理。業務層通過SDring框架進行業務組件的組裝關聯。數據持久層通過MyBatis框架實現系統數據庫訪問性能優化和與數據庫交互的常用操作CRUD(Create Retrive Update Delete)。通過MyBatis框架實現了對象關系的映射,簡化了Java語言對數據庫的操作。域對象層是數據庫表的映射,是ORM(Object Relation MappinE)產物。數據存儲在MySQL數據庫中,Redis存儲緩存數據。系統通過applicaton.yml配置Eureka Server服務器地址、微服務在Eureka Server中的名稱以及微服務的端口號等信息。
3.2前端實現
Vue是一個快速開發Web前端的工具包,可以簡化前端開發,提高開發效率”。系統采用MVVM(Model-View-ViewModel)模式開發前端應用,開發框架如圖4所示。
模型層(Model)封裝了業務邏輯和數據,通過微服務來實現。數據模型層(viewModel)封裝了業務邏輯和狀態,通過Vue框架和JavaScript腳本實現。數據模型層和微服務之間的通信采用異步方式,數據模型層采用Axios請求微服務的數據,微服務返回JSON格式的數據。視圖層(VicW)封裝UI和UI邏輯,用戶在屏幕上看的結構和外觀都是由視圖層實現的。
3.3系統測試
采用JMeter對系統進行了性能測試。JMeter是Apache組織開發的基于Java的壓力測試工具,可用于Web應用測試m。通過模擬不同數量的虛擬用戶并發訪問系統,具體操作是設置模擬用戶數(線程數)為200/300/500,每個用戶發出5個請求(循環次數),以此為基礎為每個模擬用戶場景連續進行了五次測試。測試結果顯示基于Spring Cloud的前后端分離架構能夠滿足用戶需求。
4系統部署
Docker是一款開源容器,采用擬化技術,在一臺主機可以搭建數百臺甚至上千臺的。為了提高系統的可維護性和快速部署,系統將微服務部署在Docker集群上,部署架構如圖所示。
系統采用“一個容器一個服務”的方式,將每個微服務部署在單一的容器上。將微服務部署到容器上需要將其打包為鏡像文件。系統通過Jenkins實現微服務的打包、鏡像推送操作。Jenkins是一種開源的、基于web界面的持續集成工具。
5結束語
針對畢業生需要面試習題練習、面試指導等需求,設計并實現了面試題庫系統。系統可進行靈活的應用,促進畢業生就業,提升專業建設水平。系統提供面試資源的管理與共享平臺。用戶登錄之后可以查閱系統中保存的所有面試試題、面試技巧信息,還可以觀看大量的面試就業相關視頻。同時,可以通過選擇崗位、試題類型,自動抽取面試題庫中的相關試題進行練習,用戶練習之后還可以查閱系統中保存的參考答案。后臺管理員可以維護崗位、面試題目、面試技巧信息及面試資料的維護。
系統采用前后端分離的微服務架構,提升了開發效率,增加了代碼的可維護性。系統采用Spring Cloud框架實現了后臺的微服務,簡化了服務配置、服務容錯、負載均衡。采用Vue實現了前端的可視化展現,使得前端更易于擴展。