软件工程师面试题含答案Word文档格式.docx

上传人:b****3 文档编号:13454844 上传时间:2022-10-10 格式:DOCX 页数:20 大小:28.18KB
下载 相关 举报
软件工程师面试题含答案Word文档格式.docx_第1页
第1页 / 共20页
软件工程师面试题含答案Word文档格式.docx_第2页
第2页 / 共20页
软件工程师面试题含答案Word文档格式.docx_第3页
第3页 / 共20页
软件工程师面试题含答案Word文档格式.docx_第4页
第4页 / 共20页
软件工程师面试题含答案Word文档格式.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

软件工程师面试题含答案Word文档格式.docx

《软件工程师面试题含答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《软件工程师面试题含答案Word文档格式.docx(20页珍藏版)》请在冰豆网上搜索。

软件工程师面试题含答案Word文档格式.docx

Struts是使用MVC的实现模式二来实现的,也就是以控制器为核心。

Struts提供了一些组件使用MVC开发应用程序:

Model:

Struts没有提供model类。

这个商业逻辑必须由Web应用程序的开发者以JavaBean或E的形式提供

View:

Struts提供了actionform创立formbean,用于在controller和view间传输数据。

此外,Struts提供了自定义JSP标签库,辅助开发者用JSP创立交互式的以表单为根底的应用程序,应用程序资源文件保存了一些文本常量和错误消息,可转变为其它语言,可用于JSP中。

Controller:

Struts提供了一个核心的控制器ActionServlet,通过这个核心的控制器来调用其他用户注册了的自定义的控制器Action,自定义Action需要符合Struts的自定义Action规,还需要在struts-config.xml的特定配置文件中进展配置,接收JSP输入字段形成Actionform,然后调用一个Action控制器。

Action控制器中提供了model的逻辑接口。

二、什么是WebService?

WebService是一个SOA〔面向效劳的编程〕的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进展基于协议的网络应用间的交互。

WebService实现不同语言间的调用,是依托于一个标准,webservice是需要遵守WSDL〔web效劳定义语言〕/SOAP〔简单请求协议〕规的。

WebService=WSDL+SOAP+UDDI〔webservice的注册〕

Soap是由Soap的part和0个或多个附件组成,一般只有part,在part中有Envelope和Body。

WebService是通过提供标准的协议和接口,可以让不同的程序集成的一种SOA架构。

WebService的优点

(1)可以让异构的程序相互访问〔跨平台〕

(2)松耦合

(3)基于标准协议〔通用语言,允其他程序访问〕

WebService的根本原理

(1)ServiceProvider采用WSDL描述效劳

(2)ServiceProvider采用UDDI将效劳的描述文件发布到UDDI效劳器〔Registerserver〕

(3)ServiceRequestor在UDDI效劳器上查询并获取WSDL文件

(4)Servicerequestor将请求绑定到SOAP,并访问相应的效劳。

三、什么是中间件?

中间件就是程序中可织入的,可重用的,与业务逻辑无关的各种组件。

中间件〔middleware〕是根底软件的一大类,属于可复用软件的畴。

顾名思义,中间件处于操作系统软件与用户的应用软件的中间。

中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。

  在众多关于中间件的定义中,比拟普遍被承受的是IDC表述的:

中间件是一种独立的系统软件或效劳程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机效劳器的操作系统之上,管理计算资源和网络通信。

分类:

数据访问中间件,远程调用中间件,消息中间件,交易中间件,对象中间件。

举例:

1,RMI〔RemoteMethodInvocations,远程调用〕

2,LoadBalancing(负载均衡,将访问负荷分散到各个效劳器中)

3,TransparentFail-over(透明的故障切换)

