服務平臺:畢業(yè)設計全流程解析)
要理解這個項目得先看它背后的場景。民航院校的就業(yè)管理跟普通高校有本質區(qū)別飛行技術、空管、機務、簽派、乘務這些專業(yè)的畢業(yè)生招聘周期、行業(yè)資質要求、企業(yè)準入流程都跟計算機系、金融系完全不在一個節(jié)奏上。很多學校還在用微信群轉發(fā)Excel統(tǒng)計的方式管理就業(yè)數(shù)據(jù)企業(yè)來校招的時候簡歷篩選靠輔導員手工翻三方協(xié)議進度靠人肉催。做畢業(yè)設計如果只看就業(yè)平臺三個字就套個通用模板交上去的東西其實啥也沒解決。我這篇就以這個選題為案例把這個項目從需求拆解、表結構、核心代碼到答辯亮點一整套梳理清楚。不管你最終選不選這個題目里面的分析方法和關鍵實現(xiàn)思路都能直接抄作業(yè)。1. 為什么民航院校需要專屬就業(yè)服務平臺選題背景與需求拆解1.1 行業(yè)痛點通用就業(yè)系統(tǒng)在民航院校的水土不服先看一組我在實際調研中碰到的情況。民航類高校的就業(yè)工作有幾個鮮明特點第一資質門檻前置。飛行技術專業(yè)學生進航空公司不是投個簡歷就行得先過招飛體檢、航校認證、執(zhí)照考試、背景調查這一串環(huán)節(jié)。機務專業(yè)要看CCAR-66部執(zhí)照考試通過情況空管要看ICAO英語等級。這些信息在通用就業(yè)系統(tǒng)里根本沒有字段存導致真實狀態(tài)無法線上化。第二招聘批次集中且定向。航司、機場、空管局的招聘通常走校園招聘季大集中定向班小批量模式跟互聯(lián)網(wǎng)行業(yè)的全年滾動招聘完全兩回事。企業(yè)端需要的不是海選式簡歷池而是按專業(yè)方向、執(zhí)照進度、英語等級精準篩選的名單。第三多方角色參與。普通高校就業(yè)基本是學生-就業(yè)中心-企業(yè)三角色民航院校還要加進輔導員跟蹤學生就業(yè)意向和進度、專業(yè)教師推薦信、校企合作聯(lián)系人、甚至家長很多航司面試需要家長知情同意。角色一多數(shù)據(jù)流轉就復雜。所以這個題目叫航空大學就業(yè)服務平臺而不是就業(yè)管理系統(tǒng)——它強調的不只是登記數(shù)據(jù)而是把求職過程的服務鏈路做出來。企業(yè)發(fā)布職位是服務學生完善簡歷是服務輔導員做就業(yè)意向摸排也是服務管理員做數(shù)據(jù)統(tǒng)計更是服務。1.2 四類核心用戶的真實訴求做系統(tǒng)之前先把每類用戶每天的工作場景過一遍學生想知道這學期有哪些航司來校招自己的條件夠不夠投某個崗位簡歷投出去之后進展到哪一步了三方協(xié)議什么時候簽、需不需要補材料。他們最恨的是信息分散最需要的是一個求職進度板。企業(yè)HR秋招期間要同時管幾十個崗位每個崗位幾百份簡歷。最想要的功能是發(fā)布標準化職位、按專業(yè)和證書硬性篩選學生、批量導出面試名單、在線發(fā)面試通知、記錄面試結論。輔導員/學院管理員每周需要向上級匯報我?guī)У膶I(yè)就業(yè)率多少了、還有幾個困難學生沒落實、都是卡在哪個環(huán)節(jié)。他們最痛苦的是手工統(tǒng)計Excel最需要的是一張自動刷新的就業(yè)漏斗圖。校級管理員需要掌握全校簽約數(shù)據(jù)、各專業(yè)對比數(shù)據(jù)、用人單位的行業(yè)分布以及校企合作簽約情況。把這幾類訴求一條條列出來系統(tǒng)的功能邊界就清楚了。1.3 項目范圍界定做到什么程度才叫畢業(yè)設計合格很多同學一上來就想做AI智能匹配、大數(shù)據(jù)挖掘然后把自己埋坑里爬不出來。我的建議是畢業(yè)設計題目要保證三個能驗收——功能完整能演示、代碼自己真能寫出來、論文有東西可寫。這個題目最合適的范圍是學生端微信瀏覽器環(huán)境優(yōu)先適配注冊登錄、簡歷填寫與版本管理、職位瀏覽與篩選、簡歷投遞、投遞記錄與進度追蹤、面試通知查看、就業(yè)政策與公告閱讀。企業(yè)端Web端企業(yè)資質注冊與審核、職位發(fā)布與管理、學生簡歷篩選按專業(yè)、證書、學歷、面試安排通知、崗位錄用與三方協(xié)議流程登記。輔導員端Web端所帶班級學生就業(yè)信息總覽、就業(yè)意向登記表、就業(yè)進展跟蹤、未就業(yè)學生催辦提醒。管理員端Web端所有角色的管理后臺、數(shù)據(jù)統(tǒng)計看板、公告資訊管理、企業(yè)認證審核、字典數(shù)據(jù)維護專業(yè)方向、崗位類別、航空公司列表等。把范圍鎖在這四塊工作量可控邏輯上自成一體答辯時也說得清楚。2. 技術與架構選型SpringBoot Vue為什么是這個題目的最佳組合2.1 后端框架的取舍邏輯現(xiàn)在畢業(yè)設計后端繞不開SpringBoot但這不該是因為它流行所以選它得說出道理。第一SpringBoot的自動配置特性大幅降低了工程搭建成本。一個空項目用Spring Initializr三分鐘跑起來內(nèi)嵌Tomcat解決了傳統(tǒng)的WAR包部署問題這對要忙于秋招的畢業(yè)生來說非?,F(xiàn)實——畢設最怕的不是代碼難而是環(huán)境搭不起來。第二Spring生態(tài)的周邊組件成熟。這個項目涉及權限控制Spring Security或Sa-Token、數(shù)據(jù)持久化MyBatis-Plus、文件存儲本地或OSS、定時任務Quartz或Spring Task每一項在SpringBoot下都有成熟的整合方案。答辯被問到你如何保證數(shù)據(jù)一致性你的系統(tǒng)怎么應對高并發(fā)也能用Spring事務和Redis緩存去答。第三Java本身對面向對象的表達力。航院就業(yè)平臺天然有人的概念——學生、輔導員、企業(yè)聯(lián)系人都是User的派生職位和簡歷之間有復雜的關聯(lián)關系。用Java寫類結構設計得好代碼可讀性會明顯強于腳本語言。2.2 前端與整體架構前后端分離是最省心的路線我見過不少畢設用Thymeleaf做服務端渲染頁面長什么樣全寫在模板里改個樣式都費勁。前后端分離模式下前端是Vue3 Element Plus后端只輸出JSON兩邊各改各的調試效率高很多。部署架構可以是經(jīng)典的三層前端Vue3 單頁應用打包成靜態(tài)文件放在Nginx下。后端SpringBoot 打Jar包獨立部署端口映射到 /api 前綴。數(shù)據(jù)庫MySQL 8.0存業(yè)務數(shù)據(jù)Redis 緩存驗證碼、熱點職位數(shù)據(jù)、Session/Token。這里有個實操經(jīng)驗不要把Nginx反代和API網(wǎng)關混為一談。本項目不需要SpringCloud Gateway那種微服務網(wǎng)關用Nginx做一個 / 指向前端靜態(tài)資源、/api 指向后端接口的轉發(fā)就足夠。在application.yml里配好跨域前端開發(fā)時走vite代理部署時走Nginx兩邊切換也不麻煩。2.3 關鍵詞里沒提但你大概率要用的組件很多同學照著關鍵詞選了SpringBoot結果項目里只用到了它的Web模塊太浪費。這個畢設按我的經(jīng)驗建議至少用到下面這些組件它們每一個都能成為論文的技術亮點組件用途為何必要MyBatis-Plus數(shù)據(jù)持久化與條件構造器內(nèi)置分頁插件比手寫XML省一半工作量邏輯刪除、自動填充都很實用Sa-Token / JWT登錄鑒權與角色權限輕量文檔中文友好比Spring Security容易學透Spring Task定時統(tǒng)計就業(yè)數(shù)據(jù)每周給輔導員推送未就業(yè)名單是答辯演示的一個小亮點EasyExcel導出學生名單、就業(yè)數(shù)據(jù)報表企業(yè)HR和輔導員最愛這個功能演示效果好Redis驗證碼存儲、職位熱度統(tǒng)計讓技術方案里有一項中間件面試問Redis不虛不過組件不是越多越好拿不準的寧可不用。比如有人非要在系統(tǒng)里加個消息隊列結果業(yè)務場景里根本沒有異步削峰需求答辯時被質疑為什么用MQ就容易卡殼。3. 數(shù)據(jù)模型設計簡歷-職位-投遞主鏈路背后的表結構推演3.1 用戶與角色的表模型單表加角色字段還是拆多表這是個經(jīng)典設計問題。方案A是user表 role字段0學生、1企業(yè)、2輔導員、3管理員簡單直接方案B是user表 user_role中間表走后端RBAC模型。我的建議是方案B但角色表可以精簡。因為這個項目里確實存在一個人有兩種身份的真實情況——比如就業(yè)辦的老師既是管理員賬號也可能在校企合作里當企業(yè)聯(lián)系人審核員。用中間表來表達后面處理權限時邏輯清晰答辯時也能講出我是按RBAC模型設計的。user表的字段設計要留意這些學生信息不能全塞在user表里單獨建 student_profile 表存學號、學院、專業(yè)方向、年級、政治面貌、生源地、畢業(yè)年份。企業(yè)信息也不適合放user表建 company 表存企業(yè)全稱、統(tǒng)一社會信用代碼、企業(yè)類型航司/機場/機務維修/航空物流等、規(guī)模、聯(lián)系人姓名、電話、營業(yè)執(zhí)照附件路徑。輔導員與專業(yè)班級的綁定關系通過一個系部表college/major字典表關聯(lián)。密碼存儲不能明文我用的是BCrypt加密。注冊時校驗密碼強度和手機號格式這些小事在驗收評測時容易被揪出來提前做好能少很多麻煩。3.2 核心業(yè)務表職業(yè)測評需求怎么落庫平臺真正的核心是職位發(fā)布-簡歷投遞-進度跟蹤這條鏈路。圍繞它至少需要這樣幾張表job_position職位表字段id、company_id、position_name、job_category飛行員/機務/簽派/空乘/空管/地服/行政、recruit_count、work_city、salary_range、degree_requirement、certificate_requirementJSON或字符串存儲需要的執(zhí)照、is_expired、publish_time。這里有個設計點證書要求為什么不用多對多表畢業(yè)設計階段建議存一個證書編碼數(shù)組字符串比如[ACARS,ICAO4,CCAR66]。真正做篩選時用SQL的like匹配或直接在內(nèi)存里過濾對數(shù)據(jù)量幾千條的場景完全夠用。如果拆成證書表、職位證書關聯(lián)表、用戶證書表模型是規(guī)范了但查詢復雜度明顯上升演示時反而容易出bug。resume簡歷表主表字段id、student_id、resume_name、is_current是否是當前版本、創(chuàng)建時間、更新時間。子表education_experience教育經(jīng)歷、internship_experience實習經(jīng)歷、certificate_list證書列表、project_experience項目經(jīng)歷。簡歷為什么要做版本管理因為學生投遞A公司時用的簡歷和投遞B公司時可能不一樣企業(yè)看到的一定是學生提交這個職位那一刻的簡歷快照。我的做法是投遞表里冗余一份resume_snapshot字段存的是一份JSON格式的簡歷內(nèi)容。這樣哪怕學生后面更新了簡歷也不影響歷史投遞記錄企業(yè)看到的數(shù)據(jù)是穩(wěn)定的。這個設計在答辯時特別加分因為很多同學沒想過數(shù)據(jù)一致性。delivery_record投遞記錄表字段id、resume_id、job_position_id、student_id、status0待查看、1已查看、2面試通知、3已通過、4已拒絕、5已取消、apply_time、interview_time、interview_address、feedback。這張表是整個系統(tǒng)的神經(jīng)系統(tǒng)。所有角色關心的問題——學生問我進展到哪了、HR問哪些人投了我輔導員問我學生就業(yè)走到哪個環(huán)節(jié)了——都通過這張表查。subscription/collection訂閱收藏表學生收藏意向職位方便后續(xù)集中比較、投遞。這個功能雖小但很體現(xiàn)服務意識。3.3 就業(yè)漏斗統(tǒng)計的三張輔助表統(tǒng)計就業(yè)率不能每次從零算。我設計了 daily_employment_stat 日統(tǒng)計表字段包含統(tǒng)計日期、學院、專業(yè)方向、畢業(yè)生總人數(shù)、已簽約人數(shù)、投遞中人數(shù)、面試中人數(shù)、未行動人數(shù)、更新人。每天晚上通過Spring Task跑一次任務從業(yè)務表匯總寫入。這樣做有幾個好處輔導員打開頁面的響應速度非??觳挥矛F(xiàn)算??梢苑奖愕禺嬚劬€圖、柱狀圖看就業(yè)率趨勢。定時任務邏輯簡單論文里定時任務Cron表達式也成了一段能清晰說明的內(nèi)容。還要一張 position_apply_count 職位熱度表記錄每個職位每天的投遞量。這個在相似職位推薦功能里用得上先別急著做復雜協(xié)同過濾熱門職位排序就夠了。4. 從需求到可演示的功能各角色的核心流程與頁面設計4.1 學生端口簡歷完善是第一公里任何一個就業(yè)平臺最大的前期流失點都是簡歷填到一半就不想填了。為了讓演示和真實使用都順暢我建議學生端的個人中心做四個區(qū)塊基礎信息區(qū)學號、姓名、性別、出生日期、籍貫、政治面貌、畢業(yè)年份、聯(lián)系電話、郵箱。這些信息直接從學工系統(tǒng)導入或注冊時填學生只需確認。能力信息區(qū)英語等級CET-4/CET-6/ICAO英語等級、執(zhí)照情況私照、儀表等級、商照、航線照、CCAR-66、簽派執(zhí)照、計算機證書、技能特長。這一塊是民航招聘最看重的硬篩選條件。經(jīng)歷信息區(qū)在校任職、實習經(jīng)歷、項目經(jīng)歷、獎懲記錄。每次經(jīng)歷用表單嵌入方式填后端存json數(shù)組。求職意圖區(qū)意向崗位類別多選、意向城市多選、薪資期望區(qū)間、是否可以服從調劑、是否有直系親屬在民航系統(tǒng)工作航司背調常用選項。簡歷完善度用進度條呈現(xiàn)沒填完的區(qū)塊有紅色提示。前端用Vue的watch監(jiān)聽表單變化每完成一個區(qū)塊就調一次后端接口更新progress字段。這個小交互雖然簡單但演示效果很有產(chǎn)品感。4.2 企業(yè)HR端口從發(fā)布職位到批量篩選企業(yè)端登錄后第一屏是我的招聘工作臺。上面顯示進行中職位數(shù)、累計接收簡歷數(shù)、待處理簡歷數(shù)、本周邊面試安排數(shù)。核心操作流是發(fā)布職位 → 填寫崗位要求 → 上架 → 查看投遞列表 → 篩選學生 → 發(fā)送面試通知 → 記錄面試結果 → 錄用登記。一個非常實用且能體現(xiàn)思考深度的功能點是簡歷篩選器。HR在職位投遞列表頁可以組合篩選專業(yè)方向包含飛行技術或交通運輸空管英語等級等于 CET-6 或 ICAO4持有證書包含 CCAR66學歷等于 本科畢業(yè)年份等于 2025這個篩選器的前端是一組下拉框標簽選擇后端用MyBatis-Plus的wrapper動態(tài)拼接條件。關鍵點在于每個篩選維度對應resume_snapshot里的JSON字段用SQL里的JSON_CONTAINS或LOCATE來做匹配。數(shù)據(jù)量小的項目直接內(nèi)存過濾都可以但用wrapper能展示出你對框架熟練度。4.3 輔導員的就業(yè)作戰(zhàn)地圖輔導員角色的價值被人忽略實際上民航院校里輔導員的就業(yè)推動職責特別重。我設計的輔導員端重點是兩張列表就業(yè)進度總表列表每一行是一個學生列包括姓名、學號、專業(yè)方向、就業(yè)意向登記時間、當前投遞數(shù)、最新投遞狀態(tài)待查看/面試中/已簽約、最后跟進時間、是否困難生。輔導員可以按專業(yè)、按狀態(tài)篩選也可以輸入學號直接模糊查詢。未就業(yè)學生預警列表系統(tǒng)每天統(tǒng)計一次凡是距離上次簡歷投遞超過20天、且沒有簽約的學生自動進這個列表。輔導員點擊跟進按鈕后可以填寫一條跟進記錄電話溝通內(nèi)容、學生顧慮點、建議崗位再次跟進時間可以設定。這個功能在論文里屬于異常預警機制非常有的寫。4.4 管理員后臺別只看CRUD數(shù)據(jù)看板才是壓軸戲管理員后臺常規(guī)操作用戶管理、企業(yè)認證審核、公告管理、字典管理我就不展開說了重點提數(shù)據(jù)統(tǒng)計看板這是答辯演示時最容易打動評委的一屏。頂部四個統(tǒng)計卡片在招崗位數(shù)、應屆畢業(yè)生總數(shù)、簽約人數(shù)、簽約率。中間放近30天投遞量折線圖用ECharts畫橫軸是日期、縱軸是投遞次數(shù)兩條線投遞數(shù)、面試通知數(shù)形成漏斗感。下面放各專業(yè)簽約率橫向柱狀圖和就業(yè)去向行業(yè)分布餅圖航空公司、機場、機務維修、航空物流、其他。最后一張表未簽約人員明細可一鍵導出Excel。這里有個演示技巧先點開實時數(shù)據(jù)接口把圖表加載出來再解釋數(shù)據(jù)來源是每日定時任務統(tǒng)計結果表。評委往往會追問你這些數(shù)據(jù)是怎么算的這時候把SQL和定時任務邏輯講清楚比扯一堆大數(shù)據(jù)分析強一百倍。5. 關鍵難點實現(xiàn)投遞狀態(tài)機、篩選推薦、文件導出與安全5.1 投遞狀態(tài)流轉為什么不用普通字段更新硬編碼狀態(tài)字段 status 如果只是簡單更新很容易出現(xiàn)業(yè)務邏輯漏洞——比如學生投遞之后HR還沒看學生這邊就點已簽約或者企業(yè)直接給沒投遞過簡歷的學生發(fā)offer。為了防止這種狀態(tài)跳變我在Service層封裝了一個狀態(tài)機工具類定義合法的流轉關系public enum DeliveryStatus { PENDING(0, 待查看), VIEWED(1, 已查看), INTERVIEW(2, 面試中), OFFERED(3, 已通過), REJECTED(4, 已拒絕), CANCELLED(5, 已取消); private final int code; private final String desc; private static final MapInteger, SetInteger ALLOW_TRANSITIONS Map.of( 0, Set.of(1, 5), 1, Set.of(2, 4, 5), 2, Set.of(3, 4), 3, Set.of(), 4, Set.of(), 5, Set.of() ); public static boolean canTransition(int from, int to) { SetInteger allowed ALLOW_TRANSITIONS.getOrDefault(from, Set.of()); return allowed.contains(to); } }每次變更狀態(tài)的時候先讀當前狀態(tài)判斷目標狀態(tài)是否在合法集合里不在就拋出業(yè)務異常。這個代碼不多但直接體現(xiàn)了業(yè)務流程閉環(huán)的工程意識。論文里的狀態(tài)機設計小節(jié)也有圖可畫。5.2 職位-學生雙向推薦不搞協(xié)同過濾也可以很有用很多畢設喜歡蹭推薦算法熱點但協(xié)同過濾在數(shù)據(jù)量幾十條時根本跑不出效果。我的做法是規(guī)則標簽匹配在職位列表頁展示猜你想投邏輯很簡單根據(jù)學生意向崗位類別和意向城市先去job_position找同崗位類別的職位按熱度排序如果同類別職位不夠三個再用意向城市放寬條件補足。public ListJobPositionVO guessYouWant(Long studentId) { StudentProfile profile studentProfileService.getByStudentId(studentId); ListString intendedCategories profile.getIntendCategories(); // [飛行技術, 簽派] String city profile.getIntendedCity(); ListJobPosition byCategory jobPositionMapper.selectList( new LambdaQueryWrapperJobPosition() .in(JobPosition::getJobCategory, intendedCategories) .eq(JobPosition::getIsExpired, false) .orderByDesc(JobPosition::getHeat) .last(limit 3) ); if (byCategory.size() 3) { ListJobPosition byCity jobPositionMapper.selectList( new LambdaQueryWrapperJobPosition() .eq(JobPosition::getWorkCity, city) .eq(JobPosition::getIsExpired, false) .notIn(byCategory.size() 0, JobPosition::getId, byCategory.stream().map(JobPosition::getId).collect(Collectors.toList())) .last(limit (3 - byCategory.size())) ); byCategory.addAll(byCity); } return convertToVO(byCategory); }這段代碼邏輯簡單、可讀性高答辯被問為什么不用協(xié)同過濾時誠實回答規(guī)則匹配在冷啟動和小數(shù)據(jù)量場景下效果更好、可解釋性更強——這比硬凹算法要體面得多。5.3 EasyExcel導出HR和輔導員下班早的秘訣導出這個功能我單獨提一下因為多數(shù)畢設只是寫個點擊導出Excel按鈕然后往服務器臨時目錄扔一個文件。更優(yōu)做法是服務端生成S3/本地存儲下載鏈接三步走并且導出的時候用異步線程池讓用戶點完按鈕后去刷新列表看到導出完成即可。EasyExcel的核心代碼不復雜但要注意三點把表頭class用注解定義好字段順序對應列順序。日期類型設置format避免導出后顯示一串時間戳。大數(shù)據(jù)量場景下用分頁查詢批量寫入雖然本項目數(shù)據(jù)不大但代碼里保留這個模式展示工程素養(yǎng)。5.4 全局異常、參數(shù)校驗和基礎安全這些細節(jié)保護你度過答辯安全這塊不需要上多高端的方案但基礎的一定要有。比如登錄接口要加驗證碼Redis存驗證碼、5分鐘過期、密碼要BCrypt加密、前端傳過來的id要校驗歸屬權學生不能改別人的簡歷。我還會在項目里加一個全局異常處理器 RestControllerAdvice統(tǒng)一返回{ code: 500, msg: ... }這樣的結構。這樣前端不用到處try-catch校驗失敗返回400和明確提示。這個小點體現(xiàn)的是工程落地思維不是只把功能做出來就完事。XSS這個熱點詞也順帶說一下。很多畢設把用戶提交內(nèi)容直接存庫再原樣顯示到頁面上容易被投script代碼。最簡單有效的做法是后端統(tǒng)一對提交參數(shù)做HTML標簽轉義處理前端用正則校驗特殊字符。網(wǎng)上說的全局過濾器確實是一個方案但對圖片上傳和富文本內(nèi)容要跳過否則會把正常內(nèi)容也過濾掉。我的建議是把過濾惡意字符放在前端輸入校驗層攔截非法輸入而不是后端全量清洗。6. 從開發(fā)完成到高分通過演示腳本與論文結構的實戰(zhàn)經(jīng)驗6.1 演示腳本要講故事不要走菜單很多同學答辯演示時是我點一下這個按鈕出來這個頁面評委聽五分鐘就困了。我建議把演示編排成一個業(yè)務故事故事A學生視角我是飛行技術專業(yè)2025屆畢業(yè)生我登錄系統(tǒng)完善了我的簡歷展示簡歷完善度從60%變成100%。我看到系統(tǒng)推薦了三家航司的飛行員崗位其中一家是我意向的我投遞了簡歷。企業(yè)HR登錄后看到了我的簡歷發(fā)來了面試通知。我再登錄學生賬號發(fā)現(xiàn)狀態(tài)變成了已發(fā)出面試通知。故事B管理者視角我是就業(yè)辦主任我今天最關心各專業(yè)的就業(yè)進度。登錄管理后臺先看投遞趨勢圖——秋招啟動后投遞量穩(wěn)步上升再看各專業(yè)簽約率——機務專業(yè)稍微落后點進去看未就業(yè)明細一鍵導出Excel發(fā)給輔導員去跟進。這兩個故事串起來核心功能全部覆蓋邏輯鏈條完整。演示前一定要把演示數(shù)據(jù)庫里的數(shù)據(jù)造好看學生姓名要正常職位要真實感中國東方航空、國航股份這種可以出現(xiàn)——它們是社會公開企業(yè)名稱不涉及敏感簽約率數(shù)據(jù)不要99%就70%出頭看起來真實。6.2 論文的核心章節(jié)怎么組織畢設論文結構上我建議這樣安排第一章 緒論從民航就業(yè)形勢、行業(yè)信息化需求出發(fā)寫清楚為什么做這個系統(tǒng)。第二章 相關技術與開發(fā)環(huán)境SpringBoot、Vue、MySQL、Redis、EasyExcel、ECharts逐個做簡介但不要抄百度每項都結合本項目說明用途。第三章 系統(tǒng)分析可行性分析技術、經(jīng)濟、操作需求分析功能需求用例圖非功能需求性能、安全、兼容性。第四章 系統(tǒng)設計總體架構圖、功能模塊圖、數(shù)據(jù)庫E-R圖、核心表結構說明、狀態(tài)機設計。第五章 系統(tǒng)實現(xiàn)每個模塊寫實現(xiàn)思路配關鍵代碼和運行截圖重點突出上面講到的狀態(tài)機、簡歷快照、規(guī)則推薦、定時統(tǒng)計。第六章 系統(tǒng)測試功能測試用例表、性能測試結果用JMeter打幾個接口把QPS和響應時間截個圖、兼容性測試結論。論文最忌諱寫成操作說明書不要每個頁面都截圖。一定要寫為什么這么設計和遇到的問題怎么解決這兩塊才是評委最感興趣的地方。6.3 幾個答辯常問問題的回答預案最后我列一組答辯大概率被問的高頻問題提前準備別現(xiàn)場瞎編問你和現(xiàn)有的招聘網(wǎng)站如民航資源網(wǎng)有什么區(qū)別答它們的核心是流量和信息分發(fā)目標是多個院校/全行業(yè)的招聘撮合本系統(tǒng)是針對我校就業(yè)管理流程設計包含了輔導員跟進、簽約進度追蹤、校內(nèi)統(tǒng)計報表這類校園業(yè)務更偏教務和就業(yè)管理一體化重點角色是輔導員和管理員。問如果同一時間有上萬人訪問系統(tǒng)會不會掛你怎么辦答目前系統(tǒng)的數(shù)據(jù)規(guī)模是本校幾千學生單機部署足夠。如果要擴展可從三方面入手前端做靜態(tài)資源CDN和Nginx負載均衡后端加Redis緩存熱點職位和簡歷數(shù)據(jù)數(shù)據(jù)庫做讀寫分離。同時把簡歷投遞寫操作改為異步MQ削峰?!灰言捳f到這個層面已經(jīng)過關不要真的去搭一套微服務。問你的簡歷快照為什么用JSON存而不是單獨建表答簡歷結構多變不同專業(yè)飛行、機務、空管的履歷元素差異較大JSON可以快速擴展投遞時點只需要保留當時能看到的那份內(nèi)容查詢時按職位維度看快照也更快。如果后續(xù)要做簡歷全文檢索或復雜結構化比較再考慮拆分表。寫在最后的一點實際體會做完這個項目你會發(fā)現(xiàn)真正讓你成長的不是SpringBoot或者Vue本身的API而是你開始從功能的實現(xiàn)者變成業(yè)務的理解者——你要想清楚民航就業(yè)流程里誰先誰后、誰有權做什么、數(shù)據(jù)從哪里來又到哪里去。遇到卡殼的時候不要急著改代碼先花半小時把業(yè)務流程圖畫明白很多接口設計問題就會迎刃而解。最后再分享一個小技巧開發(fā)過程中一定要把數(shù)據(jù)字典專業(yè)方向、崗位類別、證書編碼、城市列表做成數(shù)據(jù)庫表來維護千萬別寫死在代碼里。因為航空公司名稱、崗位分類這些東西是會變的你寫死在枚舉里后面每次添加數(shù)據(jù)都要改代碼重新部署而用數(shù)據(jù)字典后管理員在后臺就能直接加。這個細節(jié)在最終測試和使用時能幫你省下大量的重復勞動。