中科软面试题大集合.docx

上传人:b****8 文档编号:10407003 上传时间:2023-02-11 格式:DOCX 页数:67 大小:68.76KB
下载 相关 举报
中科软面试题大集合.docx_第1页
第1页 / 共67页
中科软面试题大集合.docx_第2页
第2页 / 共67页
中科软面试题大集合.docx_第3页
第3页 / 共67页
中科软面试题大集合.docx_第4页
第4页 / 共67页
中科软面试题大集合.docx_第5页
第5页 / 共67页
点击查看更多>>
下载资源
资源描述

中科软面试题大集合.docx

《中科软面试题大集合.docx》由会员分享,可在线阅读,更多相关《中科软面试题大集合.docx(67页珍藏版)》请在冰豆网上搜索。

中科软面试题大集合.docx

中科软面试题大集合

中科软面试题大集合

1、用String的方法将数据类型转换为String。

2、有一个不定长度的String,其中前面是字母,后边是数字例如:

abcd123.456,

要求写一个方法得到其中的数字以String的形式返回,数字保留

小数点后两位,不四舍五入,截去多余小

数,例如:

abcd123.456,得到123.45

如果数字没有小数点,要得到两位为0的小数,例如:

abcd123,得到123.00.

答案如下:

1、String.valueOf(1.23)

2、publicStringgetString(Stringstr){

StringgetNumber;

getNumber=str.replaceAII([a-z|A-Z],");

if(getNumber.indexOf(.)==-1){

getNumber=getNumber+.00

}else{

if(getNumber.indexOf(.)==getNumber.length()-1){

getNumber=getNumber+00

}elseif(getNumber.indexOf(.)==getNumber.length()-2){

getNumber=getNumber+0

}else{

getNumber=getNumber.substring(O,

getNumber.indexOf(.)+3);

}

}

returngetNumber;

}

1面向对象的特征?

1)对象

对象是运行期的基本实体,它是一个封装了数据和操作这些数据的代码的逻辑实体。

2)类

类是具有相同类型的对象的抽象。

一个对象所包含的所有数据和代码可以通过类来构造。

3)封装

封装是将数据和代码捆绑到一起,避免了外界的干扰和不确定性。

对象的某些数据和代码可以是私有的,

不能被外界访问,以此实现对数据和代码不同级别的访问权限。

4)继承

继承是让某个类型的对象获得另一个类型的对象的特征。

通过继

承可以实现代码的重用:

从已存在的类派

生出的一个新类将自动具有原来那个类的特性,同时,它还可以

拥有自己的新特性。

5)多态

多态是指不同事物具有不同表现形式的能力。

多态机制使具有不

同内部结构的对象可以共享相同的外部接

口,通过这种方式减少代码的复杂度。

6)动态绑定

绑定指的是将一个过程调用与相应代码链接起来的行为。

动态绑

定是指与给定的过程调用相关联的代码只

有在运行期才可知的一种绑定,它是多态实现的具体形式。

7)消息传递

对象之间需要相互沟通,沟通的途径就是对象之间收发信息。

消息内容包括接收消息的对象的标识,需要

调用的函数的标识,以及必要的信息。

消息传递的概念使得对现实世界的描述更容易。

2tomcat的内存的配置?

tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。

Unix下,在文件{tomcat_home}/bin/catalina.sh的前面,增

加如下设置:

JAVA_OPTS二-Xms【初始化内存大小】-Xmx【可以使用的最

大内存】

需要把这个两个参数值调大。

例如:

JAVA_OPTS二-Xms256m-Xmx512m

表示初始化内存为256MB,可以使用的最大内存为512MB

3doGet()和doPost()的区别?

doGet()和doPost()接收两个参数:

HttpServletRequest请求和HttpServletResponse响应。

HTTP协议要么通过在URL中放置参数来向Web服务器传递信息,要么独立于URL传递信息。

第一种称

作GET命令,而第二种称作POST命令。

GET命令的优点是,URL包含了检索请求信息所需的所有信息

因此,可将其加入书签以便将来重新调用。

而POST命令独

立于URL发送附加信息,提供了更好的安

全性。

当需要发送比较大量的信息时,该方法也更为合适。

其缺点就是不能被加入书签。

4常用的标准的sql语句?

增力口:

insertintotbl_emp(name,password,id)