4,Clustering(集群,用多个小的效劳器代替大型机〕

5,Back-end-Integration(后端集成,用现有的、新开发的系统如去集成遗留的系统)

6,Transaction事务〔全局/局部〕全局事务〔分布式事务〕局部事务〔在同一数据库联接的事务〕

7,DynamicRedeployment(动态重新部署,在不停顿原系统的情况下,部署新的系统〕

8,SystemManagement(系统管理)

9,Threading(多线程处理)

10,Message-orientedMiddleware面向消息的中间件〔异步的调用编程〕

11,ponentLifeCycle(组件的生命期管理)

12,Resourcepooling〔资源池〕

13,Security〔平安〕

14,Caching〔缓存〕

四、什么是典型的软件三层构造?

软件设计为什么要分层?

软件分层有什么好处?

(1)Presentationlayer〔表示层〕

(1)表示逻辑〔生成界面代码〕

(2)接收请求

(3)处理业务层抛出的异常

(4)负责规那么验证〔数据格式,数据非空等〕

(5)流程控制

(2)Servicelayer〔效劳层/业务层〕

(1)封装业务逻辑处理,并且对外暴露接口

(2)负责事务,平安等效劳

(3)Persistencelayer〔持久层〕

(1)封装数据访问的逻辑,暴露接口

(2)提供便的数据访问的案〔查询语言,API,映射机制等〕

Domainlayer〔域层〕

(1)业务对象以及业务关系的表示

(2)处理简单的业务逻辑

(3)域层的对象可以穿越表示层,业务层,持久层

软件分层构造使得代码维护非常便,设计明确,各层独立,专注自己擅长的领域。

五、什么是OOP?

OOP相对于面向过程编程有哪些优点?

OOP,Object-OrientedProgramming,面向对象编程不同于面向过程编程:

〔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慢,因为它是同步的。

八、请问abstractclass和interface有什么区别?

1)接口没有任的实现,而抽象类它可以有局部的实现也可以没有;

2)如果需要复用或者共享局部代码,应该用抽象类而不是接口;

3)继承无法解决类型的转换问题,接口就是为了解决这一问题而产生的(Java的单继承是接口产生的根本原因)接口是一种抽象的第三规,跟对象没什么直接关系。

九、请问软件开发中的设计模式你会使用哪些?

我熟悉的设计模式有单例模式,DAO模式,模板法,工厂模式,委托代理模式,MVC模式等。

Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。

Singleton模式一般形式:

定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance法获取对它的引用,继而调用其中的法。

十、类的核心特性有哪些?

类具有封装性、继承性和多态性。

封装性:

类的封装性为类的成员提供公有、缺省、保护和私有等多级访问权限,目的是隐藏类中的私有变量和类中法的实现细节。

继承性:

类的继承性提供从已存在的类创立新类的机制,继承〔inheritance〕使一个新类自动拥有被继承类〔父类〕的全部成员。

多态性:

类的多态性提供类中法执行的多样性,多态性有两种表现形式:

重载和覆盖。

十一、请问类与对象有什么区别?

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

对象

在面向对象概念中,对象〔Object〕是类的实例〔instance〕。

对象与类的关系就像变量与数据类型的关系一样。

十二、写出生产者消费者模型的实现

十三、用软件工程和Java来表达购物车〔shoppingcart〕系统实现

十四、文件系统的几个类:

FileInputStream、FileOutputStream、FileReader、FileWriter的区别

十五、请写出JavaAPI中最常用的五个包,并且各举两个类加以说明。

十六、请问你在“电信运营支撑系统〞中遇到了哪些问题?

你是怎么解决的?

做这个工程你最大的收获是什么?

十七、请说出几个常用的异常类

NullpointException〔空指针异常〕

ClassNotFoundException〔类找不到异常〕

ClassCastException〔类型转换异常〕

IllegalArgumentException〔非法参数异常〕

ArithmeticException〔算术异常〕

NumberFormatException〔数据格式异常〕

IndexOutOfBoundsException〔数组下标越界异常〕

IllegalStateException〔非法语句异常〕

十八、什么是进程和线程?

两者的区别是什么?

十九、请简要描述一下你做的ShoppingCart工程。

二十、请问网络7层协议,tcp/ip4层协议是什么?

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

当前位置:首页 > 党团工作 > 思想汇报心得体会

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1