java程序员面试笔试试题
2023-08-11
Java程序员笔试题
一、单项选择题(共10题,每题2分,共20分)
1. 下列说法哪一个是正确的。( B )
A.Java程序经编译后会产生machine code
B.Java程序经编译后会产生byte code
C.Java程序经编译后会产生DLL
D.以上都不正确
2. 提供Java存取数据库能力的包是。( A )
A.java.sql B.java.awt C.java.lang D.java.swing
3. 执行如下程序代码后,C的值是。( C )
a=0;c=0;
do
--c;
a=a-1;
while(a>0);
A.0 B.1 C.-1 D.死循环
4. 下面的语句中正确的表达式为。( C )
A.byte b = 128;
B.boolean n = null;
C.double d = 0.9239d;
D.float f = 0.9239;
5. 将一个十六进制值赋给一个long型变量的正确写法为。( D )
A.long number = 345L;
B.long number = 0345;
C.long number = 0345L;
D.long number = 0x345L;
6. 以下程序代码的输出是。( B )
public class test (
public static void main (String args[]) (
System.out.printIn (6 ^ 3);
)
)
A.3 B.5 C.6 D.11
7. 以下程序代码的输出是。(E )
public class test (
private static int j = 0;
private static boolean methodB(int k) (
j += k;
return true;
)
public static void methodA(int i)
boolean b:
b = i < 10 | methodB (4);
b = i < 10 || methodB (8);
)
public static void main (String args[] (
methodA (0);
system.out.printIn(j);
)
)
A.0 B.4 C.8 D.12 E.不能编译通过
8. 以下程序代码的输出是。( A)
public class test
public static void add3 (Integer i)
int val = i.intValue ( );
val += 3;
i = new Integer (val);
public static void main (String args [ ] )
Integer i = new Integer (0);
add3 (i);
system.out.printIn (i.intValue ( ) );
)
A.编译失败 B.编译成功但在第三行会出现异常 C.0 D.3
9. 以下程序代码执行后,哪个说法正确?( B )
int index = 1;
boolean[] test = new Boolean[3];
boolean foo= test [index];
A.有异常抛出。
B.无法编译。
C.foo的值是0。
D.foo的值是null。
E.foo的值是true。
F.foo的值是false。
10. 以下哪个类是swt包中的。( D )
A.MessageBox B.MessageDialog C.JDialog D.DisplayMode
二、多项选择题(共5题,每题4分,共20分)
1. 在下面的选项中合法的标识符有。( ADEF )
A._ok
B.*point
C.this
D.$byte
E.const
F.ILikeJLCSS
2. 下面的选项中哪些不是java的关键字。( AB D )
A.TRUE
B.sizeof
C.goto
D.const
E.super
F.void
3. 下面的叙述中正确的有。( AC )
A. 环境变量可在编译source code时指定。
B. 在编译程序时,所能指定的环境变量不包括class path。
C. javac一次可同时编译数个Java源文件。
D. javac.exe能指定编译结果要置于哪个目录(directory)。
4. 下面的叙述中正确的有。( C )
A.equals()方法判定引用值是否指向同一对象。
B.= = 操作符判定两个分立的对象的.内容和类型是否一致。
C.equals()方法只有在两个对象的内容一致时返回true。
D.类File重写方法equals()在两个分立的对象的内容和类型一致时返回true。
5. 下面有关变量及其作用域的陈述哪些是对的。( A C )
A. 在方法里面定义的局部变量在方法退出的时候被撤销。
B. 局部变量也叫自动变量。
C. 在方法外面定义的变量(译注:即实例变量)在对象被构造时创建。
D. 在方法中定义的方法的参变量只要该对象被需要就一直存在。
三、简答题(共7题,共40分)
1. 请写出一个输出“Hello World!” 的程序。(3分)
答:public Class Hello World
Public static void main(String[]args)
System.out.println(“HELLO WOTLD”);
2. char型变量中能不能存贮一个中文汉字? 为什么? (3分)
答:能存储一个汉字;因为它能存储四个字节而每个汉字只占两个字节。
3. 常见的两种xml解析技术是什么? 区别是什么? (4分)
答:常见的两种有:SAX和DOM。
区别:SAX 是一种事件驱动的xml解析方式。每次访问一个xml文件中的某个节点的时候,sax就会搜索一遍xml文件,在找到相应的节点后就会触发一个事件来处理请求。只读
DOM是一种基于树状的查找方式。DOM会将xml解析成一棵树,存在内存中。开发者可以通过查找树的节点来取得文件的内容或者修改内容。可读写
4. MVC是什么,如何实现? (5分)
答:MVC是一个是一个设计模式,它强制性的使应用程序的输入,处理和输出分开。使用MVC应用程序被分为三个核心部件:M----------MODO模型,V ----------VIEW 试图,C --------- Contral控制
实现:首先有页面(jsp)发送请求给控制器(servlet),然后由控制器接收用户的请求,并决定应该调用哪个模型(javabean)来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层显示给用户。
5. .J2EE是什么?(6分)
答:J2EE 是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型 (enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。
6. jsp有哪些内置对象?作用分别是什么? (9分)
答:1.request 用户端请求,此请求会包含来自GET/POST请求的参数;2.response 网页传回用户端的回应;3.pageContext 网页的属性是在这里管理;4.session 与请求有关的会话期;5.application servlet 正在执行的内容;6.out 用来传送回应的输出;7.config servlet的构架部件;8.page JSP网页本身;9.exception 针对错误网页,未捕捉的例外
7. 作用域public,private,protected,以及不写时的区别 ?(10分)
答:作用域 当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
不写时默认为friendly
四、编码及论述题(共2题,每题10分,共20分)
1. 什么是Singleton,它的作用是什么,它有几种形式?请用代码写出一个Singleton类。
答:Java Singleton 模式用来保证在运行的应用程序中,一个Class只是实例化一次,也就是只有一个相应的对象存在。
它有三种形式
public class Singleton
private static Singleton instance = null;
public static synchronized Singleton getInstance()
if (instance==null)
instance=new Singleton();
return instance;
2. 在Struts + Spring + Hibernate的组合框架模式中,三者各自的特点都是什么?
答:Strtus WEB层 Spring是业务层 Hiebenate是持久化层