Java软件开发工程师笔试题答案精编.docx
- 文档编号:19070446
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:9
- 大小:19.51KB
Java软件开发工程师笔试题答案精编.docx
《Java软件开发工程师笔试题答案精编.docx》由会员分享,可在线阅读,更多相关《Java软件开发工程师笔试题答案精编.docx(9页珍藏版)》请在冰豆网上搜索。
Java软件开发工程师笔试题答案精编
Documentnumber:
WTT-LKK-GBB-08921-EIGG-22986
Java软件开发工程师笔试题答案精编
Java工程师笔试题
一、填空题(本大题10小题,每空1分,共20分)。
语言的三大特性即是:
继承、封装、多态。
2.在Java中,char型采用____unicode_______编码方案,这样,无论是中文字符还是英文字符,都是占用__2___个字节的内存空间。
3.形式参数指的是方法被__定义____时的参数行,实际参数是方法被__调用___时所传递进去的变量或值。
内置对象中,application对象是代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息,而session对象则是每个客户专用的。
5.如果想把一个对象写入一个流,那么这个类就必须实现Seralizable接口。
6.程序中实现多线程的方法有两种:
继承Thread类和实现___Runable_接口。
7.多线程中,可以通过调用相应的setPriority()方法来修改一个线程的相对优先级。
8.面向对象编程的五大设计原则,分别是单一职责、开放封闭、
里氏替换、依赖倒置、接口分离
9.通过Ajax,客户端获取的数据主要有两种类型:
文本型和xml
10.Socket通常也称为套接字,用于描述__ip和__接口
二、选择题(本大题20小题,每小题2分.共40分)。
1.在JAVA中,如果父类中某些方法不包含任何逻辑,并且需要由子类重写.应该使用()关键字来声明父类的这些方法:
A)finalB)staticC)abstractD)void
2.在JAVA中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是()。
A)interfaceAextendB,CB)interfaceAimplementsB,C
C)classAimplementsB,CD)classAimplementsB,implementsC
3.在JAVA接口中可以定义()。
A)静态方法B)常量C)构造方法D)抽象方法
4.假设A有构造方法A(inta),则在类A的其他构造方法中调用该构造方法和语句格式应为()。
A)A(X)B)(x)C)this(x)D)super(x)
5.设x=1,y=2,z=3,则表达式y+=z--/++x的值是()。
A)3B)C)4D)5
6.下列关于继承的说法哪个正确()。
A)子类只继承父类public方法和属性:
B)子类继承父类的非私有属性和方法:
C)子类继承父类的方法,而不继承父类的属性:
D)子类将继承的所有的属性和方法.
7.在java中.在使用JDBC时。
对于多次调用同一条SQL语句的情况,使用()通常会提高效。
A)StatementB)CallableStatement
C)PreparedStatementD)PrarmeterStatement
8.下列不能控制一个Servlet的生命周期方的法是:
A)serviceB)destroyC)doPostD)init
9.能够给一个byte型变量赋值的范围是()。
A)0~65535B)(-128)~127
C)(-32,768)~32,767D)(-256)~255
语言中int类型数据占用多少位()。
A)32B)64C)16D)20
11.ServletContext对象是如何创建的()。
A)由Servlet容器创建,对于每个HTTP请求.Servlet容器都会创建一个ServletContext对象
B)由JavaWeb应用本身为自己创建一个ServletContext对象
C)由Servlet容器创建,对于每个JaveWeb应用,在启动时,Servlet容器都会创建一个ServletContext对象
12.在JSP中不能在不同用户之间共享数据的方法是()。
A)通过cookieB)利用文件系统
C)利用数据库D)通过ServletContext对象
13.以下哪个不是Collection的子接口()。
A)ListB)SetC)MapD)SortedSet
14.下面正确的创建Socket的语句是()。
A)Socketa=newSoeket(80):
B)Socketb=newSocket("130.3.4.5",80):
C)ServerSocketc=newSocket(80)
D)ServerSocketd=newSocket("130.3.4,5",80)
15.下面的说法正确的是()。
A)带有页作用域的对象在一个web应用程序的每个JSP中都存在.
B)指令指定与一个特定的JSP请求不相关的全局信息。
C)当JSP容器遇到开始定制标签和结束定制标签时,分别调用doInitBody方法和doAfterBody方法。
D) inclnde>动作只在翻译时处理一次。 16.为了区分重载多态中同名的不同方法,要求: ()。 A)参数名不同B)采用不同的形式参数列表 C)返回值类型不同D)选项A,B,C都对 17.下面是有关子类调用父类构造函数的描述正确的是: ()。 A)子类定义了自己的构造函数.就不会调用父类的构造函数 B)子类必须通过Super关键字调用父类有参数的构造函数 C)如果子类的构造没有通过super调用父类构造函数,那么子类会先调用子类自己的构造函数,再调用父类不含参数的构造函数。 D)创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数 18.在Java中,负责对字节代码解释执行的是()。 A)垃圾回收器B)虚拟机C)编译器D)多线程机制 19.一个java程序运行从上到下的环境次序是()。 A)操作系统、Java程序、jre/jvm、硬件 B)jre/jvm、Java程序、硬件、操作系统 C)java程序、jre/jvm、操作系统、硬件 D)java程序、操作系统、jre/jvm、硬件 20.对于从Employee表中选择记录的以下代码片段,识别其遗漏的代码行。 () Connectioncon=null: Class.forName(""): con=("jdbc: odbc: ss","sa",""); ResultSetrs=("select*fromEmployee"); A)Statementstat=createStatement(); B)Statementstat=(); C)PreparedStatementstat=(): D)PreparedStatementstat=createPreparedStatement(); 三、问答题(本大题6小题,共40分)。 1.请说出ArrayList,Vector,LinkedList的存储性能和特性。 (6分) 2.什么是单例模式(Singleton)请在下面写出一个单例模式类,并支持多线程调用。 (6分) 3.请描述一下JVM加载class文件的原理机制(6分) 4.请谈谈对SQL注入的理解,请给出你知道的防止SQL注入的方法。 (6分) 5.请谈谈对Hibernate的理解,并简要叙述Hibernate的一级缓存和二级缓存(8分)。 6.请写出你知道的排序方法,并使用Java语言写出其中一种。 (8分) 答案: 一、填空题 1.封装、继承、多态 2 3.定义调用 session () 8.单一职责原则(SRP)、开放封闭原则(OCP)、里氏替换原则(LSP)、依赖倒置原则(DIP)、接口隔离原则(ISP) 地址接口 二、选择题 三、简答题(参考答案) 1.ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。 2.创建某类对象时,无论创建多少次该类对象只有一份在内存中,这就是单例模式。 支持多线程调用,考虑线程安全,只需要加锁即可。 publicclassSingleton{ privatestaticSingletoninstance=null; private? Singleton(){} privatestaticsynchronizedvoidsyncInit(){ if(instance==? null){ instance=newSingleton(); } } publicstaticSingletongetInstance(){ if(instance==? null){ syncInit(); } return? instance; } } 3.JVM中类的装载是由ClassLoader和它的子类来实现的,JavaClassLoader是一个重要的Java运行时系统组件。 它负责在运行时查找和装入类文件的类。 4.解决办法: a.利用Javascript,在客户端进行校验。 b.程序判断 c.使用PreparedStatement连接数据库。 (参数化) d.利用框架技术 5.Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。 一级缓存就是Session级别的缓存,一个Session做了一个查询操作,它会把这个操作的结果放在一级缓存中,如果短时间内这个 session(一定要同一个session)又做了同一个操作,那么hibernate直接从一级缓存中拿,而不会再去连数据库,取数据; 二级缓存就是SessionFactory级别的缓存,顾名思义,就是查询的时候会把查询结果缓存到二级缓存中,如果同一个sessionFactory 创建的某个session执行了相同的操作,hibernate就会从二级缓存中拿结果,而不会再去连接数据库; 6.插入排序、希尔排序、冒泡排序、快速排序、直接排序、归并排序 下面以快速排序为例: 1.publicclassquickSort{ 2. 3.inta[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34 15,35,25,53,51}; 4.publicquickSort(){ 5.quick(a); 6.for(inti=0;i<;i++){ 7. 8.} 9.} 10.publicintgetMiddle(int[]list,intlow,inthigh){ 11.inttmp=list[low];while(low 13.while(low 14.high--; 15.} 16. 17.list[low]=list[high];while(low 19.low++; 20.} 21. 22.list[high]=list[low];} 24.list[low]=tmp;returnlow;} 27. 28.publicvoid_quickSort(int[]list,intlow,inthigh){ 29.if(low 30.intmiddle=getMiddle(list,low,high);_quickSort(list,low,middle-1);_quickSort(list,middle+1,high);} 34.} 35. 36.publicvoidquick(int[]a2){ 37.if>0){_quickSort(a2,0,-1); 39.} 40.} 41.}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 软件 开发 工程师 笔试 答案 精编
![提示](https://static.bdocx.com/images/bang_tan.gif)