2014年中信java笔试题

更新时间:2023-10-29 16:40:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2014年中信java笔试题

一、选择题(每题2分,共20分)

1. 以知如下定义:String s=”citic bank”;下面哪个表达式是不合法的?(B ) A.s+=”bank” B. char c=s[1]

C. int len=s.length() D. String t=s.toLowerCase()

2. JAVA的字符类型采用的是Unicode编码方案,每个Unicode码占用(B )比特位 A.8 B.16 C.32 D.64

3. 欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?(B) A. ArrayList myList = new Object() B. List myList = new ArrayList() C. ArrayList myList =new List()

D. List myList = new List()

4. 以下关于继承的叙述正确的是(A ) A.在JAVA中类只允许单一继承 B.在JAVA中一个类只能实现一个接口

C.在JAVA中一个类不能同时继承一个类和实现一个接口 D.在JAVA中接口只允许单一继承

5. 阅读Shape和Circle两个类的定义。在序列化一个Circle的对象circle到文件时,下面哪个字段会被保存到文件中?(B )

class Shape{

public String name; }

class Circle extends Shape implements Serializable{ private float radius; transient int color;

public static String type = “Circle”; }

A. name B. radius C. color D. type

6. JAVA的集合框架中重要的接口java.util.Collection定义了许多方法,选项中哪个方法不是Collection接口所定义的?( C) A. int size()

B. boolean containsAll(Collection c) C. compareTo(Object obj) D. boolean remove(Object obj)

7. 有如下程序段: int a=b=5;

String s1=”祝你今天考出好成绩!”; String s2=”祝你今天考出好成绩!”;

则表达式a==b与s2==s1的结果分别为(A )。 A. true与true B. false与true C. true与false D. false与false

8. 下列说法正确的有(C ) A. class中的constructor不可省略

B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D. 一个class只能定义一个constructor

9. 下列说法错误的有(ACD ) A.在类方法中可用this来调用本类的类方法 B.在类方法中调用本类的类方法时可直接调用 C.在类方法中只能调用本类中的类方法 D.在类方法中绝对不能调用实例方法

10.关于异常处理机制的叙述哪些正确( BC) A.catch部分捕捉到异常情况时,才会执行finally部分 B.当try区段的程序发生异常时,才会执行catch区段的程序 C.不论程序是否发生错误及捕捉到异常情况,都会执行finally部分 D. 以上都是

二、问答题(每题5分,共50分)

1. 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?

对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是”可达的”,哪些对象是”不可达的”。当GC确定一些对象为”不可达”时,GC就有责任回收这些内存空间。可以。程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。

2. 说出 ArrayList,Vector, LinkedList的存储性能和特性 3.下面的代码哪里需要优化,优化的原因?写出你优化后的代码。

For(int i=0;i<1000;i++){

Object object = new Object();

System.out.println(“object name is”+object); }

4. JAVA中实现多态的机制是什么?

方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。

5.请写出java中socket的连接和建立的原理。 6. xml有哪些解析技术?区别是什么? 答:有DOM,SAX,STAX等

DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML

的顺序访问

STAX:Streaming API for XML (StAX)

7.数字签名和加密的原理及区别?

数字签名使用的是发送方的密钥对,发送方用自己的私有密钥进行加密,接收方用发送方的公开密钥进行解密,这是一个一对多的关系,任何拥有发送方公开密钥的人都可以验证数字签名的正确性。数字加密则使用的是接收方的密钥对,这是多对一的关系,任何知道接收方公开密钥的人都可以向接收方发送加密信息,只有唯一拥有接收方私有密钥的人才能对信息解密。另外,数字签名只采用了非对称密钥加密算法,它能保证发送信息的完整性、身份认证和不可否认性,而数字加密采用了对称密钥加密算法和非对称密钥加密算法相结合的方法。

8.何为数据库“事务处理”,谈谈你对它的理解。

9.Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?

10.用一条SQL语句查询出每门课都大于80分的学生姓名,表格式如下,表名为score name course mark 张三 语文 81 张三 数学 75 李四 语文 76 李四 数学 90 王五 语文 81 王五 数学 100 王五 英语 90

select code,name from t_score a

where not exists(select 1 from t_score b where b.code=a.code and b.score<=80) group by a.code,a.name

5.编程题(每题10分,共20分)

1.编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汗DEF”,6,应该输出为“我ABC”而不是“我ABC+汉字的半个”。

2. 使用两种方法编写多线程环境下的Singleton模式,并比较这两种方法。 6. 设计题(二选一,共10分)

1.请设计综合对帐单里的一个显示模块,此模块功能是获取数据库里的数据,在界面上进行显示,显示格式可以有表格、柱形、饼状等形式,当数据库里的数据改变时,这些显示形式会立即改变,同时可以在这些显示形式上更改数据后,数据库里的数据会立即更改并且其他显示形式也需要立即改变,要求选用合适的设计模式,画出UML图。

2. 一家银行的电子银行各个子系统是相互独立的,比如手机银行和网络银行,为了以后更好的发展,银行决定对这些子系统进行整合,现在请你设计一套登陆系统,要求如下:各个子系统具体登陆过程不一样,如手机银行不需要证书,仅仅需要用户名和密码即可,而网络银行需要UKEY或者文件证书,但登陆流程都是一致的,首先对用户进行验证,验证通过后,显示欢迎界面。登陆系统能够很方便的接入更多的电子银行的形式。要求选用合适的设计模式,画出UML图和系统框架图。

本文来源:https://www.bwwdw.com/article/5nm2.html

Top