当前位置:文档之家› Java程序员笔试试题及答案

Java程序员笔试试题及答案

Java程序员笔试试题及答案
Java程序员笔试试题及答案

Java程序员笔试题

(答题时间60-90分钟,总分100,50分算通过,70分优秀)

姓名:_______________________开始时间:____ : ____

一、基础,(数据结构、操作系统、网络基础、Web等)每题3分,共30分

1.请写正规表达式,数字0-9:_E_,整数:_A_,浮点数:_B_,26个小写英文字母组成的字符串:_G(有

歧义,选择H也可)_(本小题选择)

A、-?\d+

B、(-?\d+)(\.\d+)?

C、\w+

D、^[0-9]*

E、\d

F、\w

G、[a-z]+

H、[a-z]*

I、\d+(\.\d+)?

(有歧义,选择H也可)

2.每1个B类地址能支持__E_(本空选择)个主机地址,192.168.1.100是__C__类地址,202.105.81.1/27

表示的地址范围是:___H__(本空选择)。

A、65536

B、256

C、16777216

D、255

E、65534

F、16777214

G、202.105.81.1 - 202.105.81.27

H、202.105.81.1 - 202.105.81.31 I、202.105.81.1 - 202.105.81.255 J、202.105.81.1 - 202.105.81.127

3.名词解析,内存LRU算法:___最近最少使用算法Least recently used______________________。

4.Linux下的chmod命令功能是___修改文件或目录的访问控制表,设定执行、读、写属性____________。

5.对于

status

,Javascript的oDiv.innerHTML属性是返回_

status

__。

6.html的 经浏览器解析后显示为___空格________,<显示为____<___。

7.什么是线程安全?

答:多线程程序有共享数据,而且有读有写的话,设计者自己采取了同步措施,调用者不需要考虑数据同步问题,则这样的接口是线程安全的,否则不是线程安全的。

8.什么是排序的稳定性?

答:在排序的序列中,存在多个具有相同关键字的记录,经过排序,这些记录对应的相对次序保持不变,这就是排序的稳定性。

__快速________排序是不稳定的,冒泡排序的平均时间复杂度是___O(n2)_____。

9.TCP和UDP的异同,基于TCP和UDP的应用各有哪些?

答:1.TCP是面向连接的,有比较高的可靠性,一些要求比较高的服务一般使用这个协议,如FTP、T elnet、

SMTP、HTTP、POP3等

2. UDP是面向无连接的,使用这个协议的常见服务有DNS、SNMP、QQ等

10、什么是Singleton设计模式?

答:单例模式。在JA V A应用程序中,一个类Class只有一个实例存在。

二、数据库(共20分)

1.请根据以下的要求写出SQL

网站的访问日志表,浏览器每发送一个请求,都会在表中记录,其表结果如下:

a、编写创建Access_Log表的SQL语句:(4分)

create table Access_Log(

id int identity primary key,

access_ip varchar(15),

access_time smalldatetime,

access_url varchar(255),

session_id varchar(255));

b、请统计每一个IP登录的次数和点击的次数,输出列:IP,登录数,点击数:(4分)

select access_ip,count(distinct session_id)as'登录数',count(access_ip)as'点击数'from access_log group by access_ip

c、请找出登录次数超过10次的IP地址,输出列:IP,点击数:(3分)

select access_ip,count(access_ip)as'点击数'from access_log group by access_ip having count(distinct session_id)>10

2.数据库如何存储多对多关系?(3分)

答:通过中间表,存储两个表的键值。

3.数据库如何存储树形结构?(3分)

答:增加一例,例如parentId,指向父结点的键值。

4.游标是什么?(3分)

答:游标是指向查询结果集的一个指针,一般用在数据库的存储过程里。

三、Java 基础(第5题9分,其他每题3分,共30分)

1.需要把字符串“2007-5-15 00:30”转换为java.util.Date对象,匹配的日期模式_ yyyy-MM-dd HH:mm。

2.RMI是___ Remote Method Invocation __________的缩写;

JNDI是___ Java Naming and Directory Interface ______的缩写。

3.请解释下面代码。

Class c = Class.forName("https://www.doczj.com/doc/b56101376.html,ng.String");//作用:_取String 类型的类对象___

Class param[] =new Class[0];

Constructor ctor = c.getConstructor(param); //作用:__取String类型参数类型为param的构造方法___ String string=(String)ctor.newInstance(param); //作用:___通过构造函数创建一个String实例____ System.out.println("string = " + string); //输出:_打印string 的值,输出:string=null_________

4.列出你所知的和Hibernate竞争的持久层框架,和Struts竞争的表示层架构。

答:Hibernate:ibatis

Struts:JSF , TapeStry,webwork,V elocity,FreeMaker(至少写2个)

5.写出你知道的下列Java应用,本题9分,每个1分,答对7个以上(包括7个)算全分:

Email接收与发送:javamail

处理Excel文件:jxl , poi

XML解析:Dom4j,XMLConfiguration 生成报表:JasperReport

生成图表:ChartDir,JFreeChart

输出日志:Log4j extjs是:基于AJAX客户端技术

Ant是:编译构建

SWT是:IBM主导的应用程序开发技术JUnit是:JA V A的单元测试

IntelliJ IDEA是:Java IDE 开发工具Resin是:J2EE标准的应用服务器

6.JSP内部对象有哪些?

答:request,response,out,session, application

7.说出LinkedList、Vector 、HashSet的区别:共同的父类是什么类,存取速度差别,容纳对象差别和那

个是线程安全的。

答:共同的父类是collection,存取速度,读的快慢顺序:HashSet、LinkedList 、Vector,写快慢排序:LinkedList 、Vector、HashSet。HashSet是存储键值对,按关键字读写,LinkedList 、Vector直接放置对象。Vector是线程安全的。

四、Java编程(10分)

每一个IP地址都是1个32位的整数,例如,192.168.1.1对应的整数是:3232235777。

写一个函数,把字符串格式的IP地址,转换为对应32位整数。

public static Long changeIp(String ip) {

String str = "";

StringBuilder builder = new StringBuilder();

String[] group = ip.split("\\.");

for(String s :group){

Integer input = Integer.parseInt(s);

for(int i=7;i>=0;i--) {

if(((1<

str+=1;

else

str+=0;

}

}

Long longip = Long.parseLong(str,2);

return longip;

}

五、英语翻译,每题5分,共5分

1、Java technology opens up a wealth of exciting possibilities for consumers. It enables just about any application -- including games, tools, and information programs and services -- to run on just about any computer or device. From desktop PCs to mobile handheld devices and cell phones, Java technology today is just about everywhere. If you don't already have it, get it now and start enjoying the best digital experience around.

Java的出现,给用户带来了极大的惊喜,它适用于任何一种应用,包括游戏,工具,信息程序和服务,是一种跨平台的语言,可以运行在任何的系统或设备上。从PC桌面到移动控制设备甚至手机。今天,到处可以看到Java技术身影,如果你还没有拥有它,那么立即得到它并开始享受最好的数字体验。

交卷时间:_____ : ______

相关主题
文本预览
相关文档 最新文档