技术面试题.docx

上传人:rrsccc 文档编号:9799495 上传时间:2021-03-26 格式:DOCX 页数:8 大小:20.44KB
返回 下载 相关 举报
技术面试题.docx_第1页
第1页 / 共8页
技术面试题.docx_第2页
第2页 / 共8页
技术面试题.docx_第3页
第3页 / 共8页
技术面试题.docx_第4页
第4页 / 共8页
技术面试题.docx_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《技术面试题.docx》由会员分享,可在线阅读,更多相关《技术面试题.docx(8页珍藏版)》请在三一文库上搜索。

1、资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。一、 你对 MVC的理解 , MVC 有什么优缺点 ? 结合 Struts,说明在一个 Web应用如何去使用 ?答 :MVC设计模式 ( 应用观察者模式的框架模式)M: Model(Business process layer),模型 ,操作数据的业务处理层, 并独立于表现层 (Independent of presentation)。V: View(Presentation layer), 视图 , 经过客户端数据类型显示数据 , 并回显模型层的执行结果。C: Controller(Controllayer),控制器 ,也就是视图

2、层和模型层桥梁,控制数据的流向,接受视图层发出的事件,并重绘视图MVC框架的一种实现模型模型二 (Servlet-centric):JSP+Servlet+JavaBean, 以控制为核心 , JSP 只负责显示和收集数据 , Sevlet, 连接视图和模型 , 将视图层数据 , 发送给模型层 , JavaBean, 分为业务类和数据实体 , 业务类处理业务数据 , 数据实体 , 承载数据 , 基本上大多数的项目都是使用这种 MVC的实现模式。StrutsMVC 框架 (Web application frameworks)Struts是使用 MVC的实现模式二来实现的 ,也就是以控制器为核心

3、。Struts提供了一些组件使用MVC开发应用程序 :Model: Struts没有提供 model 类。这个商业逻辑必须由Web应用程序的开发者以 JavaBean 或 EJB的形式提供View: Struts提供了action form创立form bean,用于在controller和view间传输数据。另外, Struts提供了自定义JSP 标签库 ,辅助开发者用JSP创立交互式的以表单为基础的应用程序,应用程序资源文件保留了一些文本常量和资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。错误消息 ,可转变为其它语言 ,可用于 JSP中。Controller:Struts提

4、供了一个核心的控制器ActionServlet,经过这个核心的控制器来调用其它用户注册了的自定义的控制器Action,自定义 Action 需要符合 Struts的自定义 Action 规范 ,还需要在 struts-config.xml的特定配置文件中进行配置 ,接收 JSP 输入字段形成Action form,然后调用一个Action 控制器。 Action 控制器中提供了model 的逻辑接口。二、 什么是 WebService?答 :WebService 是一个 SOA( 面向服务的编程 ) 的架构 , 它是不依赖于语言 , 不依赖于平台 , 能够实现不同的语言间的相互调用 , 经过

5、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) 能够让异构的

6、程序相互访问 ( 跨平台 )(2) 松耦合(3) 基于标准协议 ( 通用语言 , 允许其它程序访问 ) Web Service 的基本原理(1) Service Provider采用WSDL描述服务(2) Service Provider采用UDDI 将服务的描述文件发布到UDDI服务器资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。( Register server)(3)Service Requestor在 UDDI服务器上查询并 获取 WSDL文件(4)Service requestor将请求绑定到 SOAP, 并访问相应的服务。三、 什么是中间件 ?中间件就是程序中可织入

7、的,可重用的 ,与业务逻辑无关的各种组件。中间件 ( middleware) 是基础软件的一大类 , 属于可复用软件的范畴。顾名思义 , 中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上 , 应用软件的下层 , 总的作用是为处于自己上层的应用软件提供运行与开发的环境 , 帮助用户灵活、 高效地开发和集成复杂的应用软件。在众多关于中间件的定义中 , 比较普遍被接受的是 IDC 表述的 : 中间件是一种独立的系统软件或服务程序 , 分布式应用软件借助这种软件在不同的技术之间共享资源 , 中间件位于客户机服务器的操作系统之上 , 管理计算资源和网络通信。分类 :数据访

8、问中间件 ,远程调用中间件 ,消息中间件 ,交易中间件 ,对象中间件。举例 :1, RMI( Remote Method Invocations,远程调用)2, Load Balancing(负载均衡 ,将访问负荷分散到各个服务器中)3, Transparent Fail-over(透明的故障切换)4, Clustering(集群 , 用多个小的服务器代替大型机)5, Back-end-Integration(后端集成 ,用现有的、新开发的系统如何去集成遗留的系统)6, Transaction事务 ( 全局 / 局部 ) 全局事务 (分布式事务 )局部事务 ( 在同一数据库联接内的事务)7,

9、Dynamic Redeployment(动态重新部署 , 在不停止原系统的情况下,部署新的系统 )资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。8, System Management( 系统管理 )9, Threading(多线程处理 )10, Message-oriented Middleware面向消息的中间件 ( 异步的调用编程 )11, Component Life Cycle(组件的生命周期管理)12, Resource pooling(资源池 )13, Security(安全 )14, Caching(缓存 )四、 什么是典型的软件三层结构? 软件设计为什么要分

