开发人员笔试题
开发人员笔试题
开发人员笔试题大家去面试的时候相信都会做过一些。下面是我整理的开发人员笔试题,欢迎大家阅读。
开发人员笔试题一
一、填空题(本大题10小题,每空1分,共20分) 。
1Java语言的三大特性即是、、
2在Java中,char 型采用____unicode_______编码方案,这样,无论是中文字符还是英文字符,都是占用__2___个字节的内存空间。
3 形式参数指的是方法被__定义____ 时的参数行,实际参数是方法被__调用___ 时所传递进去的变量或值。
4JSP
对象则是每个客户专用的。
接口 。
6程序中实现多线程的方法有两种:继承Thread类和实现
接口。
对优先级。
8面向对象编程的五大设计原则,分别是、 、、
9通过Ajax,客户端获取的数据主要有两种类型:文本型和 10 Socket通常也称为套接字 ,用于描述 和
二、选择题(本大题 20 小题,每小题2分共40分)。
1在JAVA中,如果父类中某些方法不包含任何逻辑,并且需要由子类重写应该使用( )关键字来声明父类的这些方法:
A) final B) static C) abstract D) void
2在JAVA中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是( )。
A) interface A extend B,C B) interface A implements B,C
C) class A implements B,C D) class A implements B, implements C
3在JAVA接口中可以定义( )。
A) 静态方法 B) 常量 C) 构造方法 D) 抽象方法
4假设A有构造方法A (int a),则在类A的其他构造方法中调用该构造方法和语句格式应为( )。
A) A(X) B) thisA(x) C) this(x) D) super(x)
5设 x = 1 ,y = 2 , z = 3, 则表达式 y+=z--/++x 的值是( )。
A) 3 B) 35 C) 4 D) 5
6下列关于继承的说法哪个正确( )。
A)子类只继承父类public方法和属性:
B)子类继承父类的非私有属性和方法:
C)子类继承父类的方法,而不继承父类的属性:
D) 子类将继承的所有的属性和方法
7在java中在使用JDBC时。对于多次调用同一条SQL语句的情况, 使用( )通常会提高效。
A) Statement B) CallableStatement
C) PreparedStatement D) PrarmeterStatement
8下列不能控制一个Servlet的生命周期方的法是:
A) service B) destroy C) doPost D) init
9能够给一个byte型变量赋值的范围是( )。
A) 0~65535 B) (-128)~127
C)(-32, 768)~32, 767 D) (-256)~255
10java语言中int类型数据占用多少位( )。
A) 32 B) 64 C) 16 D) 20
11 ServletContext对象是如何创建的( )。
A) 由 Servlet容器创建,对于每个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) SortedSet
14 下面正确的创建 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容器遇到开始定制标签和结束定制标签时,分别调用 doInitBody方法和doAfterBody方法。
D) 动作只在翻译时处理一次。
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表中选择记录的'以下代码片段,识别其遗漏的代码行。( ) Connection con = null:
Class forName("sunjdbcodbcJdbcOdbcDriver"):
con=DriverManagergetConnection("jdbc:odbc:ss" , "sa" , "");
ResultSet rs=statexecuteQuery("select from Employee");
A) Statement stat=createStatement();
B) Statement stat=concreateStatement ();
C) PreparedStatement stat=concreateStatement():
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的一级缓存和二级缓存(8分)。
6请写出你知道的排序方法,并使用Java语言写出其中一种。(8分)
三、简答题(参考答案)
1 ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
2 创建某类对象时,无论创建多少次该类对象只有一份在内存中,这就是单例模式。支持多线程调用,考虑线程安全,只需要加锁即可。
public class Singleton{
private static Singleton instance = null;
private Singleton(){}
private static synchronized void syncInit(){
if(instance == null){
instance = new Singleton();
}
}
public static Singleton getInstance(){
if(instance == null){
syncInit();
}
return instance;
}
}
3 JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader是一个重要的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插入排序、希尔排序、冒泡排序、快速排序、直接排序、归并排序 下面以快速排序为例:
public class quickSort {
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};
public quickSort(){
quick(a);
for(int i=0;i
Systemoutprintln(a[i]);
}
}
public int getMiddle(int[] list, int low, int high) {
int tmp =list[low]; //数组的第一个作为中轴
while (low < high){
while (low < high&& list[high] >= tmp) {
high--;
}
list[low] =list[high]; //比中轴小的记录移到低端
while (low < high&& list[low] <= tmp) {
low++;
}
list[high] =list[low]; //比中轴大的记录移到高端
}
list[low] = tmp; //中轴记录到尾
return low; //返回中轴的位置
}
public void _quickSort(int[] list, int low, int high) {
if (low < high){
int middle =getMiddle(list, low, high); //将list 数组进行一分为二
_quickSort(list, low, middle - 1); //对低字表进行递归排序
_quickSort(list,middle + 1, high); //对高字表进行递归排序
}
}
public void quick(int[] a2) {
if (a2length > 0) { //查看数组是否为空
_quickSort(a2,0, a2length - 1);
}
}
}
开发人员笔试题二1、简述 private、 protected、 public、 internal 修饰符的访问权限。
2、列举ASPNET 页面之间传递值的几种方式。
5、如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、
Cookie、Application,您有几种方法进行处理
6、什么是装箱和拆箱
8、ASPnet的身份验证方式有哪些分别是什么原理
9、在C#中,string str = null 与 string str = “” 请尽量使用文字或图
象说明其中的区别。
10、SQLSERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,
ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句 SQL语句获得最后更新的事务号
11、写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。
12、能用foreach遍历访问的对象需要实现 ________________接口或声明
________________方法的类型。
14、接口是否可继承接口 抽象类是否可实现(implements)接口 抽象类是否可
继承实体类(concrete class)
15、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后
16、如何处理几十万条并发数据
17、Session有什么重大BUG,微软提出了什么方法加以解决
18、向服务器发送请求有几种方式
19、DataReader与Dataset有什么区别
20、需要实现对一个字符串的处理,首先将该字符串首尾的空格去掉,如果字符串中
间还有连续空格的话,仅保留一个空格,即允许字符串中间有多个空格,但连续的空 格数不可超过一个
21、什么叫做SQL注入,如何防止请举例说明。
22、ADOnet中常用的对象有哪些分别描述一下。
23、什么是SOAP,有哪些应用
25、float f=-123567F; int i=(int)f;i的值现在是_____
26、使用过那几种框架数据持久层框架,业务层框架。
0条评论