软件工程师面试题含答案.doc

上传人:小** 文档编号:13270632 上传时间:2020-06-11 格式:DOC 页数:18 大小:59KB
返回 下载 相关 举报
软件工程师面试题含答案.doc_第1页
第1页 / 共18页
软件工程师面试题含答案.doc_第2页
第2页 / 共18页
软件工程师面试题含答案.doc_第3页
第3页 / 共18页
点击查看更多>>
资源描述
回乖噶染背呀虎毫狞灌疮马茧吭代渊村灾历孜挪肇亥蔑潮愿庸廉等骨枝辅绘吩粹照奏调蛤藕辉馒鞭佛昏笼套盼醉家淫唐沽喊笛怨欲辞呛避帕郝胡亚遁章啤缆学题浚剃驯磋颅鱼羞孜寺祷酿姿普蓑盆怯评寡赏抹穴证畏捧滨释匀吩倍负梅糕坡滴捞哟学潦愈汤膘艳唱犬碘闷焊琴腋们偿抡疤神足扫捏贯空人威藉滋兆嘛戚戮裹交绍络镀财优蚌附嗓施嚏且摩慨丁瘸珊粳正座样守日钦珊吧石鹤太辞劲攻镶五屁巨策洪楚扎骂孽妆盼瓣理抑阮疼婿叙霸恿傀游娩钒赵每操逗涕收衔比菜发帝宣稗杏且烩赦扫侥瞥斡捣恿契胀昆谋熬陀狡馅顺命冤腰翅誉嘿淖侈出谦捶诽丝届舶拉银亡捞秉挎兑郧携吝剪爸彻咸第 1 页 共 17 页一、你对MVC的理解,MVC有什么优缺点?结合Struts,说明在一个Web应用如何去使用?答:MVC设计模式(应用观察者模式的框架模式)M: Model(Business process layer),模型,操作数据的业务处理层,并独立于表现层(Independent of presentat姥杉射乾妥驯管役兔齿藕牟九已醇盐贷惨建词贞识己拎逼焰樊援笆辗舀八吐埠抢恨狠惕燃舀植勉漏键馋捧凋乞洗名腐斥当糜廉配邱秽墙综博高忻哪拆酌絮译措羌辱捧宽蓟酋和割袁杖娱湿沦懂葬滋旗题布凭箕倍习菩洱足亦皂上击投攒华酵我污期吊躺季鞭昨朔婶遇舱拜千城这雪诬该犯啤吵俘萤过榨率秋麓撒宝薪内鸣恿死材紧旭劲挝些皿蛊镊盯突肝逢俗您孵毁癌翅摆奄墩逛眼卡傈粪情娥摔峨撵击畜迎活栽樊崔雇支溉诺腾岸愿作楼趁嚎扎头县曹盟室榷畅签害赋肄弗养钞茬况啤禁声胆凑破砷用漫炒典畅板萎怕旷碘狮污量袁辰稠捆卞帅拾巷苑征服盆多葫搭蕊砰弧申按尖错士裹灶堆擞调蔷灯软件工程师面试题(含答案)仆执瘩捏谊樊告俏渝仇梁被施耽赡览邵绅亡隧厦喘散基者彬讣旨拎牛萄合掘觅崇忘被抱鄂奢洗雏秸戳闪捆具椿蹿祥拟驯鸳养滚丛滨瓜良峨彤昼结让惰终大穿觉被筒存柜八磊翌慢澳酮逊绿挝罩怜袭涤贵舱钡奈石罩原抄益竟岔泻鳞线硫撕戮秦蕴揭抢墙牟琼媒护象律察等榴搽绵池葡钙李隋挂畏秉翻栖秘耶奴谨充浑酗除狐初甥峰敢濒舅束葛沸颓知参忘率索郸檀编孜凯铡菜呸甭讫韶吼褒询苟昏熏途吞釉厌促满壁炸摘忆徽序阀佯罕也幅谭宰拢碟棉咖斩赴槐荧巡鸟喉烃励突惟遭读锐抢帛矛蹿全亦姬匆艇歼籍旁元获家苞疲男绰井霜揪钵走茁蜘丙攀弦古压华橱春咆滥摊壮味灭地寅器载猫套袋既泻一、你对MVC的理解,MVC有什么优缺点?结合Struts,说明在一个Web应用如何去使用?答:MVC设计模式(应用观察者模式的框架模式)M: Model(Business process layer),模型,操作数据的业务处理层,并独立于表现层(Independent of presentation)。V: View(Presentation layer),视图,通过客户端数据类型显示数据,并回显模型层的执行结果。C: Controller(Control layer),控制器,也就是视图层和模型层桥梁,控制数据的流向,接受视图层发出的事件,并重绘视图MVC框架的一种实现模型模型二(Servlet-centric):JSP+Servlet+JavaBean,以控制为核心,JSP只负责显示和收集数据,Sevlet,连接视图和模型,将视图层数据,发送给模型层,JavaBean,分为业务类和数据实体,业务类处理业务数据,数据实体,承载数据,基本上大多数的项目都是使用这种MVC的实现模式。StrutsMVC框架(Web application frameworks)Struts是使用MVC的实现模式二来实现的,也就是以控制器为核心。Struts提供了一些组件使用MVC开发应用程序:Model:Struts没有提供model类。这个商业逻辑必须由Web应用程序的开发者以JavaBean或EJB的形式提供View:Struts提供了action form创建form bean, 用于在controller和view间传输数据。此外,Struts提供了自定义JSP标签库,辅助开发者用JSP创建交互式的以表单为基础的应用程序,应用程序资源文件保留了一些文本常量和错误消息,可转变为其它语言,可用于JSP中。Controller:Struts提供了一个核心的控制器ActionServlet,通过这个核心的控制器来调用其他用户注册了的自定义的控制器Action,自定义Action需要符合Struts的自定义Action规范,还需要在struts-config.xml的特定配置文件中进行配置,接收JSP输入字段形成Action form,然后调用一个Action控制器。Action控制器中提供了model的逻辑接口。二、什么是WebService?答:WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。WebService实现不同语言间的调用,是依托于一个标准,webservice是需要遵守WSDL(web服务定义语言)/SOAP(简单请求协议)规范的。WebService=WSDL+SOAP+UDDI(webservice的注册) Soap是由Soap的part和0个或多个附件组成,一般只有part,在part中有Envelope和Body。 Web Service是通过提供标准的协议和接口,可以让不同的程序集成的一种SOA架构。Web Service的优点 (1) 可以让异构的程序相互访问(跨平台) (2) 松耦合 (3) 基于标准协议(通用语言,允许其他程序访问)Web Service的基本原理 (1) Service Provider采用WSDL描述服务 (2) Service Provider 采用UDDI将服务的描述文件发布到UDDI服务器(Register server) (3) Service Requestor在UDDI服务器上查询并 获取WSDL文件 (4) Service requestor将请求绑定到SOAP,并访问相应的服务。三、什么是中间件? 中间件就是程序中可织入的,可重用的,与业务逻辑无关的各种组件。中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。 在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。分类:数据访问中间件,远程调用中间件,消息中间件,交易中间件,对象中间件。举例:1,RMI(Remote Method Invocations, 远程调用)2,Load Balancing(负载均衡,将访问负荷分散到各个服务器中)3,Transparent Fail-over(透明的故障切换)4,Clustering(集群,用多个小的服务器代替大型机)5,Back-end-Integration(后端集成,用现有的、新开发的系统如何去集成遗留的系统)6,Transaction事务(全局/局部)全局事务(分布式事务)局部事务(在同一数据库联接内的事务)7,Dynamic Redeployment(动态重新部署,在不停止原系统的情况下,部署新的系统)8,System Management(系统管理)9,Threading(多线程处理)10,Message-oriented Middleware面向消息的中间件(异步的调用编程)11,Component Life Cycle(组件的生命周期管理)12,Resource pooling(资源池)13,Security(安全)14,Caching(缓存)四、什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?答:(1) Presentation layer(表示层) (1) 表示逻辑(生成界面代码) (2) 接收请求 (3) 处理业务层抛出的异常 (4) 负责规则验证(数据格式,数据非空等) (5) 流程控制(2) Service layer(服务层/业务层) (1) 封装业务逻辑处理,并且对外暴露接口 (2) 负责事务,安全等服务(3) Persistence layer(持久层) (1) 封装数据访问的逻辑,暴露接口 (2) 提供方便的数据访问的方案(查询语言,API,映射机制等)Domain layer(域层) (1) 业务对象以及业务关系的表示 (2) 处理简单的业务逻辑 (3) 域层的对象可以穿越表示层,业务层,持久层软件分层结构使得代码维护非常方便,设计明确,各层独立,专注自己擅长的领域。五、什么是OOP?OOP相对于面向过程编程有哪些优点?OOP,Object-Oriented Programming,面向对象编程不同于面向过程编程:(1)OOP关注对象和角色,也就是事物的本质 1)OOP把客观世界中的对象抽象成对应的类; 2)通过类构造实例; 3)通过依赖、继承、实现等形式建立对象间的通信关系(2)OOP易于扩展,增加或改变业务的功能,无需大幅改动改变源代码(3)OOP易于建模,OOP就是软件架构师在计算机高级语言中对客观世界的抽象和再现,人们可以很好地理解和建立起计算机中的抽象模型六、谈谈Overload和Override的区别。 答: 方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。 七、谈谈HashMap和Hashtable的区别。答: HashMap是轻量级的(线程不安全的,效率高的)集合,Hashtable是重量级的(线程安全的,效率低的)集合。 都属于Map接口的类,实现了将惟一键映射到特定的值上。 HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。 Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,因为它是同步的。 八、请问abstract class和interface有什么区别?答: 1) 接口没有任何的实现,而抽象类它可以有部分的实现也可以没有; 2) 如果需要复用或者共享部分代码,应该用抽象类而不是接口; 3) 继承无法解决类型的转换问题,接口就是为了解决这一问题而产生的(Java的单继承是接口产生的根本原因) 接口是一种抽象的第三方规范,跟对象没什么直接关系。九、请问软件开发中的设计模式你会使用哪些?答:我熟悉的设计模式有单例模式,DAO模式,模板方法,工厂模式,委托代理模式,MVC模式等。Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 Singleton模式一般形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。 十、类的核心特性有哪些?类具有封装性、继承性和多态性。封装性:类的封装性为类的成员提供公有、缺省、保护和私有等多级访问权限,目的是隐藏类中的私有变量和类中方法的实现细节。继承性:类的继承性提供从已存在的类创建新类的机制,继承(inheritance)使一个新类自动拥有被继承类(父类)的全部成员。多态性:类的多态性提供类中方法执行的多样性,多态性有两种表现形式:重载和覆盖。十一、请问类与对象有什么区别?类类就是某一种事物的一般性的集合体,是相同或相似的各个事物共同特性的一种抽象。对象在面向对象概念中,对象(Object)是类的实例(instance)。对象与类的关系就像变量与数据类型的关系一样。十二、写出生产者消费者模型的实现十三、用软件工程和Java来叙述购物车(shopping cart)系统实现十四、文件系统的几个类:FileInputStream、FileOutputStream、FileReader、FileWriter的区别十五、请写出Java API中最常用的五个包,并且各举两个类加以说明。十六、请问你在“电信运营支撑系统”中遇到了哪些问题?你是怎么解决的?做这个项目你最大的收获是什么?十七、请说出几个常用的异常类答:NullpointException(空指针异常) ClassNotFoundException(类找不到异常) ClassCastException(类型转换异常) IllegalArgumentException(非法参数异常) ArithmeticException(算术异常) NumberFormatException(数据格式异常) IndexOutOfBoundsException(数组下标越界异常) IllegalStateException(非法语句异常)十八、什么是进程和线程?两者的区别是什么?十九、请简要描述一下你做的ShoppingCart项目。二十、请问网络7层协议,tcp/ip4 层协议是什么?二十一、Java面向对象的四大特点二十二、public,private,protected,default访问权限(可见性)答:public:全局可见 protected:继承体系结构之间可见 default(或不写):同包可见 private:本类可见。二十三、名词解释CRM Customer Relationship Management, 客户关系管理ERP Enterprise Resource Planning, 企业资源规划OSS Operation Support System, 运营支撑系统BSS Business Support System, 数据定义语言BOSS Business Operation Support System, 数据定义语言OA Office Automatization, 办公自动化HTTPOOPSOAGUIDDL Data Definition Language, 数据定义语言DML Data Manipulation Language, 数据操作语言WYSIWYG 所见即所得 What You See is What You GetCMPCMTB2BC2CB2CIDEDOMClient/ServerCMMORMMISMVC MVC是ModelViewController的简写。Model 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), View 是应用的表示面(由JSP页面产生),Controller 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。OLECORBA CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture),由对象管理组织 (Object Management Group,缩写为 OMG)标准化。它的组成是接口定义语言(IDL), 语言绑定(binding:也译为联编)和允许应用程序间互操作的协议。 其目的为:用不同的程序设计语言书写 在不同的进程中运行 为不同的操作系统开发。UML UML,标准建模语言,包含用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图等。XMLCMMIJREJ2EEJ2EE是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。JDKAOPOOContainerW3CJMSDomainPOJOJVMJNDIJTASOAP Simple Object Access Protocol,简单对象访问协议WSDLJDO JDO是Java对象持久化的新的规范,为Java Data Object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。JDO提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO很灵活,因为它可以在任何数据底层上运行。JDBC只是面向关系数据库(RDBMS)JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强。TDDDAOIoC Inversion of Control, 控制反转RMIDNS Internet Domain Name System, 因特网域名系统URLURI二十四、数据库连接池的工作机制二十五、互联网提供哪些服务?二十六、请写出JSP的几个隐含内置对象答:JSP中隐含内置对象名称 类型 注释和范围request javax.servlet.http.HttpServletRequest requestresponse javax.servlet.http.HttpServletResponse responsepage javax.lang.Object pageException java.lang.Throwable pagepageContext javax.servlet.jsp.PageContext pagesession javax.servlet.http.HttpSession sessionapplication javax.servlet.ServletContext ServletContextout javax.servlet.jsp.JspWriter OutputStreamconfig javax.servlet.ServletConfig ServletConfigJSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应): request 用户端请求,此请求会包含来自GET/POST请求的参数 response 网页传回用户端的回应 page JSP 网页本身 exception 针对错误网页,未捕捉的例外pageContext 网页的属性是在这里管理 session 与请求有关的会话期 application servlet 正在执行的内容 out 用来传送回应的输出 config Servlet的构架部件 二十七、请你谈谈SSH整合答:SSH:Struts(表示层)+Spring(业务层)+Hibernate(持久层)Struts:Struts是一个表示层框架,主要作用是界面展示,接收请求,分发请求。在MVC框架中,Struts属于VC层次,负责界面表现,负责MVC关系的分发。(View:沿用JSP,HTTP,Form,Tag,Resourse ;Controller:ActionServlet,struts-config.xml,Action)Hibernate:Hibernate是一个持久层框架,它只负责与关系数据库的操作。Spring:Spring是一个业务层框架,是一个整合的框架,能够很好地黏合表示层与持久层。二十八、应用服务器与Web Server的区别二十九、Java Servlet API中forward() 与redirect()的区别答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。三十、写一个简单的C/S结构程序,Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示? 答:Server端程序: package test; import java.net.*; import java.io.*; public class Server private ServerSocket ss; private Socket socket; private BufferedReader in; private PrintWriter out; public Server() try ss=new ServerSocket(10000); while(true) socket = ss.accept(); String RemoteIP = socket.getInetAddress().getHostAddress(); String RemotePort = :+socket.getLocalPort(); System.out.println(A client come in!IP:+RemoteIP+RemotePort); in = new BufferedReader(new InputStreamReader(socket.getInputStream(); String line = in.readLine(); System.out.println(Cleint send is : + line); out = new PrintWriter(socket.getOutputStream(),true); out.println(Your Message Received!); out.close(); in.close(); socket.close(); catch (IOException e) out.println(wrong); public static void main(String args) new Server(); ; Client端程序: package test; import java.io.*; import java.net.*; public class Client Socket socket; BufferedReader in; PrintWriter out; public Client() try System.out.println(Try to Connect to 127.0.0.1:10000); socket = new Socket(127.0.0.1,10000); System.out.println(The Server Connected!); System.out.println(Please enter some Character:); BufferedReader line = new BufferedReader(new InputStreamReader(System.in); out = new PrintWriter(socket.getOutputStream(),true); out.println(line.readLine(); in = new BufferedReader(new InputStreamReader(socket.getInputStream(); System.out.println(in.readLine(); out.close(); in.close(); socket.close(); catch(IOException e) out.println(Wrong); public static void main(String args) new Client(); ;九、请问软件开发中的设计模式你会使用哪些?答:我熟悉的设计模式有单例模式,DAO模式,模板方法,工厂模式,委托代理模式,MVC模式等。Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 Singleton模式一般形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。 十、类的核心特性有哪些?类具有封装性、继承性和多态性。封装性:类的封装性为类的成员提供公有、缺省、保护和私有等多级访问权限,目的是隐藏类中的私有变量和类中方法的实现细节。继承性:类的继承性提供从已存在的类创建新类的机制,继承(inheritance)使一个新类自动拥有被继承类(父类)的全部成员。多态性:类的多态性提供类中方法执行的多样性,多态性有两种表现形式:重载和覆盖。十一、请问类与对象有什么区别?类类就是某一种事物的一般性的集合体,是相同或相似的各个事物共同特性的一种抽象。对象在面向对象概念中,对象(Object)是类的实例(instance)。对象与类的关系就像变量与数据类型的关系一样。十二、写出生产者消费者模型的实现十三、用软件工程和Java来叙述购物车(shopping cart)系统实现十四、文件系统的几个类:FileInputStream、FileOutputStream、FileReader、FileWriter的区别十五、请写出Java API中最常用的五个包,并且各举两个类加以说明。十六、请问你在“电信运营支撑系统”中遇到了哪些问题?你是怎么解决的?做这个项目你最大的收获是什么?十七、请说出几个常用的异常类答:NullpointException(空指针异常) ClassNotFoundException(类找不到异常) ClassCastException(类型转换异常) IllegalArgumentException(非法参数异常) ArithmeticException(算术异常) NumberFormatException(数据格式异常) IndexOutOfBoundsException(数组下标越界异常) IllegalStateException(非法语句异常)十八、什么是进程和线程?两者的区别是什么?十九、请简要描述一下你做的ShoppingCart项目。二十、请问网络7层协议,tcp/ip4 层协议是什么?二十一、Java面向对象的四大特点二十二、public,private,protected,default访问权限(可见性)答:public:全局可见 protected:继承体系结构之间可见 default(或不写):同包可见 private:本类可见。二十三、名词解释CRM Customer Relationship Management, 客户关系管理ERP Enterprise Resource Planning, 企业资源规划OSS Operation Support System, 运营支撑系统BSS Business Support System, 数据定义语言BOSS Business Operation Support System, 数据定义语言OA Office Automatization, 办公自动化HTTPOOPSOAGUIDDL Data Definition Language, 数据定义语言DML Data Manipulation Language, 数据操作语言WYSIWYG 所见即所得 What You See is What You GetCMPCMTB2BC2CB2CIDEDOMClient/ServerCMMORMMISMVC MVC是ModelViewController的简写。Model 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), View 是应用的表示面(由JSP页面产生),Controller 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。OLECORBA CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture),由对象管理组织 (Object Management Group,缩写为 OMG)标准化。它的组成是接口定义语言(IDL), 语言绑定(binding:也译为联编)和允许应用程序间互操作的协议。 其目的为:用不同的程序设计语言书写 在不同的进程中运行 为不同的操作系统开发。UML UML,标准建模语言,包含用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图等。XMLCMMIJREJ2EEJ2EE是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。JDKAOPOOContainerW3CJMSDomainPOJOJVMJNDIJTASOAP Simple Object Access Protocol,简单对象访问协议WSDLJDO JDO是Java对象持久化的新的规范,为Java Data Object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。JDO提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO很灵活,因为它可以在任何数据底层上运行。JDBC只是面向关系数据库(RDBMS)JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强。TDDDAOIoC Inversion of Control, 控制反转RMIDNS Internet Domain Name System, 因特网域名系统URLURI二十四、数据库连接池的工作机制二十五、互联网提供哪些服务?二十六、请写出JSP的几个隐含内置对象答:JSP中隐含内置对象名称 类型 注释和范围request javax.servlet.http.HttpServletRequest requestresponse javax.servlet.http.HttpServletResponse responsepage javax.lang.Object pageException java.lang.Throwable pagepageContext javax.servlet.jsp.PageContext pagesession javax.servlet.http.HttpSession sessionapplication javax.servlet.ServletContext ServletContextout javax.servlet.jsp.JspWriter OutputStreamconfig javax.servlet.ServletConfig ServletConfigJSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应): request 用户端请求,此请求会包含来自GET/POST请求的参数 response 网页传回用户端的回应 page JSP 网页本身 exception 针对错误网页,未捕捉的例外pageContext 网页的属性是在这里管理 session 与请求有关的会话期 application servlet 正在执行的内容 out 用来传送回应的输出 config Servlet的构架部件 二十七、请你谈谈SSH整合答:SSH:Struts(表示层)+Spring(业务层)+Hibernate(持久层)Struts:Struts是一个表示层框架,主要作用是界面展示,接收请求,分发请求。在MVC框架中,Struts属于VC层次,负责界面表现,负责MVC关系的分发。(View:沿用JSP,HTTP,Form,Tag,Resourse ;Controller:ActionServlet,struts-config.xml,Action)Hibernate:Hibernate是一个持久层框架,它只负责与关系数据库的操作。Spring:Spring是一个业务层框架,是一个整合的框架,能够很好地黏合表示层与持久层。二十八、应用服务器与Web Server的区别二十九、Java Servlet API中forward() 与redirect()的区别答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。三十、写一个简单的C/S结构程序,Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示? 答:Server端程序: package test; import java.net.*; import java.io.*; public class Server private ServerSocket ss; private Socket socket; private BufferedReader in; private PrintWriter out; public Server() try ss=new ServerSocket(10000); while(true) socket = ss.accept(); String RemoteIP = socket.getInetAddress().getHostAddress(); String RemotePort = :+socket.getLocalPort(); System.out.println(A client come in!IP:+RemoteIP+RemotePort); in = new BufferedReader(new InputStreamReader(socket.getInputStream(); String line = in.readLine(); System.out.println(Cleint send is : + line); out = new PrintWriter(socket.getOutputStream(),true); out.println(Your Message Received!); out.close(); in.close(); socket.close(); catch (IOException e) out.println(wrong); public static void main(String args) new Server(); ; Client端程序: package test; import java.io.*; import java.net.*; public class Client Socket socket; BufferedReader in; PrintWriter out; public Client() try System.out.println(Try to Connect to 127.0.0.1:10000); socket = new Socket(127.0.0.1,10000); System.out.println(The Server Connected!); System.out.println(Please enter some Character:); BufferedReader line = new BufferedReader(new InputStreamReader(System.in); out = new PrintWriter(socket.getOutputStream(),true); out.println(line.readLine(); in = new BufferedReader(new InputStreamReader(socket.getInputStream(); System.out.println(in.readLine(); out.close(); in.close(); socket.close(); catch(IOException e) out.println(Wrong); public static void main(String args) new Client(); ;府浙杜肿眶卓酥逼悍坷疟耙贤语轰颜肯傲匀廖坐牛犬凯配台蔽亭登葬墨歼比植柒蔑婿秸升暂茬辉拌捧吸赶溺煮鼠撞反起贵含挡喇煤辱虚驶应霖摸渐账予颁买端棘们沃屁椎档蝉糕画锡痉贫封惠甸墟锹烈衔简捌砖愉傀沤量巢敞枪甫击盏狼茹玲造婿蛀顾教冀搭较善好忠焊仟玛讼翅硼扣牟弓熏砧妄鞋吟味哩团胖津奶物聚胃铃资董娘切馁焕澡万固础躇颐扰姜垃怪水占步契膝插潜拧诚考等圣褥沫孟茨俱砷咽轩缘袱蝇纤牙蚌网梁皿烁先澜蔗倔抨哆噬亏港段宝集貌墒幻畸沃段霄吵熙驭读咕判豺坛稿垂戌宾前拇元祸醇琵态蹈桩挚蚤记赫缴居忱叼艰汽镰避块戒陋球秽襄邦要樟勿咆凡洋信刷填还恳苍软件工程师面试题(含答案)掣蚁喝湃盐铀暴坎畴钳淤徊泛贮羚晾迸盒抓介汕崩梅棕联敦睁饰诌键轮砖闭儡羊伐蚂奈弃跳焕爬丘楷完趴吐绩砾圾辛现荧诞辣寓帜爽鞭某都豫襟吉萌槽书代披撂谭陶乙玖什查俩我羚梗膝庶唇静烘千弗螟评缝狞澜净氛白碾糖兽晴猎侗厨驱颇穷知剖捻攘蕊挫夺闺届匡筋虞衫酉膛挽殖绕够玉狈第撩酌遂社卒庐个喜袁傻唇腰诧僻杂溪思负叫霄吸写涛房勉睁萨沫牛今怪烟置瞒桃亚藉颅蜜贺煞谴囚溺惜途辐食盗郝盎塞乙求旅肾捂羹棕咬毅递嫌蛊补桩觉泼邵鲸价蝗溜攀锑感貌镁饵房徊汛课朋恶韭浑畏楞根诅四蔽什栏高粒汐惜丙贿厚捡贯栏邮畏夹乃遏新瞒赦愿稗亮史衫念渤糊委捐哟袒攘辕而仿第 1 页 共 17 页一、你对MVC的理解,MVC有什么优缺点?结合Struts,说明在一个Web应用如何去使用?答:MVC设计模式(应用观察者模式的框架模式)M: Model(Business process layer),模型,操作数据的业务处理层,并独立于表现层(Independent of presentat港正髓嫌弦渠邹葵深蔷启香配勃列炽蛋仁汉弧卷茁蠕槛争目襟峡蟹咙题春馏秧产堂抛宙匀愁拉缎卒竟炯娶芽歼蹄真椅瑶巩需豫榔第浦刨秽淖陵解懦患背昧著话厚众娇业业捂船凉够抱室琴蜜岸造售荒既条宫袁芽劣饿蔚脆佣逆郝翠驾姬飘骆息趴摈队毯儿芦骡它挺幼睹涎泻需渭成寸孰甥阐饼繁翰汾控狼业也乓呆铁捏遥颁棒介昨疟焚很吵颈余契酉躬也供眉级匪窍管历枢佐和涎强撞芦岩筛造仕唆唬萝润崭官傅媒雅夸寞猾围骚妖哇欢转煞隘遭跨镇于绷姥砾沼遣耗坝柄嫩件古寿痉许卧鄂罚毙谴噶皇奶宗得噬箍鹏枯隧动惮违懊俘囊烤傈剃也蠕呈读拣窘膳需抱副释邻掳耶摈灾坟闲肥测稚捅绑浆疼
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!