香港电信笔试题
1. Based on your Java related technologies on the following understanding:
1. Based on your Java related technologies on the following understanding:
servlet, JavaServerPage, JavaBean, enterprise JavaBean, to talk about how these technologies work in conjunction, or they might be used in an Internet-based
Applications software development? (25 points)
1.基于你对以下的Java相关技术的了解:
servlet,JavaServerPage,JavaBean,企业JavaBean,谈谈这些技术是怎样一起协同工作的或他们是怎样被应用在一个基于互联网
的应用软件开发中的?(25分)
Answer:java平台的互联网应用软件开发通常指基于J2EE技术构建。J2EE应用程序是由组件构成的.J2EE组件是具有独立功能的软件
单元,它们通过相关的类和文件组装成J2EE应用程序,并与其他组件交互。J2EE中定义了以下组件:
应用客户端程序和applets是客户层组件.
Java Servlet和JavaServer Pages(JSP)是web层组件.
Enterprise JavaBeans(EJB),Javabean是业务层组件.
web层组件
J2EE web层组件可以是JSP 页面或Servlets.按照J2EE规范,静态的HTMLjava可以开发什么软件页面和Applets不算是web层组件。
web层可能包含某些 JavaBean 对象来处理用户输入,并把输入发送给运行在业务层上的enterprise bean 来进行处理。
业务层组件
业务层代码的逻辑用来满足银行,零售,金融等特殊商务领域的需要,由运行在业务层上的enterprise bean 进行处理。
应用客户端程序和applets是客户层组件.
Java Servlet和JavaServer Pages(JSP)是web层组件.
Enterprise JavaBeans(EJB),Javabean是业务层组件.
web层组件
J2EE web层组件可以是JSP 页面或Servlets.按照J2EE规范,静态的HTMLjava可以开发什么软件页面和Applets不算是web层组件。
web层可能包含某些 JavaBean 对象来处理用户输入,并把输入发送给运行在业务层上的enterprise bean 来进行处理。
业务层组件
业务层代码的逻辑用来满足银行,零售,金融等特殊商务领域的需要,由运行在业务层上的enterprise bean 进行处理。
2. Could you talk about according to their own point of view of object-oriented approach in software development What are the advantages? What do you think of
these advantages is the way to embody it? (15 points)
2.请你根据自己的观点谈谈面向对象方式在软件开发中的优势是什么?你认为这些优势又是如何体现的?(15分)
Answer:OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据
Answer:OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据
和向其它对象发送信息。OOP 主要有以下的概念和组件:
组件 - 数据和功能一起在运行着的计算机程序中形成的单元,组件在 OOP 计算机程序中是模块和结构化的基础。
抽象性 - 程序有能力忽略正在处理中信息的某些方面,即对信息主要方面关注的能力。
封装 - 也叫做信息封装:确保组件不会以不可预期的方式改变其它组件的内部状态;只有在那些提供了内部状态改变方法的组件中
抽象性 - 程序有能力忽略正在处理中信息的某些方面,即对信息主要方面关注的能力。
封装 - 也叫做信息封装:确保组件不会以不可预期的方式改变其它组件的内部状态;只有在那些提供了内部状态改变方法的组件中
,才可以访问其内部状态。每类组件都提供了一个与其它组件联系的接口,并规定了其它组件进行调用的方法。
多态性 - 组件的引用和类集会涉及到其它许多不同类型的组件,而且引用组件所产生的结果得依据实际调用的类型。
继承性 - 允许在现存的组件基础上创建子类组件,这统一并增强了多态性和封装性。典型地来说就是用类来对组件进行分组,而且
继承性 - 允许在现存的组件基础上创建子类组件,这统一并增强了多态性和封装性。典型地来说就是用类来对组件进行分组,而且
还可以定义新类为现存的类的扩展,这样就可以将类组织成树形或网状结构,这体现了动作的通用性。
3. To talk about when you write a class time, class inheritance and aggregation between the How to choose? (15 points)
3.谈谈当你在编写一个类的时候,类之间的继承与聚合应该如何选择?(15分)
Answer:聚合只是对另一个对象的引用,并不拥有其生命周期的管理权;继承的关系是最强,已经在定以级进行绑定,而且要符合
Liscov原则,组合和继承在物质基础上是一致的,但是组合是整体部分的关系,不需要符
合Liscov原则。聚合表示has-a的关系,是
一种相对松散的关系;继承是一种逻辑关系具有is-a的关系。软件工程中强调组件间的松耦合,故而更为偏重对象间的聚合或组合而
不是继承。只有在逻辑上有比较强的is-a关系时,也会采用继承来实现。
4.java language does not support multiple inheritance, talk about how do you implement multiple inheritance in the program it? (15 points)
4.java语言不支持多继承,谈谈你如何在程序中实现多继承的?(15分)
Answer:Java只支持单根继承。一个java类只能直接或间接继承一个类,但是java语言中我们可以让一个类实现多个接口,而接口表达的是一种like-a的关系,要在程序中实现多继承,我们可以利用接口达到这一目的,另外设计类的时候我们也可以使用类之间的聚合间接实现多继承关系。
5.你认为在面向对象分析与设计中最困难的是什么,并谈谈为什么?(10分)
Answer:在OOA或OOD中比较困难的是从领域模型到计算机模型转换的过程。要处理问题空间的变与不变的问题。作为程序员不断的去分析,理解,甚至挖掘领域模型的概念并建立这些模型之间的关联关系。
6.谈谈你如何紧跟IT时代潮流的,尤其是在软件开发这个领域中是如何做到的?(10分)
Anwer:当今世界科学技术日新月异的科技世界,社会也变成了终身学习型的社会。要想保持与世界潮流同步发展,我们需要时刻关
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论