




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ERP项目问题汇总项目一组:娄迎新1 请描述一下这个系统?从两个方面回答:第一个方面:系统背景及系统概述 (蓝云)商贸ERP系统针对中小型商贸企业开发设计的企业资源计划管理系统。通过ERP系统的管理,企业可以有效管理经营各个环节中的业务数据。企业数据经过收集汇总后,为各级终端用户提供日常业务信息管理、业务流程执行等日常办公服务辅助平台,辅助本职能部门出具预案决策,提高整体企业内部业务工作效率。第二个方面:系统包括的业务模块及主业务流程本系统包括了:基本信息管理、人事管理、采购管理、销售管理、库存管理、统计分析、工作流管理、权限管理等模块。2 这个系统你做了哪些模块?(拿你熟悉的模块说)3 谈谈你的系统退货功能(或者其它你不熟悉的模块)是如何实现的?我当时没有负责这个模块的开发,不太清楚具体的实现细节。我当时负责的是采购和销售模块的开发。4 说说系统的架构以及用到的一些技术本系统采用目前最流行的前后端模式。后端采用SSH2集成框架开发(struts2、spring3.、hibernate3),并且权限框架采用Shiro , 工作流系统采用activiti , 报表采用JfreeChart ,导出数据采用POI,前端采用easyUI + JQuery 。系统架构图如下:5 说说Spring在整个系统中的作用spring的作用:spring作为整个系统的粘合剂,整合了hibernate和struts2,管理控制层的action、业务逻辑层的biz、数据访问层的dao,对struts的action采用多例的方式管理,对biz和dao采用单例方式。本系统采用声明式事务控制方式对业务逻辑层进行事务控制,spring和hibernate整合后, spring在业务逻辑层方法开发执行前创建session,开启事务,方法结束提交事务,关闭session。spring和shiro进行整合开发,spring管理shiro框架的securityManager、realm等bean,。spring和activiti整合开发工作流,spring管理activiti的bean。6 请说一下这个系统hibernate具体的技术细节。本系统大部分的功能主要使用hibernate的离线QBC查询,在多表关联和统计功能采用HQL查询。使用QBC查询的优点主要是它非常适合动态组合的条件查询,而HQL的优点主要在于它在编写多表关联时比较容易,通常用于统计分析模块的编写。我们在连接ORACLE时,我们采用了普遍采用的瘦连接(thin)方式。7 你主要采用的什么主键生成策略?1. 对于普通的表(没有关联关系的表) 主键生成策略采用native+ 序列+触发器方式。也就是我们针对每一个表创建一个序列,再创建一个触发器用于读取序列值。2. 对于建立了关联关系的表(订单和订单明细)我们采用的主键生成策略是sequence ,直接指定序列8 你在哪个地方使用到了hibernate关联我们的人员和部门建立了单向多对一关联,商品和商品类型建立了单向多对一关联,订单和订单明细建立了双向一对多关联。在权限系统部门,用户和角色是多对多关联 ,角色和权限是多对多关联。 9 这个系统struts2是怎么用的?我们的系统只是用到了struts2的属性驱动和动态方法配置,由于采用的是前后端的编程架构,前端使用了easyUI,所以没有用到struts2标签。10 有没有使用到struts2自定义拦截器我们系统初期使用到了struts2拦截器,用于权限的校验,后期改用shiro框架实现权限校验。11 解释一下属性驱动,除了属性驱动,还有什么方式可以接收页面传递过来的值属性驱动是在action中直接定义需要接收的属性,并需要有getter和setter方法 。我们在项目中全部采用属性驱动,具有定义灵活使用方便的效果 。还有一种叫模型驱动,是通过让Action实现ModelDriven接口并指定模型对象类型,模型对象类型即为pojo。 由于模型驱动只能接收一个模型,使用起来具有一定局限性,所以ERP中没有采用这种技术方案。12 这个系统UI使用什么框架?都用到jquery easy ui的哪些组件? 系统UI使用Jquery easy UI,及jquery库。系统框架布局使用layout,系统标签窗口采用tabs,数据列表采用datagrid,下拉列表combobox ,下拉数据表格combogrid 弹出窗口 window消息提示:messager 树控件 tree 等。13 本系统ajax+json具体是怎么做的?action的方法返回的json是如何实现的?ajax+json:页面采用ajax提交,服务端返回是json,注意:页面提交的是key/value串。页面提交统一采用ajax Form提交方式,引用了一个叫form.js的脚本,其中使用了jquery提供form组件$(#form1).serialize() ,再加上二次封装,起到了简化开发的作用。14 系统哪些地方使用到了json?1、 数据列表查询返回json,在页面中使用jqeru easy ui的datagrid进行解析。2、 所有提交类的action方法统一返回json3、 异常处理器会将异常信息转为json4、 系统菜单使用json数据表示。使用json目的:使用json方便客户端页面解析数据。15 你是如何将对象转成JSON或是将JSON转成对象?我们采用的解析JSON的工具是现在广泛采用的流行json工具包-阿里巴巴的fastJSON. 它提供了toJsonString方法将对象或集合转换为json字符串 ,parse方法用于将json字符串转换为对象(MAP).parseArray方法用于将json字符串转换为List 集合16 这个系统异常处理是怎么做的?分两个方面:1、系统异常类型自定义了一个系统异常类,继承RuntimeException,该异常类需要编写一个string类型的参数的的构造方法,构造方法中调用父类的构造方法。该参数为异常的具体信息。2、系统异常的捕获和解析dao层出现错误抛给biz、biz出现异常抛给action、action捕获异常进行输出。17 系统权限系统是如何构建的?我们的权限系统用到5张表: 用户表(emp)、角色表( role ) 、权限表( menu )、用户角色中间表 (emp_role) 、角色权限中间表(role_menu ) 。在hibernate中,用户和角色建立多对多关联,角色与权限建立多对多关联。 权限系统包括用户管理(增删改查) 、角色管理(增删改查) 、角色权限设置 、用户角色设置、权限菜单等功能。前端页面主要采用了tree控件,实现对角色、权限的设置。18 你如何实现根据用户查询到该用户拥有的权限?我们使用了HQL的多对多关联查询,语句如下:select m from Emp e join e.roles r join r.menus m where e.uuid=?19 你如何保证用户在没有登陆的情况下不能访问系统的功能?我们采用了现在主流的权限框架shiro ,通过配置认证和授权信息,实现对系统功能的控制。20 你们的统计报表是如何实现的?我们的报表分三部分:(1)统计表统计表我只做了其中一个,后来其它统计报表交给另外一个开发组来完成。我做的是销售统计报表,功能是统计每种商品类型在一段时间的销售额。这个功能涉及到4个表关联查询(商品表、商品分类表、订单表、订单明细表),也用到了聚合函数sum(). (2) 统计图统计图我们采用的是JFreeChart 来实现一个饼图。统计出每种商品的销售额占总销售额的百分比。(3)报表导出我们采用了POI技术来实现对统计结果的导出。21 系统中有导出功能吗?怎么实现的?我们通过用POI技术实现导出。我们这里主要是用到了POI 的几个核心的类。HSSFWorkBook(工作簿) HSSFSheet (工作表) HSSFRow(行) HSSFCell (列)22 你如何理解前端验证和后端验证,是如何实现的?前端验证是在前端所进行的数据校验,主要用于非空验证和常用的格式验证。我们采用的是easyUI提供的校验控件(validatebox )它对常用的校验规则进行了封装。后端验证是在业务逻辑层编写的用于校验数据的逻辑。通常用于重复性验证、关联数据验证等。23 如果我要实现某个数据非空验证,是不是写了前端验证就不用写后端验证了?对于一些特别重要的数据,最好是前端后端都验证,这样可以“双保险”,大部分的非法请求通过前端拦截,可以避免后端承载过多的压力。但是前端验证是“不把握”的,有可能被用户的浏览器所屏蔽,所以对于重要的数据后端验证也是有必要的。另外比如重复性验证和关联性验证前端也是无法实现的,只能要给后端来做。24 谈一下你编写过的比较复杂的业务逻辑是什么?我编写过比较复杂的业务逻辑是采购入库和销售出库,两者的业务逻辑很相似。我就说一说销售出库的业务逻辑吧。销售出库的业务逻辑分为4步:(1) 修改订单明细的状态、出库时间等字段。(2) 修改库存数量,需要判断当前出库的库存是否小于库存,如果出库大于库存则抛出库存不足的自定义异常。(3) 记录库存变动记录表(4) 判断当明细的记录全部出库后,修改订单主表的状态等信息。25 你在使用下拉列表数据时,如果下拉列表数据过多(100条以上),你是如何让用户很快找到要选择的数据的呢?有一种叫做自动补全的解决方案。类似与百度搜索那样的,当用户输入某个字符后,下拉列表会自动根据输入的数据模糊搜索并展示搜索的结果。我在ERP中采用的是easyUI的combobox和combogrid 组件,他们有一个属性是mode 设置为remote,这样用户每次输入字符就会自动向后端action发送叫q的参数。后端代码就可以根据这个参数值来进行模糊搜索。26 请描述采购业务流程?首先采购员发起采购申请,然后由采购经理审批,金额大于等于1万元的总经理审批,小于1万元的财务经理审批,审批后由采购员确认采购,最后一步是入库。27 系统使用工作流了吗?怎么用的?系统使用activiti工作流引擎对采购流程进行管理。使用方法:我们首先需要绘制流程图(在eclipse中安装activiti的插件)然后将流程图部署到activiti .业务的操作流程是:1、发起采购申请,启动流程实例,并完成采购申请任务2、采购经理审核后,完成采购审核任务3、采购确认后,完成采购确认任务。4、采购入库后,完成采购入库任务,流程实例结束。28 工作流的流程变量指的是什么?当我们的流程图出现分支时,流程变量起的作用是控制路线的走向。在连线上有UEL表达式,通过对流程变量赋值,决定UEL返回的是true还是false ,如果为true则走,反之则不走。29 什么是排他网关?请画出排他网关。我在ERP的工作流中主要用到了排他网关。排他网关的符号是个“叉”。从排他网关甩出来的线只能走一条,确定了路线的唯一性。30 什么是并行网关?并画出并行网关。并行网关的符号是加号。一个并行网关的流程图,加号必定是成对出现的。第一个叫分支,第二个叫汇聚。从并行网关甩出来的线是必走的,线上有条件会自动忽略。* 技术面试回答技巧【1】知己知彼。在面试任何一家公司前,最好要了解这家公司所采用的技术方向和产品的类型。这样你在面试时要重点突出自己的项目经验与公司产品的共同点或融合点,让面试官认为你的技术或知识结构和他们要求的是相符的。例:你对我们公司的产品有多少了解。答:我之前听过说公司的产品XXXX(接下来简单描述一下产品的特点),做的非常不错(给予肯定,回答问题也别忘了说几句赞美的话)。 而我之前负责开发ERP系统进销存模块,从技术解决方案和业务上与公司产品有很多相似之处(抬高别人把自己也带上,呵呵),相信我加入公司会很快进入状态(不要忘记时刻推销自己)。【2】扭转乾坤。在面试中难免会遇到一些回答不上来的问题,可能有些你只是听说,有些用过但记忆不深刻或者从来没有用过。这样的问题不要直接回答不会或是不知道,而是要掌握回答的技巧,做适当的“跑题”,让面试官认为你能懂一些相关的知识,这样才不至于在这道题上给你打个零分。例:了解正则表达式吗?EMail的正则表达式如何编写?你能写出特殊规则的正则表达式吗?答:正则表达式定义了一组符号,根据相应的规则来实现数据的校验。原来没有用easyUI前在JS中使用过简单的正则表达式,但是都是常用规则,上网“百度”一下直接就用了,包括EMAIL的 URL的 电话的什么的都是“百度”,(呵呵) 。要是自己来写一个特殊的规则,说实话,有些费劲,毕竟这东西写的有点少,但是经过查阅资料研究研究最后也能写出来,总体感觉不是特别难。使用easyUI后,就再也没有直接使用到正则表达式了,因为easyUI给你封装起来了,如果要实现一个EMAIL规则的校验,只需要添加一个属性 validType 为email .【3】以退为进。有些问题确实也答不上来,或者是根本没听说的技术。这时候不要慌。要非常镇定、谦虚地、放松地向面试官请教问题,问一下这个技术到底是做什么用的。如果这个技术和你之前用的某个技术可以达到相同的效果,可以讲一下你之前用的技术可以达到这样的效果,并且有什么优点等等。例:面试官: 听说过Memcached吗?答:这个。我向请教一下Memcached是做什么用的?面试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024粮油食品检验人员每日一练试卷A4版附答案详解
- 2024年环境影响评价工程师之环境影响评价相关法律法规检测卷附答案详解【黄金题型】
- 中国邮政2025长春市秋招电子商务与数字营销类岗位高频笔试题库含答案
- 2025年收银审核员能力提升B卷题库【全优】附答案详解
- 菏泽牡丹区中烟工业2025秋招面试半结构化模拟题30问附高分答案
- 中国邮政2025儋州市秋招数据分析岗位高频笔试题库含答案
- 中国邮政2025营口市秋招寄递物流运营类岗位高频笔试题库含答案
- 平凉崆峒区中烟工业2025秋招生产调度岗位面试模拟题及答案
- 2025年事业单位工勤技能考试全真模拟模拟题及参考答案详解【完整版】
- 2025年医疗健康大数据分析在医疗数据隐私保护中的应用可行性
- 万科物业管理服务工作手册
- 简单的电动车代理合同模板
- DDI辅导员工迈向成功-辅导领导力系列
- 阿联酋法律体系
- 煤矿井筒装备安装方案
- 育苗基质选择标准课件
- 人教版八年级上册物理期末复习:多选题专项练习题汇编[含答案]]
- 混凝土支撑拆除施工方案
- 【精品】ppt课件新《预算法》解读
- 如何写周记(课堂PPT)
- 各类机床工时定额计算方法
评论
0/150
提交评论