values(yxx,123,12);

删除:

deletefromtbl_empwherename=yxx

查询:

select*fromtbl_empwherename=yxx

更新:

updatetbl_empsetname=xiaoxinwhereid=12;

5string禾口stringbuffer的区另U

它们都是处理字符串的类,但是它们有一个最大的区别,那就

是,String对象是存储你不能改动的文本字符

串相反,如果你希望改动,则应使用StringBuffer类作为替换.

6在jsp页面中如何传递对象

request,session,application,cookie等

7常用的集合类

java.util中的集合类包含Java中某些最常用的类。

最常用的

集合类是List和Map。

List的具体

实现包括ArrayList和Vector,它们是可变大小的列表,比较

适合构建、存储和操作任何类型对象的元

素列表。

List适用于按数值索引访问元素的情形。

Map提供了一个更通用的元素存储方法。

Map集合类用于存

储元素对(称作“键”和“值”),其中每

个键映射到一个值。

从概念上而言,您可以将List看作是具有

数值键的Map。

而实际上,除了List

和Map都在定义java.util中外,两者并没有直接的联系。

本文将着重介绍核心Java发行套件中附带

的Map,同时还将介绍如何采用或实现更适用于您应用程序特定数据的专用Map。

8常出现的异常

9经常使用的包,接口,类请各举出5个

10接口和抽象类的区别

声明方法的存在而不去实现它的类被叫做抽象类(abstract

class),它用于要创建一个体现某些基本行

为的类,并为该类声明方法,但不能在该类中实现该类的情况。

不能创建abstract类的实例。

然而可以

创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。

不能有抽象构造函数或抽象静态

方法。

Abstract类的子类为它们父类中的所有抽象方法提供实

现,否则它们也是抽象类为。

取而代之,

在子类中实现该方法。

知道其行为的其它类可以在类中实现这些方法。

接口(interface)是抽象类的变体。

在接口中,所有方法都是抽象的。

多继承性可通过实现这样的

接口而获得。

接口中的所有方法都是抽象的,没有一个有程序体。

接口只可以定义staticfinal成员变量

接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。

当类实现特殊接口时,它定义(即

将程序体给予)所有这种接口的方法。

然后,它可以在实现了该接口的类的任何对象上调用接口的方法。

由于有抽象类,它允许使用接口名作为引用变量的类型。

通常的

动态联编将生效。

引用可以转换到接口类

型或从接口类型转换,instanceof运算符可以用来决定某对象

的类是否实现了接口

11动态include()和静态include()的区别

12servlet的生命周期(介绍过)

13struts的原理

14数据连接池的原理

连接池允许我们通过一个缓冲池重用现有的连接对象,避免每次使用连接对象时都要新建一个对象。

采用

连接池之后,只要少量的连接对象就可以满足大量客户端的需要。

每一个连接池都与一个独立的连接字符串及其事务上下文关联。

每次打开一个新的连接,数据提供者

会尝试将指定的连接字符串与连接池的字符串进行匹配。

如果匹

配失败,数据提供者创建一个新的连接并

将它加入连接池。

连接池被创建之后,除非进程结束,否则不会被拆除。

有人认为这种处理方式会影响性

能,其实不然,维护一个不活动的或者空的连接池不需要多少开销。

连接池创建之后,系统会创建一些连接对象并将它们加入连接

池,直至达到额定的最小连接对象数量

以后,系统会根据需要新建和加入连接对象,一直到达最大连接对象数量限额为止。

如果程序请求一个

连接对象时没有空闲的连接对象可用,且连接池里面的对象数量已达到上限,则请求被放入队列,一旦有

连接被释放回缓冲池就立即取出使用。

避免用编程的方式构造连接字符串。

如果通过合并多个输入数据的方式构造出连接字符串,很容易给

注入式攻击以可乘之机。

如果必须用到用户输入的数据,务必进行严格的验证。

15j2ee的设计模式

SessionFacadePattern:

使用SessionBean访问EntityBeanMessageFacadePattern:

实现异步调用

EJBCommandPattern:

使用CommandJavaBeans取代SessionBean,实现轻量级访问

DataTransferObjectFactory:

通过DTOFactory简化EntityBean数据提供特性

GenericAttributeAccess:

通过AttibuteAccess接口简化

EntityBean数据提供特性

