ERP系統(tǒng)-面試問題匯總_第1頁
ERP系統(tǒng)-面試問題匯總_第2頁
ERP系統(tǒng)-面試問題匯總_第3頁
ERP系統(tǒng)-面試問題匯總_第4頁
ERP系統(tǒng)-面試問題匯總_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

ERP項(xiàng)目問題匯總項(xiàng)目一組:婁迎新1 請描述一下這個系統(tǒng)?從兩個方面回答:第一個方面:系統(tǒng)背景及系統(tǒng)概述 (藍(lán)云)商貿(mào)ERP系統(tǒng)針對中小型商貿(mào)企業(yè)開發(fā)設(shè)計的企業(yè)資源計劃管理系統(tǒng)。通過ERP系統(tǒng)的管理,企業(yè)可以有效管理經(jīng)營各個環(huán)節(jié)中的業(yè)務(wù)數(shù)據(jù)。企業(yè)數(shù)據(jù)經(jīng)過收集匯總后,為各級終端用戶提供日常業(yè)務(wù)信息管理、業(yè)務(wù)流程執(zhí)行等日常辦公服務(wù)輔助平臺,輔助本職能部門出具預(yù)案決策,提高整體企業(yè)內(nèi)部業(yè)務(wù)工作效率。第二個方面:系統(tǒng)包括的業(yè)務(wù)模塊及主業(yè)務(wù)流程本系統(tǒng)包括了:基本信息管理、人事管理、采購管理、銷售管理、庫存管理、統(tǒng)計分析、工作流管理、權(quán)限管理等模塊。2 這個系統(tǒng)你做了哪些模塊?(拿你熟悉的模塊說)3 談?wù)勀愕南到y(tǒng)退貨功能(或者其它你不熟悉的模塊)是如何實(shí)現(xiàn)的?我當(dāng)時沒有負(fù)責(zé)這個模塊的開發(fā),不太清楚具體的實(shí)現(xiàn)細(xì)節(jié)。我當(dāng)時負(fù)責(zé)的是采購和銷售模塊的開發(fā)。4 說說系統(tǒng)的架構(gòu)以及用到的一些技術(shù)本系統(tǒng)采用目前最流行的前后端模式。后端采用SSH2集成框架開發(fā)(struts2、spring3.、hibernate3),并且權(quán)限框架采用Shiro , 工作流系統(tǒng)采用activiti , 報表采用JfreeChart ,導(dǎo)出數(shù)據(jù)采用POI,前端采用easyUI + JQuery 。系統(tǒng)架構(gòu)圖如下:5 說說Spring在整個系統(tǒng)中的作用spring的作用:spring作為整個系統(tǒng)的粘合劑,整合了hibernate和struts2,管理控制層的action、業(yè)務(wù)邏輯層的biz、數(shù)據(jù)訪問層的dao,對struts的action采用多例的方式管理,對biz和dao采用單例方式。本系統(tǒng)采用聲明式事務(wù)控制方式對業(yè)務(wù)邏輯層進(jìn)行事務(wù)控制,spring和hibernate整合后, spring在業(yè)務(wù)邏輯層方法開發(fā)執(zhí)行前創(chuàng)建session,開啟事務(wù),方法結(jié)束提交事務(wù),關(guān)閉session。spring和shiro進(jìn)行整合開發(fā),spring管理shiro框架的securityManager、realm等bean,。spring和activiti整合開發(fā)工作流,spring管理activiti的bean。6 請說一下這個系統(tǒng)hibernate具體的技術(shù)細(xì)節(jié)。本系統(tǒng)大部分的功能主要使用hibernate的離線QBC查詢,在多表關(guān)聯(lián)和統(tǒng)計功能采用HQL查詢。使用QBC查詢的優(yōu)點(diǎn)主要是它非常適合動態(tài)組合的條件查詢,而HQL的優(yōu)點(diǎn)主要在于它在編寫多表關(guān)聯(lián)時比較容易,通常用于統(tǒng)計分析模塊的編寫。我們在連接ORACLE時,我們采用了普遍采用的瘦連接(thin)方式。7 你主要采用的什么主鍵生成策略?1. 對于普通的表(沒有關(guān)聯(lián)關(guān)系的表) 主鍵生成策略采用native+ 序列+觸發(fā)器方式。也就是我們針對每一個表創(chuàng)建一個序列,再創(chuàng)建一個觸發(fā)器用于讀取序列值。2. 對于建立了關(guān)聯(lián)關(guān)系的表(訂單和訂單明細(xì))我們采用的主鍵生成策略是sequence ,直接指定序列8 你在哪個地方使用到了hibernate關(guān)聯(lián)我們的人員和部門建立了單向多對一關(guān)聯(lián),商品和商品類型建立了單向多對一關(guān)聯(lián),訂單和訂單明細(xì)建立了雙向一對多關(guān)聯(lián)。在權(quán)限系統(tǒng)部門,用戶和角色是多對多關(guān)聯(lián) ,角色和權(quán)限是多對多關(guān)聯(lián)。 9 這個系統(tǒng)struts2是怎么用的?我們的系統(tǒng)只是用到了struts2的屬性驅(qū)動和動態(tài)方法配置,由于采用的是前后端的編程架構(gòu),前端使用了easyUI,所以沒有用到struts2標(biāo)簽。10 有沒有使用到struts2自定義攔截器我們系統(tǒng)初期使用到了struts2攔截器,用于權(quán)限的校驗(yàn),后期改用shiro框架實(shí)現(xiàn)權(quán)限校驗(yàn)。11 解釋一下屬性驅(qū)動,除了屬性驅(qū)動,還有什么方式可以接收頁面?zhèn)鬟f過來的值屬性驅(qū)動是在action中直接定義需要接收的屬性,并需要有g(shù)etter和setter方法 。我們在項(xiàng)目中全部采用屬性驅(qū)動,具有定義靈活使用方便的效果 。還有一種叫模型驅(qū)動,是通過讓Action實(shí)現(xiàn)ModelDriven接口并指定模型對象類型,模型對象類型即為pojo。 由于模型驅(qū)動只能接收一個模型,使用起來具有一定局限性,所以ERP中沒有采用這種技術(shù)方案。12 這個系統(tǒng)UI使用什么框架?都用到j(luò)query easy ui的哪些組件? 系統(tǒng)UI使用Jquery easy UI,及jquery庫。系統(tǒng)框架布局使用layout,系統(tǒng)標(biāo)簽窗口采用tabs,數(shù)據(jù)列表采用datagrid,下拉列表combobox ,下拉數(shù)據(jù)表格combogrid 彈出窗口 window消息提示:messager 樹控件 tree 等。13 本系統(tǒng)ajax+json具體是怎么做的?action的方法返回的json是如何實(shí)現(xiàn)的?ajax+json:頁面采用ajax提交,服務(wù)端返回是json,注意:頁面提交的是key/value串。頁面提交統(tǒng)一采用ajax Form提交方式,引用了一個叫form.js的腳本,其中使用了jquery提供form組件$(#form1).serialize() ,再加上二次封裝,起到了簡化開發(fā)的作用。14 系統(tǒng)哪些地方使用到了json?1、 數(shù)據(jù)列表查詢返回json,在頁面中使用jqeru easy ui的datagrid進(jìn)行解析。2、 所有提交類的action方法統(tǒng)一返回json3、 異常處理器會將異常信息轉(zhuǎn)為json4、 系統(tǒng)菜單使用json數(shù)據(jù)表示。使用json目的:使用json方便客戶端頁面解析數(shù)據(jù)。15 你是如何將對象轉(zhuǎn)成JSON或是將JSON轉(zhuǎn)成對象?我們采用的解析JSON的工具是現(xiàn)在廣泛采用的流行json工具包-阿里巴巴的fastJSON. 它提供了toJsonString方法將對象或集合轉(zhuǎn)換為json字符串 ,parse方法用于將json字符串轉(zhuǎn)換為對象(MAP).parseArray方法用于將json字符串轉(zhuǎn)換為List 集合16 這個系統(tǒng)異常處理是怎么做的?分兩個方面:1、系統(tǒng)異常類型自定義了一個系統(tǒng)異常類,繼承RuntimeException,該異常類需要編寫一個string類型的參數(shù)的的構(gòu)造方法,構(gòu)造方法中調(diào)用父類的構(gòu)造方法。該參數(shù)為異常的具體信息。2、系統(tǒng)異常的捕獲和解析dao層出現(xiàn)錯誤拋給biz、biz出現(xiàn)異常拋給action、action捕獲異常進(jìn)行輸出。17 系統(tǒng)權(quán)限系統(tǒng)是如何構(gòu)建的?我們的權(quán)限系統(tǒng)用到5張表: 用戶表(emp)、角色表( role ) 、權(quán)限表( menu )、用戶角色中間表 (emp_role) 、角色權(quán)限中間表(role_menu ) 。在hibernate中,用戶和角色建立多對多關(guān)聯(lián),角色與權(quán)限建立多對多關(guān)聯(lián)。 權(quán)限系統(tǒng)包括用戶管理(增刪改查) 、角色管理(增刪改查) 、角色權(quán)限設(shè)置 、用戶角色設(shè)置、權(quán)限菜單等功能。前端頁面主要采用了tree控件,實(shí)現(xiàn)對角色、權(quán)限的設(shè)置。18 你如何實(shí)現(xiàn)根據(jù)用戶查詢到該用戶擁有的權(quán)限?我們使用了HQL的多對多關(guān)聯(lián)查詢,語句如下:select m from Emp e join e.roles r join r.menus m where e.uuid=?19 你如何保證用戶在沒有登陸的情況下不能訪問系統(tǒng)的功能?我們采用了現(xiàn)在主流的權(quán)限框架shiro ,通過配置認(rèn)證和授權(quán)信息,實(shí)現(xiàn)對系統(tǒng)功能的控制。20 你們的統(tǒng)計報表是如何實(shí)現(xiàn)的?我們的報表分三部分:(1)統(tǒng)計表統(tǒng)計表我只做了其中一個,后來其它統(tǒng)計報表交給另外一個開發(fā)組來完成。我做的是銷售統(tǒng)計報表,功能是統(tǒng)計每種商品類型在一段時間的銷售額。這個功能涉及到4個表關(guān)聯(lián)查詢(商品表、商品分類表、訂單表、訂單明細(xì)表),也用到了聚合函數(shù)sum(). (2) 統(tǒng)計圖統(tǒng)計圖我們采用的是JFreeChart 來實(shí)現(xiàn)一個餅圖。統(tǒng)計出每種商品的銷售額占總銷售額的百分比。(3)報表導(dǎo)出我們采用了POI技術(shù)來實(shí)現(xiàn)對統(tǒng)計結(jié)果的導(dǎo)出。21 系統(tǒng)中有導(dǎo)出功能嗎?怎么實(shí)現(xiàn)的?我們通過用POI技術(shù)實(shí)現(xiàn)導(dǎo)出。我們這里主要是用到了POI 的幾個核心的類。HSSFWorkBook(工作簿) HSSFSheet (工作表) HSSFRow(行) HSSFCell (列)22 你如何理解前端驗(yàn)證和后端驗(yàn)證,是如何實(shí)現(xiàn)的?前端驗(yàn)證是在前端所進(jìn)行的數(shù)據(jù)校驗(yàn),主要用于非空驗(yàn)證和常用的格式驗(yàn)證。我們采用的是easyUI提供的校驗(yàn)控件(validatebox )它對常用的校驗(yàn)規(guī)則進(jìn)行了封裝。后端驗(yàn)證是在業(yè)務(wù)邏輯層編寫的用于校驗(yàn)數(shù)據(jù)的邏輯。通常用于重復(fù)性驗(yàn)證、關(guān)聯(lián)數(shù)據(jù)驗(yàn)證等。23 如果我要實(shí)現(xiàn)某個數(shù)據(jù)非空驗(yàn)證,是不是寫了前端驗(yàn)證就不用寫后端驗(yàn)證了?對于一些特別重要的數(shù)據(jù),最好是前端后端都驗(yàn)證,這樣可以“雙保險”,大部分的非法請求通過前端攔截,可以避免后端承載過多的壓力。但是前端驗(yàn)證是“不把握”的,有可能被用戶的瀏覽器所屏蔽,所以對于重要的數(shù)據(jù)后端驗(yàn)證也是有必要的。另外比如重復(fù)性驗(yàn)證和關(guān)聯(lián)性驗(yàn)證前端也是無法實(shí)現(xiàn)的,只能要給后端來做。24 談一下你編寫過的比較復(fù)雜的業(yè)務(wù)邏輯是什么?我編寫過比較復(fù)雜的業(yè)務(wù)邏輯是采購入庫和銷售出庫,兩者的業(yè)務(wù)邏輯很相似。我就說一說銷售出庫的業(yè)務(wù)邏輯吧。銷售出庫的業(yè)務(wù)邏輯分為4步:(1) 修改訂單明細(xì)的狀態(tài)、出庫時間等字段。(2) 修改庫存數(shù)量,需要判斷當(dāng)前出庫的庫存是否小于庫存,如果出庫大于庫存則拋出庫存不足的自定義異常。(3) 記錄庫存變動記錄表(4) 判斷當(dāng)明細(xì)的記錄全部出庫后,修改訂單主表的狀態(tài)等信息。25 你在使用下拉列表數(shù)據(jù)時,如果下拉列表數(shù)據(jù)過多(100條以上),你是如何讓用戶很快找到要選擇的數(shù)據(jù)的呢?有一種叫做自動補(bǔ)全的解決方案。類似與百度搜索那樣的,當(dāng)用戶輸入某個字符后,下拉列表會自動根據(jù)輸入的數(shù)據(jù)模糊搜索并展示搜索的結(jié)果。我在ERP中采用的是easyUI的combobox和combogrid 組件,他們有一個屬性是mode 設(shè)置為remote,這樣用戶每次輸入字符就會自動向后端action發(fā)送叫q的參數(shù)。后端代碼就可以根據(jù)這個參數(shù)值來進(jìn)行模糊搜索。26 請描述采購業(yè)務(wù)流程?首先采購員發(fā)起采購申請,然后由采購經(jīng)理審批,金額大于等于1萬元的總經(jīng)理審批,小于1萬元的財務(wù)經(jīng)理審批,審批后由采購員確認(rèn)采購,最后一步是入庫。27 系統(tǒng)使用工作流了嗎?怎么用的?系統(tǒng)使用activiti工作流引擎對采購流程進(jìn)行管理。使用方法:我們首先需要繪制流程圖(在eclipse中安裝activiti的插件)然后將流程圖部署到activiti .業(yè)務(wù)的操作流程是:1、發(fā)起采購申請,啟動流程實(shí)例,并完成采購申請任務(wù)2、采購經(jīng)理審核后,完成采購審核任務(wù)3、采購確認(rèn)后,完成采購確認(rèn)任務(wù)。4、采購入庫后,完成采購入庫任務(wù),流程實(shí)例結(jié)束。28 工作流的流程變量指的是什么?當(dāng)我們的流程圖出現(xiàn)分支時,流程變量起的作用是控制路線的走向。在連線上有UEL表達(dá)式,通過對流程變量賦值,決定UEL返回的是true還是false ,如果為true則走,反之則不走。29 什么是排他網(wǎng)關(guān)?請畫出排他網(wǎng)關(guān)。我在ERP的工作流中主要用到了排他網(wǎng)關(guān)。排他網(wǎng)關(guān)的符號是個“叉”。從排他網(wǎng)關(guān)甩出來的線只能走一條,確定了路線的唯一性。30 什么是并行網(wǎng)關(guān)?并畫出并行網(wǎng)關(guān)。并行網(wǎng)關(guān)的符號是加號。一個并行網(wǎng)關(guān)的流程圖,加號必定是成對出現(xiàn)的。第一個叫分支,第二個叫匯聚。從并行網(wǎng)關(guān)甩出來的線是必走的,線上有條件會自動忽略。* 技術(shù)面試回答技巧【1】知己知彼。在面試任何一家公司前,最好要了解這家公司所采用的技術(shù)方向和產(chǎn)品的類型。這樣你在面試時要重點(diǎn)突出自己的項(xiàng)目經(jīng)驗(yàn)與公司產(chǎn)品的共同點(diǎn)或融合點(diǎn),讓面試官認(rèn)為你的技術(shù)或知識結(jié)構(gòu)和他們要求的是相符的。例:你對我們公司的產(chǎn)品有多少了解。答:我之前聽過說公司的產(chǎn)品XXXX(接下來簡單描述一下產(chǎn)品的特點(diǎn)),做的非常不錯(給予肯定,回答問題也別忘了說幾句贊美的話)。 而我之前負(fù)責(zé)開發(fā)ERP系統(tǒng)進(jìn)銷存模塊,從技術(shù)解決方案和業(yè)務(wù)上與公司產(chǎn)品有很多相似之處(抬高別人把自己也帶上,呵呵),相信我加入公司會很快進(jìn)入狀態(tài)(不要忘記時刻推銷自己)。【2】扭轉(zhuǎn)乾坤。在面試中難免會遇到一些回答不上來的問題,可能有些你只是聽說,有些用過但記憶不深刻或者從來沒有用過。這樣的問題不要直接回答不會或是不知道,而是要掌握回答的技巧,做適當(dāng)?shù)摹芭茴}”,讓面試官認(rèn)為你能懂一些相關(guān)的知識,這樣才不至于在這道題上給你打個零分。例:了解正則表達(dá)式嗎?EMail的正則表達(dá)式如何編寫?你能寫出特殊規(guī)則的正則表達(dá)式嗎?答:正則表達(dá)式定義了一組符號,根據(jù)相應(yīng)的規(guī)則來實(shí)現(xiàn)數(shù)據(jù)的校驗(yàn)。原來沒有用easyUI前在JS中使用過簡單的正則表達(dá)式,但是都是常用規(guī)則,上網(wǎng)“百度”一下直接就用了,包括EMAIL的 URL的 電話的什么的都是“百度”,(呵呵) 。要是自己來寫一個特殊的規(guī)則,說實(shí)話,有些費(fèi)勁,畢竟這東西寫的有點(diǎn)少,但是經(jīng)過查閱資料研究研究最后也能寫出來,總體感覺不是特別難。使用easyUI后,就再也沒有直接使用到正則表達(dá)式了,因?yàn)閑asyUI給你封裝起來了,如果要實(shí)現(xiàn)一個EMAIL規(guī)則的校驗(yàn),只需要添加一個屬性 validType 為email .【3】以退為進(jìn)。有些問題確實(shí)也答不上來,或者是根本沒聽說的技術(shù)。這時候不要慌。要非常鎮(zhèn)定、謙虛地、放松地向面試官請教問題,問一下這個技術(shù)到底是做什么用的。如果這個技術(shù)和你之前用的某個技術(shù)可以達(dá)到相同的效果,可以講一下你之前用的技術(shù)可以達(dá)到這樣的效果,并且有什么優(yōu)點(diǎn)等等。例:面試官: 聽說過Memcached嗎?答:這個。我向請教一下Memcached是做什么用的?面試

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論