您好,欢迎访问三七文档
编号:Aptech-QR-165一度教育·学术部1、String是最基本的数据类型吗?基本数据类型包括哪些?基本数据类型包括byte、int、char、long、float、double、boolean和short。java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类2、EJB3是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别?EJB包括SessionBean、EntityBean、MessageDrivenBean,基于JNDI、RMI、JAT等技术实现。SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体SessionBean还可以再细分为StatefulSessionBean与StatelessSessionBean,这两种的SessionBean都可以将系统逻辑放在method之中执行,不同的是StatefulSessionBean可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的StatefulSessionBean的实体。StatelessSessionBean虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫StatelessSessionBean的时候,EJBContainer并不会找寻特定的StatelessSessionBean的实体来执行这个method。换言之,很可能数个使用者在执行某个StatelessSessionBean的methods时,会是同一个Bean的Instance在执行。从内存方面来看,StatefulSessionBean与StatelessSessionBean比较,StatefulSessionBean会消耗J2EEServer较多的内存,然而StatefulSessionBean的优势却在于他可以维持使用者的状态3、heap和stack代表什么?两者有什么区别?java中堆(heap)和堆栈(stack)有什么区别stack和heap都是内存的一部分stack空间小,速度比较快,用来放对象的引用heap大,一般所有创建的对象都放在这里。1.栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。2.栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。4、forward和redirect的区别?简易网上书店系统需求说明书一度教育·学术部一度教育·学术部,2009Page2of10forward方式:request.getRequestDispatcher(/somePage.jsp).forwardrequest,response);redirect方式:response.sendRedirect(/somePage.jsp);forward是服务器内部重定向,程序收到请求后重新定向到另一个程序,客户机并不知道;redirect则是服务器收到请求后发送一个状态头给客户,客户将再请求一次,这里多了两次网络通信的来往。当然forward也有缺点,就是forward的页面的路径如果是相对路就会有些问题了。从地址栏显示来说:forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.所以redirect等于客户端向服务器端发出两次request,同时也接受两次response。从数据共享来说forward:转发页面和转发到的页面可以共享request里面的数据.redirect:不能共享数据.从运用地方来说forward:一般用于用户登陆的时候,根据角色转发到相应的模块.redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.从效率来说forward:高.redirect:低5、分页有sql语句的分页、集合的分页、hibernate分页,三者分别是什么?1.分页方案一:(利用NotIn和SELECTTOP分页)sql语句的分页语句形式:SELECTTOP10*FROMTestTableWHERE(IDNOTIN(SELECTTOP20idFROMTestTableORDERBYid))ORDERBYIDSELECTTOP页大小*FROMTestTableWHERE(IDNOTIN(SELECTTOP页大小*页数idFROM表ORDERBYid))ORDERBYID集合的分页语句形式:intcurrIdx=(currPage1?(currPage-1)*pageSize:0);for(inti=0;ipageSize&&ilist.size();i++){System.out.println(list.get(currIdx+i));}Queryquery=session.createQuery(hql).setFirstResult(currPage1?(currPage-1)*pageSize:0).setMaxResults(pageSize)hibernate分页6、构造器Constructor是否可被override?构造器Constructor(构造函数)不能被继承,因此不能重写Overriding,但可以被重载Overloading。7、JSP的常用指令?JSP九种内置对象:简易网上书店系统需求说明书一度教育·学术部一度教育·学术部,2009Page3of10request,response,out,session,application,config,pagecontext,page,exception.request对象:该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。response对象:对客户的请求做出动态的响应,向客户端发送数据。session对象什么是session:session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。aplication对象服务器启动后就产生了这个application对象,当客户在所访问的网站的各个页面之间浏览时,这个application对象都是同一个,直到服务器关闭out对象out对象是一个输出流,用来向客户端输出数据。out对象用于各种数据的输出。pagejava.lang.Object对应this关键字。JSP网页本身configjavax.servlet.ServletConfig的实例,该实例代表该JSP的配置信息exceptionjava.lang.Throwable的实例,该实例代表其他页面中的异常和错误pageContextjavax.servlet.jsp.PageContext的实例,该对象代表该JSP页面上下文,使用该对象可以访问页面中的共享数据。常用的方法有getServletContextO和getServletConfigO等8、servlet的生命周期?加载—》实例化--》初始化—》销毁Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。9、排序都有哪几种方法?冒泡排序,直接插入排序,快速排序,简单选择排序,希尔排序,堆排序1、冒泡排序属于稳定排序,是一种借助“交换”进行排序的方法。首先要将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序,则将两个记录交换之,然后比较第二个记录与第三个记录的关键字,以此类推,直至第n-1个记录与第n个记录的关键字进行比较为止,这一过程称为第一趟冒泡排序2、直接插入排序属于稳定的排序,每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有简易网上书店系统需求说明书一度教育·学术部一度教育·学术部,2009Page4of10序3、快速排序属于不稳定排序,是对起泡排序的一种改进。它的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序4、简单选择排序属于不稳定排序,基本思想是,每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录5、希尔排序属于不稳定排序,也是一种属插入排序类,它的基本思想是:先将整个待排记录序列分割称为若干个子序列分别进行直接插入排序,待整个序列中记录“基本有序”时,再对全体记录进行一次直接插入排序6、堆排序属于不稳定排序10、简单介绍您所了解的MVC。MVC是三个单词的缩写,分别为:模型(Model),视图(View)和控制Controller)。MVC模式的目的就是实现Web系统的职能分工。Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。View层用于与用户的交互,通常用JSP来实现。Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作优点:低耦合性高重用性和可适用性较低的生命周期成本快速的部署可维护性有利于软件工程化管理11、MES的全称是什么?漯河卷烟厂MES系统包括哪些模块,并对每个模块进行描述。Mes:制造执行系统1、机台数采模块:主要是对机台生产数据的维护2、高级排产模块:高级排产主要是计划生产,根据机台产能,日历,机台维护,安排生产计划。3、生产过程跟踪模块:主要可以详知车间生产信息,对生产信息的知情4、车间管理模块:5、机台管理模块:主要是机台对排产计划的实施,机台的生产情况6、成品入库模块:7、材料管理模块:8、报表管理模块:9、基本数据管理模块:10、权限管理模块:对不同的用户对应不同的角色对应不同的功能12、在项目中,你学到了什么?很好的沟通:在其他行业中,人与人的之间的沟通只很重要的。项目开发也不例外,很好的沟通能够加快项目的进度,这就要求我们每一个开发人员要学会和善于沟通于客户和同事之间。简易网上书店系统需求说明书一度教育·学术部一度教育·学术部,2009Page5of10在一个项目的开发过程中,我们与客户的沟通是一个不断交流和沟通的过程。在开发到一定的阶段,我们就需要和客户沟通已有功能,尽量的去避免一些隐藏的问题,及时的发现问题,解决问题,从而按时或者提前完成项目的开发。工作总结:在项目进行的过程中,我们要不断去整理自己的工作情况和做好总结,这样以来,无论是在自己的技
本文标题:面试题练习
链接地址:https://www.777doc.com/doc-1981446 .html