BusinessInterface:

通过远程(本地)接口和Bean类实现相同接口规范业务逻辑一致性

16线程的同步方法(介绍过)

17四种会话跟踪技术

会话作用域ServletsJSP页面描述

page否是代表与一个页面相关的对象和属性。

一个页面由一个编译好的Javaservlet类(可以带有任何

的include指令,但是没有include动作)表示。

这既包括

servlet又包括被编译成servlet的JSP

页面

request是是代表与Web客户机发出的一个请求相关的对象和属性。

一个请求可能跨越多个页面,涉及多

个Web组件(由于forward指令和inelude动作的关系)

session是是代表与用于某个Web客户机的一个用户体验相

关的对象和属性。

一个Web会话可以也经常

会跨越多个客户机请求

application是是代表与整个Web应用程序相关的对象和属

性。

这实质上是跨越整个Web应用程序,包

括多个页面、请求和会话的一个全局作用域

18解释forwardinclude和redirect的不同

forward与include共亨Request范围内的对象,而redirect则

不行,即:

如果一个javabean被声明为

request范围的话,则被forward到的资源也可以访问这个

javabean,而redriect贝卩不行。

forward与include基本上都是转发到context内部的资源,而

redirect可以重定向到外部的资源,如:

req.sendRedriect();

19jsp的内值对象

request用户端请求,此请求会包含来自GET/POST请求的参

response网页传回用户端的回应

pageContext网页的属性是在这里管理

session与请求有关的会话期

applicationservlet正在执行的内容

out用来传送回应的输出

configservlet的构架部件

pageJSP网页本身

exception针对错误网页,未捕捉的例外

20EJB的角色和三个对象

EJB角色主要包括Bean开发者应用组装者部署者系统管理员EJB容器提供者EJB服务器提供者

三个对象是Remote(Local)接口、Home(LocalHome)接口,Bean类

ArithmeticException,ArrayStoreException,

BufferOverflowException,BufferUnderflowException,

CannotRedoException,CannotUndoException,

ClassCastException,CMMException,

ConcurrentModificationException,DOMException,

EmptyStackException,

IllegalArgumentException,IllegalMonitorStateException,

IllegalPathStateException,

lllegalStateException,

MissingResourceException,

NullPointerException,

RasterFORMatException,SecurityException,

SystemException,

UndeclaredThrowableException,

UnmodifiableSetException,

UnsupportedOperationException

1、jsp有哪些内置对象作用分别是什么

答:

JSP共有以下9种基本内置组件(可与ASP的6种内部组件

相对应):

request用户端请求,此请求会包含来自GET/POST请求的参

response网页传回用户端的回应

pageContext网页的属性是在这里管理

session与请求有关的会话期

applicationservlet正在执行的内容

out用来传送回应的输出

configservlet的构架部件

pageJSP网页本身

exception针对错误网页,未捕捉的例外

2、jsp有哪些动作作用分别是什么

答:

JSP共有以下6种基本动作

jsp:

include:

在页面被请求的时候引入一个文件。

jsp:

useBean:

寻找或者实例化一个JavaBean。

jsp:

setProperty:

设置JavaBean的属性。

jsp:

getProperty:

输出某个JavaBean的属性。

jsp:

forward:

把请求转到一个新的页面。

jsp:

plugin:

根据浏览器类型为Java插件生成OBJECT或

EMBED标记

3、JSP中动态INCLUDE与静态INCLUDE的区别?

答:

动态INCLUDE用jsp:

include动作实现

它总是会检查所含文件中的变化,适合用于包含动态页面,并且

可以带参数

静态INCLUDE用include伪码实现,定不会检查所含文件的变

化,适用于包含静态页面4、两种跳转方式分别是什么有什么区别答:

有两种,分别为:

前者页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面。

执行完后还会回来,相当于函数调用。

并且可以带参数•后者完全转向新页面,不会再回来。

相当于goto语句。

JAVA部分二

1、作用域public,private,protected,以及不写时的区别

答:

区别如下:

作用域当前类同一package子孙类其他package

publicVVVV

protectedVVVx

friendlyVVxx

privateVxxx

不写时默认为friendly

2、ArrayList和Vector的区别,HashMap和Hashtable的区别答:

就ArrayList与Vector主要从二方面来说.

一•同步性:

Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的

