嵌入式CC++笔试与面试题集(含答案、史上最全)(7)

2019-04-16 16:34

或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(负载均衡,将访问负荷分散到各个服务器中)

第 31 页 共 55 页

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的区别。

第 32 页 共 55 页

答:

方法的重写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)使一个新类自动拥有被继承类(父类)的全部成员。

多态性:

类的多态性提供类中方法执行的多样性,多态性有两种表现形式:重载和覆盖。 十一、请问类与对象有什么区别?

类就是某一种事物的一般性的集合体,是相同或相似的各个事物共同特性的一种抽象。 对象

第 33 页 共 55 页

在面向对象概念中,对象(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, 办公自动化] HTTP OOP SOA

第 34 页 共 55 页

GUI DDL

[Data Definition Language, 数据定义语言] DML

[Data Manipulation Language, 数据操作语言] WYSIWYG

所见即所得 [What You See is What You Get] CMP CMT B2B C2C B2C IDE DOM

Client/Server CMM ORM MIS MVC

MVC是Model-View-Controller的简写。\代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), \是应用的表示面(由JSP页面产生),\是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。 OLE CORBA

CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture),由对象管理组织 (Object Management Group,缩写为 OMG)标准化。它的组成是接口定义语言(IDL), 语言绑定(binding:也译为联编)和允许应用程序间互操作的协议。 其目的为:

用不同的程序设计语言书写 在不同的进程中运行 为不同的操作系统开发。 UML

UML,标准建模语言,包含用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图等。 XML CMMI JRE J2EE

J2EE是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。 JDK AOP

第 35 页 共 55 页


嵌入式CC++笔试与面试题集(含答案、史上最全)(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:隧道工程试题及答案(四套体)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: