項目介紹示范
(項目背景)
下面我介紹一下我最近做的XX快遞管理系統。XX快遞管理系統是為了適應XX公司快遞業務的不斷發展的現狀而開發的一套管理平台,實現了“決策、管理、操作”一體化運作。系統在滿足各層基本操作的同時,做到了管理層協調管理的簡化,進行有效的控制運營。
(技術架構)
技術上我們選擇了spring+Struts2+hibernate的技術架構,安全登錄和權限方面選擇了shiro安全框架,為了應對大數據量的分析運算我們選擇了oracle數據庫,並用redis技術做了緩存,版本控制上使用了SVN。為了解決……問題,我們使用……技術(這個地方寫一下自己比較了解的技術。)
(業務架構)
整個系統的后台管理主要分為系統管理、基礎設置、取派、中轉、路由、PDA、財務管理、報表管理八個模塊。在整個系統的開發過程中,我主要參與了前期需求討論,模塊設計討論、以及系統模塊中的用戶權限、中轉模塊的代碼編寫功能實現、功能測試以及bug修改等工作。在項目初期項目組成員對shiro技術並不是特別了解,之前開發中基本是用Spring Security做這一塊功能,但是考慮到技術輕量級的趨勢,我們選擇了shiro,項目經理把這個模塊分給我后,我並沒有推脫,大約用了一周的時間去學習了技術文檔,作出了小demo,並對shiro框架有了一定的認識,在模塊的開發過程中不斷學習完善自己的shiro技術認知。(表現自己的學習能力)對比Spring Security,它可能沒有Spring Security做的功能強大,但是在實際工作時使用Shiro就足夠了,而且shiro的學習成本低得多。我說一下我對shiro的認識吧。Shiro有三個核心組件:第一個是Subjec,就是我們所謂的用戶; 第二個呢就是SecurityManager,shiro框架通過它來管理內部組件實例,並通過它來提供安全管理的各種服務;第三個就是Realms,它充當了Shiro與應用安全數據間的“橋梁”或者“連接器”。也就是說,當對用戶執行認證(登錄)和授權(訪問控制)驗證時,Shiro會從應用配置的Realm中查找用戶及其權限信息。當配置Shiro時,你必須至少指定一個Realm,用於認證和(或)授權。配置多個Realm是可以的,但是至少需要一個。 (到這里如果面試官還有興趣聽下去,你可以繼續深入講,如果沒興趣就轉到模塊的開發)我們系統分配了總經理、廳經理、小件員、受理、調度、出入庫操作員、客戶,系統管理員等角色,我沒記錯的話大約總共40多個角色,這些角色分布在總公司、分公司、轉運中心、加盟商等機構下,相同的角色可以看到相同的界面,但是看到的數據0通過數據過濾各不相同。(如果問怎么進行數據過濾的,那就是通過用戶關聯區域、權限等信息進行過濾,這地方涉及到sql,也可以說是存儲過程做的,從而引向數據庫,體現數據庫技能,前提是你得先去了解)在這過程中遇到了一個記錄登錄狀態的問題,就是在不同終端登錄同一賬號的判斷,困擾了一段時間,后來通過redis共享session數據得到了解決。(這么說也是引導對方去問,自己想好答案)。我獨立開發的另一個模塊是中轉,這個模塊比較大,涉及的功能比較多,我就主要講一下入庫管理這個功能。物流車到了中轉站之后,需要入庫操作員登錄本系統,將貨物信息入庫,可以選擇手動輸入,也可以批量掃描輸入,現在一般選擇掃描輸入,完成后可以在界面上看到所有貨單信息,然后輸入上游的出庫單號查出貨單信息,可以點擊對比按鈕進行信息對比,對比后會將異常信息顯示在結果界面,有貨無單顯示為黃色,有單無貨顯示為紅色。之后可以進行保存操作,點擊保存后系統會自動創建交接單號,在這同時還會更新工作但責任單位,也就是生成交接單的單位,然后更新上游環節的交接單狀態,將異常信息保存入庫以便之后系統進行對沖操作,這之后系統自動發起異常對沖,異常對沖就是系統將同一工作單上有貨無單和有單無貨的信息進行匹配消除異常信息。到這入庫過程就完成了,下面就是分揀、裝車、出庫等環節,因為業務邏輯都比較復雜,這里不再贅述。這個模塊的開發最主要的就是對業務邏輯的梳理和功能實現,期間也是反復的和客戶進行需求的溝通和確認,這確實也是個比較費時費力的工作,過程也比較反復,不過還好我個人的溝通能力還不錯和客戶的相處的也比較愉快、當對業務邏輯梳理清晰之后開發還是相當順利的。(這一塊就反映自己的工作以及溝通能力,這也是工作中不可少的)
項目描述到這個程度,讓面試官相信你的工作經驗應該不成問題,在這基礎上進行適當的內容豐富,講到二十分鍾甚至更長完全不成問題,因為中間難免會和面試官進行交流。同學們一定要學會舉一反三,像項目一這種業務邏輯比較復雜和清晰的項目,業務邏輯的了解其實比技術更重要,因為業務的了解是開發的前提工作。而像項目二這種就可以像第一個功能點一樣去介紹,從三個方面去說,為什么用這個技術,這個技術是什么,這個技術相對於同類技術有哪些優勢,只要把這三個方面講清楚,技術能力也就體現出來了。還可以說一下遇到的困難,是怎么解決的,這個困難不一定是多有技術含量,但是可以體現出你解決問題的能力和工作的真實性。就先說這么多,有什么不懂得繼續交流吧。