软件开发工程师笔试题(答案)_第1页
软件开发工程师笔试题(答案)_第2页
软件开发工程师笔试题(答案)_第3页
软件开发工程师笔试题(答案)_第4页
软件开发工程师笔试题(答案)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

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

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

3、类重写.应该使用( )关键字来声明父类的这些方法:A) final B) static C) abstract D) void2.在JAVA中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是( )。A) interface A extend B,C B) interface A implements B,CC) class A implements B,C D) class A implements B, implements C3.在JAVA接口中可以定义( )。A) 静态方法 B) 常量 C) 构造方法 D) 抽象方法4.假设A有构造方法A (int a),则在类A的

4、其他构造方法中调用该构造方法和语句格式应为( )。A) 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) Statement B)

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

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

7、下面正确的创建 Socket 的语句是( )。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容器遇到开始定制标签和结束定制

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

9、先调用子类自己的构造函数,然后调用父 类的构造函数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表中选择记录的以下代码片段,识别其遗漏的代码行。( )Connection con = null:Class. forName("s

10、un.jdbc.odbc.JdbcOdbcDriver"):con=DriverManager.getConnection("jdbc:odbc:ss" , "sa" , "");ResultSet rs=stat.executeQuery("select * from Employee");A) Statement stat=createStatement();B) Statement stat=con.createStatement ();C) PreparedStatement stat=con.c

11、reateStatement():D) PreparedStatement stat=createPreparedStatement(); 三、问答题(本大题6小题,共40分)。1.请说出 ArrayList , Vector , LinkedList 的存储性能和特性。(6分)2.什么是单例模式(Singleton) ? 请在下面写出一个单例模式类,并支持多线程调用。(6分)3.请描述一下JVM加载class文件的原理机制?(6分)4.请谈谈对SQL注入的理解,请给出你知道的防止SQL注入的方法。(6分)5.请谈谈对Hibernate的理解,并简要叙述Hibernate的一级缓存和二级缓存(

12、8分)。6.请写出你知道的排序方法,并使用Java语言写出其中一种。(8分)答案 :一、填空题1.封装 、 继承 、 多态 2.unicode 23.定义 调用4.application session5.Seralizabe 6.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三、简

13、答题(参考答案)1. ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。2. 创建某类对象时,无论创建多少次该类对象只有一份在内存中,这就是单例模式。支持多线程调用,考虑线程安全,只需要加锁即可。pub

14、lic class Singletonprivate static Singleton instance = null;private Singleton()private static synchronized void syncInit()if(instance = null)instance = new Singleton();public static Singleton getInstance()if(instance = n

15、ull)syncInit();return instance;3. JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。4.解决办法:a. 利用Javascript,在客户端进行校验。 b.程序判断   c.使用PreparedStatement连接数据库。(参数化) d.利用框架技术5. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernat

16、e可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。一级缓存就是Session级别的缓存,一个Session做了一个查询操作,它会把这个操作的结果放在一级缓存中,如果短时间内这个session(一定要同一个session)又做了同一个操作,那么hibernate直接从一级缓存中拿,而不会再去连数据库,取数据;二级缓存就是SessionFactory级别的缓存,顾名思义,就是查询的时候会把查询结果缓存到二级缓存中,如果同一个sessionFactory创建的某个session执行了相同的操作,hibernate就会从二级缓存中拿

17、结果,而不会再去连接数据库;6.插入排序、希尔排序、冒泡排序、快速排序、直接排序、归并排序下面以快速排序为例:1. public class quickSort 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. public quickSort() 5. quick(a); 6. for(int i=0;i<a.length;i+) 7. System.out.println(ai); 8. 9. 10. public int getMiddle

18、(int list, int low, int high) 11. int tmp =listlow; /数组的第一个作为中轴 12. while (low < high) 13. while (low < high&& listhigh >= tmp) 14. high-; 15. 16. 17. listlow =listhigh; /比中轴小的记录移到低端 18. while (low < high&& listlow <= tmp) 19. low+; 20. 21. 22. listhigh =listlow; /比中轴大的记录移到高端 23. 24. listlow = tmp; /中轴记录到尾 25. return low; /返回中轴的位置 26. 27. 28. public void _quickSort(int list, int low, int high) 29. if (low < hig

温馨提示

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

评论

0/150

提交评论