10、层? 软件分层有什么好处 ?答 : (1) Presentation layer(表示层 )(1) 表示逻辑 ( 生成界面代码 )(2) 接收请求(3) 处理业务层抛出的异常(4) 负责规则验证 ( 数据格式 , 数据非空等 )(5) 流程控制(2) Service layer(服务层 / 业务层 )(1) 封装业务逻辑处理 , 而且对外暴露接口(2) 负责事务 , 安全等服务(3) Persistence layer(持久层 )(1) 封装数据访问的逻辑 , 暴露接口(2) 提供方便的数据访问的方案 ( 查询语言 , API, 映射机制等 )Domain layer(域层 )(1) 业务对象

11、以及业务关系的表示(2) 处理简单的业务逻辑(3) 域层的对象能够穿越表示层 , 业务层 , 持久层软件分层结构使得代码维护非常方便 , 设计明确 , 各层独立 , 专注自己擅长的资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。领域。五、 什么是 OOP? OOP相对于面向过程编程有哪些优点?OOP, Object-Oriented Programming,面向对象编程不同于面向过程编程:( 1) OOP 关注对象和角色 ,也就是事物的本质1) OOP 把客观世界中的对象抽象成对应的类 ;2) 经过类构造实例 ;3) 经过依赖、 继承、 实现等形式建立对象间的通信关系( 2) O

12、OP 易于扩展 ,增加或改变业务的功能 ,无需大幅改动改变源代码( 3) OOP 易于建模 , OOP 就是软件架构师在计算机高级语言中对客观世界的抽象和再现 ,人们能够很好地理解和建立起计算机中的抽象模型六、 谈谈 Overload 和 Override 的区别。答 :方法的重写 Overriding和重载 Overloading是 Java 多态性的不同表现。重写 Overriding 是父类与子类之间多态性的一种表现 , 重载 Overloading 是一个类中多态性的一种表现。 如果在子类中定义某方法与其父类有相同的名称和参数 ,我们说该方法被重写 (Overriding) 。子类的对

13、象使用这个方法时 , 将调用子类中的定义 , 对它而言 , 父类中的定义如同被” 屏蔽” 了。如果在一个类中定义了多个同名的方法 , 它们或有不同的参数个数或有不同的参数类型 , 则称为方法的重载 (Overloading) 。 Overloaded 的方法是能够改变返回值的类型。七、 谈谈 HashMap和 Hashtable 的区别。答 : HashMap 是轻量级的 ( 线程不安全的 , 效率高的 ) 集合 , Hashtable 是重量级的 ( 线程安全的 , 效率低的 ) 集合。都属于 Map接口的类 ,实现了将惟一键映射到特定的值上。HashMap类没有分类或者排序。它允许一个nu

14、ll键和多个 null值。Hashtable类似于 HashMap, 可是不允许null键和 null值。它也比资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。HashMap 慢,因为它是同步的。八、 请问 abstract class和 interface有什么区别 ?答 :1) 接口没有任何的实现 , 而抽象类它能够有部分的实现也能够没有 ;2) 如果需要复用或者共享部分代码 , 应该用抽象类而不是接口 ;3) 继承无法解决类型的转换问题 , 接口就是为了解决这一问题而产生的(Java的单继承是接口产生的根本原因) 接口是一种抽象的第三方规范, 跟对象没什么直接关系。九、 请

15、问软件开发中的设计模式你会使用哪些?答 : 我熟悉的设计模式有单例模式 , DAO模式 , 模板方法 , 工厂模式 , 委托代理模式 , MVC 模式等。Singleton模式主要作用是保证在Java 应用程序中 ,一个类 Class 只有一个实例存在。Singleton模式一般形式:定义一个类,它的构造函数为private的 ,它有一个static的private的该类变量,在类初始化时实例话,经过一个public的getInstance方法获取对它的引用, 继而调用其中的方法。十、 类的核心特性有哪些 ?类具有封装性、继承性和多态性。封装性 :类的封装性为类的成员提供公有、缺省、 保护和私

16、有等多级访问权限,目的是隐藏类中的私有变量和类中方法的实现细节。继承性 :类的继承性提供从已存在的类创立新类的机制,继承 ( inheritance)使一个新类自动拥有被继承类( 父类 ) 的全部成员。资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。多态性 :类的多态性提供类中方法执行的多样性 , 多态性有两种表现形式 : 重载和覆盖。十一、请问类与对象有什么区别?类类就是某一种事物的一般性的集合体 , 是相同或相似的各个事物共同特性的一种抽象。对象在面向对象概念中 , 对象 ( Object) 是类的实例 ( instance) 。对象与类的关系就像变量与数据类型的关系一样。十

17、二、写出生产者消费者模型的实现( 参照 OOA/D中老师的代码 )十三、用软件工程和 Java 来叙述购物车 ( shopping cart)系统实现十四、文件系统的几个类:FileInputStream、FileOutputStream、FileReader、FileWriter的区别十五、 请写出 Java API 中最常见的五个包 , 而且各举两个类加以说明。 ( 查阅 api)十六、 请问你在” 电信运营支撑系统” 中遇到了哪些问题 ? 你是怎么解决的 ? 做这个项目你最大的收获是什么 ? ( 自己结合自己的项目 , 做一下总结 , 然后想想怎么去回答 )十七、请说出几个常见的异常类答 : NullpointException(空指针异常 )ClassNotFoundException(类找不到异常 )ClassCastException(类型转换异常 )IllegalArgumentException(非法参数异常 )ArithmeticException( 算术异常 ) NumberFormatException( 数据格式异常 )

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1