二•数据增长:

当需要增长时‘Vector默认增长为原来一培,而

ArrayList却是原来的一半

就HashMap与HashTable主要从三方面来说。

1.历史原因:

Hashtable是基于陈旧的Dictionary类的,HashMap是Java1.2弓I进的Map接口的一个实现

2.同步性:

Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的

3.值:

只有HashMap可以让你将空值作为一个表的条目的key

或value

3、char型变量中能不能存贮一个中文汉字为什么

答:

是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的

4、多线程有几种实现方法,都是什么同步有几种实现方法,都是什么

答:

多线程有两种实现方法,分别是继承Thread类与实现

Runnable接口

同步的实现方面有两种,分别是synchronized,wait与notify

5、继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么

答:

父类:

packagetest;

publicclassFatherClass

{

publicFatherClass()

{

System.out.println(FatherClassCreate);

}

}

子类:

packagetest;

importtest.FatherClass;

publicChildClass()

{

System.out.println(ChildClassCreate);

}

publicstaticvoidmain(String[]args)

{

FatherClassfc=newFatherClass();

ChildClasscc=newChildClass();

}

}

输出结果:

C:

\>javatest.ChildClass

FatherClassCreate

FatherClassCreate

ChildClassCreate

6、内部类的实现方式

答:

示例代码如下:

packagetest;

publicclassOuterClass

{

publicInterClass()

{

System.out.println(InterClassCreate);

}

}

publicOuterClass()

{

InterClassic=newInterClass();

System.out.println(OuterClassCreate);}

publicstaticvoidmain(String[]args)

{

OuterClassoc=newOuterClass();

}

}

输出结果:

C:

\>javatest/OuterClass

InterClassCreate

OuterClassCreate

再一个例题:

privatedoubledi=1.0;

//insertcodehere

}

Youneedtoinsertaninnerclassdeclarationatline3.

Whichtwoinnerclassdeclarationsare

valid(Choosetwo.)

A.classlnnerOne{

publicstaticdoublemethoda(){returnd1;}

}

B.publicclasslnnerOne{

staticdoublemethoda(){returnd1;}

}

C.privateclasslnnerOne{

doublemethoda(){returnd1;}

}

D.staticclasslnnerOne{

protecteddoublemethoda(){returnd1;}

}

E.abstractclasslnnerOne{

publicabstractdoublemethoda();

}

说明如下:

一•静态内部类可以有静态成员,而非静态内部类则不能有静态成员。

故A、B错

二•静态内部类的非静态成员可以访问外部类的静态变量,而不

可访问外部类的非静态变量;returndi出错。

故D错

三•非静态内部类的非静态成员可以访问外部类的非静态变量。

故C正确

四•答案为C、E

SELEVLET部分三

Servlet方面

1、说一说Servlet的生命周期

答:

servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。

这个生存期由javax.servlet.Servlet接口的init,service禾口destroy方法表达。

2、Servlet版本间(忘了问的是哪两个版本了)的不同

希望大家补上,谢谢

3、JAVASERVLETAPI中forward。

与redirect。

的区别?

答:

前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。

这样,从浏览器的地址栏中可以看到跳转后的链接地址。

所以,前者更加高效,在前者可以满足需要时,尽量使用forward。

方法,并且,这样也有助于隐藏实际的链接。

有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使

用sendRedirect()方法。

4、Servlet的基本架构

publicclassServletNameextendsHttpServlet{

publicvoiddoPost(HttpServletRequestrequest,

HttpServletResponseresponse)throws

ServletException,lOException{

}

publicvoiddoGet(HttpServletRequestrequest,

HttpServletResponseresponse)throws

ServletException,lOException{

}

}

1、作用域public,private,protected,以及不写时的区别

答:

区别如下:

作用域当前类同一package子孙类其他package

publicVVVV

protectedVVVx

friendlyVVxx

privateVxxx

不写时默认为friendly

2、ArrayList和Vector的区别,HashMap和Hashtable的区别

答:

就ArrayList与Vector主要从二方面来说.

一•同步性:

Vector是线程安全的,也就是说是同步的,而

ArrayList是线程序不安全的,不是同步的

二•数据增长:

当需要增长时‘Vector默认增长为原来一培,而

Arr

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

当前位置:首页 > 高等教育 > 文学

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

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