Java软件开发工程师笔试题剖析_第1页
Java软件开发工程师笔试题剖析_第2页
Java软件开发工程师笔试题剖析_第3页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java工程师笔试题一、填空题(本大题10小题海空1分,共20分)。1. Java语言的三大特性即是:继承 、 封装 、 多态 。2. 在Java中,char型采用uni code 码方案,这样,无论是中文字符还是英文字符,都是占用_2个字节的内存空间。3. 形式参数指的是方法被定义 时的参数行,实际参数是方法被调用_时所传递进去的变量或值。4. JSP内置对象中,application对象是 代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息,而 session对象则是每个客户专用的。5. 如果想把一个对象写入一个流,那么这个类就必须实现Seralizable

2、 接口。6. 程序中实现多线程的方法有两种:继承Thread类和实现_Runable _ 接 口。7. 多线程中,可以通过调用相应的setPriority()方法来修改一个线程的相对优先级。8. 面向对象编程的五大设计原则,分别是单一职责、 开放封闭、里氏替换、 、接口分离9. 通过Ajax,客户端获取的数据主要有两种类型:文本型和xml10. Socket通常也称为套接字 ,用于描述 _ ip 和接口二、选择题(本大题20小题,每小题2分共40分)。1. 在JAVA中,如果父类中某些方法不包含任何逻辑,并且需要由子类重写应该 使用()关键字来声明父类的这些方法:A)final B) stat

3、ic C) abstract D) void2. 在JAVA中,已定义两个接口 B和C,要定义一个实现这两个接口的类,以下语 句正确的是()。A) in terface A exte nd B,CB) in terface A impleme nts B,CC) class A impleme nts B,C D) class A impleme nts B, impleme nts C3. 在 JAVA 接口中可以定义 ( )A) 静态方法 B) 常量 C) 构造方法 D) 抽象方法4. 假设A有构造方法A (int a),则在类A的其他构造方法中调用该构造方法和语 句格式应为( )。A)

4、A(X) B) this.A(x) C) this(x) D) super(x)5. 设 x = 1 ,y = 2 , z = 3, 则表达式 y+=z-/+x 的值是()。A) 3 B) 3.5 C) 4 D) 56下列关于继承的说法哪个正确 ?( )。A) 子类只继承父类public方法和属性:B) 子类继承父类的非私有属性和方法:C) 子类继承父类的方法,而不继承父类的属性:D) 子类将继承的所有的属性和方法 .7. 在java中.在使用JDBC时。对于多次调用同一条SQL语句的情况,使用() 通常会提高效。A) StatementB) CallableStatementC) Prepa

5、redStatementD) PrarmeterStatement8. 下列不能控制一个Servlet的生命周期方的法是:A) service B) destroy C) doPost D) init9. 能够给一个 byte 型变量赋值的范围是 ()。A) 0 65535B) (-128)127C) (-32, 768)32, 767D) (-256)25510. java语言中int类型数据占用多少位?()。A) 32 B) 64 C) 16 D) 2011. ServletContext对象是如何创建的?()。A) 由Servlet容器创建,对于每个 HTTP请求.Servlet容器都会

6、创建 一个 ServletCo ntext 对象B) 由JavaWeb应用本身为自己创建一个 ServletContext对象C) 由Servlet容器创建,对于每个 JaveWeb应用,在启动时,Servlet容器都会创 建一个 ServletC on text 对象12. 在JSP中不能在不同用户之间共享数据的方法是()A) 通过 cookieB) 利用文件系统C) 利用数据库D) 通过 ServletContext 对象13. 以下哪个不是 Collection 的子接口 ?()。A) List B) Set C) Map D) SortedSet14. 下面正确的创建 Socket 的

7、语句是 ()。A) Socket a = new Soeket(80):B) Socket b = new Socket(130. 3. 4. 5, 80):C) ServerSocket c = new Socket(80)D) ServerSocket d = new Socket (130. 3. 4, 5, 80)15. 下面的说法正确的是 ()。A) 带有页作用域的对象在一个 web应用程序的每个JSP中都存在.B) 指令指定与一个特定的JSP请求不相关的全局信息。C) 当JSP容器遇到开始定制标签和结束定制标签时,分别调用 doInitBody 方法和 doAfterBody 方法

8、。D) 动作只在翻译时处理一次。16. 为了区分重载多态中同名的不同方法 ,要求 :()。A)参数名不同B)采用不同的形式参数列表C)返回值类型不同D)选项A, B, C都对17. 下面是有关子类调用父类构造函数的描述正确的是:()。A) 子类定义了自己的构造函数.就不会调用父类的构造函数B) 子类必须通过Super关键字调用父类有参数的构造函数先调用子类类的构造C) 如果子类的构造没有通过super调用父类构造函数,那么子类会 自己的构造函数,再调用父类不含参数的构造函数。D) 创建子类的对象时,先调用子类自己的构造函数,然后调用父 函数18. 在Java中,负责对字节代码解释执行的是()。

