软件工程师面试题(含答案).docx
《软件工程师面试题(含答案).docx》由会员分享,可在线阅读,更多相关《软件工程师面试题(含答案).docx(16页珍藏版)》请在第一文库网上搜索。
1、一、你对MVC的理解,MVC有什么优缺点?结合StrUts,说明在一个Web应用如何去使 用? 答:MVC设计模式(应用观察者模式的框架模式)M: Model(Business process layer),模型,操作数据的业务处理层,并独立于表现层(IndePendent of presentation) V: View(Presentation layer),视图,通过客户端数据类型显示数据,并回显模型层的执行结果。 C: Controller(Control layer),控制器,也就是视图层和模型层桥梁,控制数据的流向,接受 视图层发出的事件,并重绘视图MVC框架的一种实现模型模型二(
2、SerVIet-Centric):JSP+Servlet+JavaBean,以控制为核心,JSP只负责显示和收集数据,Sevlet,连接视图和模 型,将视图层数据,发送给模型层,JavaBean,分为业务类和数据实体,业务类处理业务数 据,数据实体,承载数据,基本上大多数的项目都是使用这种MVC的实现模式。StrutsMVC 框架(Web application frameworks)Struts是使用MVC的实现模式二来实现的,也就是以控制器为核心。Struts提供了 一些组件使用MVC开发应用程序:Model: Struts没有提供model类。这个商业逻辑必须由Web应用程序的开发者以J
3、avaBean 或EJB的形式提供View: Struts 提供了 action form 创建 form bean,用于在 COmrOller 和 view 间传输数据。此外, Struts提供了自定义JSP标签库,辅助开发者用JSP创建交互式的以表单为基础的应用程序, 应用程序资源文件保留了一些文本常量和错误消息,可转变为其它语言,可用于JSP中。Controller: Struts提供了一个核心的控制器ActionServlet,通过这个核心的控制器来调用其 他用户注册了的自定义的控制器Action,自定义Action需要符合Struts的自定义Action规 范,还需要在StnnS-C
4、Onfig.xml的特定配置文件中进行配置,接收JSP输入字段形成ACtion form,然后调用一个AetiOn控制器。ACtiOn控制器中提供了 model的逻辑接口。二、什么是 WebService?答:WebSerViCe是一个SoA (面向服务的编程)的架构,它是不依赖于语言,不依赖于平 台,可以实现不同的语言间的相互调用,通过Internet进行基于HttP协议的网络应用间的交 互。WebSerViCe实现不同语言间的调用,是依托于一个标准,WebSerViCe是需要遵守WSDL (Web服务定义语言)/SOAP (简单请求协议)规范的。WebService=WSDL+SOAP+U
5、DDI (webservice 的注册)Soap是由Soap的part和0个或多个附件组成,一般只有part,在part中有Envelope和 Body.WebService是通过提供标准的协议和接口,可以让不同的程序集成的一种SOA架构。Web Service 的优点(I)可以让异构的程序相互访问(跨平台)(2)松耦合(3)基于标准协议(通用语言,允许其他程序访问)Web Service的基本原理(I)Service Provider 采用 WSDL 描述服务(2) Service Provider采用UDDl将服务的描述文件发布到UDDI服务器(RegiSterSerVer)(3) Ser
6、vice Requestor在UDDI服务器上查询并 获取WSDL文件(4) Service requestor将请求绑定到SOAP,并访问相应的服务。三、什么是中间件?中间件就是程序中可织入的,可重用的,与业务逻辑无关的各种组件。中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间 件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应 用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵 活、高效地开发和集成更杂的应用软件。在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的 系
7、统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位 于客户机服务器的操作系统之上,管理计算资源和网络通信。分类:数据访问中间件,远程调用中间件,消息中间件,交易中间件,对象中间件。举例:1, RMI (Remote Method Invocations,远程调用)2, LOadBalaneing(负载均衡,将访问负荷分散到各个服务器中)3, Transparent Fail-OVer(透明的故障切换)4, CIUStering(集群,用多个小的服务器代替大型机)5, BaCk-end-Integration(后端集成,用现有的、新开发的系统如何去集成遗留的系统)6,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程师 试题 答案