9、A) 垃圾回收器 B) 虚拟机 C) 编译器 D) 多线程机制19. 一个java程序运行从上到下的环境次序是()。A) 操作系统、Java程序、jre/jvm、硬件B) jre/jvm、Java程序、硬件、操作系统C) java 程序、 jre/jvm 、操作系统、硬件D) java程序、操作系统、jre/jvm、硬件20对于从Employee表中选择记录的以下代码片段,识别其遗漏的代码行。() Connection con = null:Class. forName(sun.jdbc.odbc.JdbcOdbcDriver): con=DriverManager.getConnection

10、(jdbc:odbc:ss , sa , );ResultSet rs=stat.executeQuery(select * from Employee);A) Statement stat=createStatement();B) Statement stat=con.createStatement ();C) PreparedStatement stat=con.createStatement():D) PreparedStatement stat=createPreparedStatement();三、问答题 (本大题 6 小题,共 40分)。1. 请说出 ArrayList , Vec

11、tor , LinkedList 的存储性能和特性。 (6 分)2. 什么是单例模式 (Singleton) ? 请在下面写出一个单例模式类,并支持多线程调 用。( 6 分)3. 请描述一下JVM加载class文件的原理机制?(6分)4. 请谈谈对SQL注入的理解,请给出你知道的防止SQL注入的方法。(6分)5. 请谈谈对Hibernate的理解,并简要叙述Hibernate的一级缓存和二级缓存(8分)。6. 请写出你知道的排序方法,并使用Java语言写出其中一种。(8分) 答案 :一、填空题1. 封装 、 继承 、 多态2. unicode 23. 定义 调用4. application s

12、ession5.Seralizabe6. runnable7. setPriority()8. 单一职责原则(SRP)、开放封闭原则(OCP)、里氏替换原则(LSP)、依赖倒 置原则(DIP)、接口隔离原则(ISP)9. xml10.IP地址接口二、选择题1. C2. C3. BD4. C5. A6. B7. C8. C9. B10. A11. C12. A13. C14. C15. D16. B17. B18. B19. C20. B三、简答题(参考答案)1. ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引

13、元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了 synchronized方法(线程安全),通常性能上较 ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进 行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。2. 创建某类对象时,无论创建多少次该类对象只有一份在内存中,这就是单例 模式。支持多线程调用,考虑线程安全,只需要加锁即可。public class Sin glet onprivate static Sin glet on in sta nee = n ull;privat

14、e Si nglet on()private static synchroni zed void syncln it()if(in sta nee = nu ll)in sta nee = new Sin gleto n();public static Sin glet on get In sta nce()if(in sta nee = nu ll)synclni t();return in sta nee;3. JVM中类的装载是由ClassLoader和它的子类来实现的 Java ClassLoade是一 个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。4. 解决办法

15、:a.利用Javascript,在客户端进行校验。b.程序判断e使用PreparedStatemen连接数据库。(参数化)d.利用框架技术5. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数 据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程 序使用,也可以在 Servlet/JSP的Web应用中使用。一级缓存就是Session级别的缓存,一个Session做了一个查询操作,它会把这 个操作的结果放在一级缓存中,如果短时间内这个session (定要同一个s

16、ession又做了同一个操作,那么hibernate直接从一级缓存中拿,而不会再去连数据库,取数据;二级缓存就是SessionFactory级别的缓存,顾名思义,就是查询的时候会把查询 结果缓存到二级缓存中,如果同一个 sessio nFactory创建的某个session执行了相同的操作,hibernate就会从二级缓存中拿结果,而 不会再去连接数据库;6. 插入排序、希尔排序、冒泡排序、快速排序、直接排序、归并排序下面以快速排序为例:1. public class quickSort 2.2. in ta=49,38,65,97,76,13,27,49,78,34,12,64,5,4,62

17、,99,98,54,56,17,18,23,34,15,35,25,53,51;3. public quickSort()4. quick(a);5. for(int i=0;ia.length;i+)6. System.out.pri ntln( ai);7. 8. 9. public int getMiddle(int list, int low, int high) 10. int tmp =listlow;数组的第一个作为中轴11. while (low high)12. while (low = tmp) 13. high-;14. 16.15. listlow =listhigh;/比中轴小的记录移到低端16. while (low high&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论