JAVA程序员笔试面试题汇总及答案.docx
- 文档编号:14248919
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:29
- 大小:34.10KB
JAVA程序员笔试面试题汇总及答案.docx
《JAVA程序员笔试面试题汇总及答案.docx》由会员分享,可在线阅读,更多相关《JAVA程序员笔试面试题汇总及答案.docx(29页珍藏版)》请在冰点文库上搜索。
JAVA程序员笔试面试题汇总及答案
1.【基础题】请描述访问控制符的各自作用域与区别
答:
访问控制
private成员
缺省的成员
protected成员
public成员
同一类中
√
√
√
√
同一包中其她类
×
√
√
√
不同包中子类
×
×
√
√
不同包中非子类
×
×
×
√
一、名词解释
二、问答题
1.【中等题】请说出ArrayList与Vector的区别
答:
主要从二方面来说、
同步性:
Vector就是线程安全的,也就就是说就是同步的,而ArrayList就是线程序不安全的,不就是同步的
二、数据增长:
当需要增长时,Vector默认增长为原来一培,而ArrayList却就是原来的一半
2.【中等题】请说出HashMap与Hashtable的区别
答:
HashMap与HashTable主要从三方面来说。
一、历史原因:
Hashtable就是基于陈旧的Dictionary类的,HashMap就是Java1、2引进的Map接口的一个实现
二、同步性:
Hashtable就是线程安全的,也就就是说就是同步的,而HashMap就是线程序不安全的,不就是同步的
三、值:
只有HashMap可以让您将空值作为一个表的条目的key或value
3.【基础题】Collection与Collections的区别
答:
Collections就是个java、util下的类,它包含有各种有关集合操作的静态方法。
Collection就是个java、util下的接口,它就是各种集合结构的父接口
第十八章输入输出
笔试题
一、填空题
1.【基础题】File对象的isFile()方法作用就是判断就是否就是文件,getAbsolutePath() 方法作用就是获取文件或目录的绝对路径。
2.【基础题】BufferedReader与BufferedWriter以字符流的方式读写文本文件,且效率更高。
3.【基础题】与以字节流的方式读写文本文件。
二、选择题
1.【基础题】下列哪个类就是实体类(BC)
A.InputStream
B.PrintStream
C.Socket
D.Reader
E.DataInput
2.【提高题】请选择下列程序的运行结果(A)
publicclassTestIOapp{
publicstaticvoidmain(String[]args)throwsIOException{
StringReaderstingin=newStringReader("test");
LineNumberReaderin=newLineNumberReader(stingin);
PrintWriterout=newPrintWriter(System、out);
out、println(in、readLine());
out、flush();
}
}
A.test
B.test:
1
C.1:
test
D.1test
3.【提高题】请选择下列程序的运行结果(B)
publicclassTestIOapp{
publicstaticvoidmain(String[]args)throwsIOException{
RandomAccess=newRandomAccessFile("test、txt","rw");
(true);
(123456);
(7890);
(1000000);
(777);
(、0001f);
(5);
System、out、println(());
}
}
A.123456
B.7890
C.
D.777
E.0001
三、名词解释
四、问答题
1.【中等题】请说出java、io、reader与java、io、inputstream的区别
答:
java、io、Reader与java、io、InputStream组成了Java输入类。
Reader用于读入16位字符,也就就是Unicode编码的字符;而InputStream用于读入ASCII字符与二进制数据。
2.【中等题】java中有几种类型的流?
JDK为每种类型的流提供了一些抽象类以供继承,请说出她们分别就是哪些类?
答:
字节流,字符流。
字节流继承于InputStream OutputStream,字符流继承于InputStreamReader OutputStreamWriter。
在java、io包中还有许多其她的流,主要就是为了提高性能与使用方便。
3.【中等题】请简述什么就是流?
答:
流就是指一连串流动的字符,就是以先进先出的方式发送与接收数据的通道,流分为输入流与输出流,输入输出流就是相对于计算机内存来说的,如果数据输入到内存,则称为输入流,如果从内存中流出则称为输出流
第十九章JDBC
笔试题
一、填空题
二、选择题
三、名词解释
1.【基础题】ODBC:
OpenDatabaseConnectivity开放数据库互连
2.【基础题】JDBC:
JavaDataBaseConnectivityJava数据库连接
3.【基础题】DBMS:
DataBaseManagementSystem数据库管理系统
4.【基础题】URL:
UniformResourceLocator统一资源定位器
URL组成:
协议名与资源名
protocol:
//resourceName
四、问答题
1.【中等题】Class、forName()的作用?
答:
调用该方法返回一个以字符串指定类名的类的对象。
此对象用来与特定的数据库连接。
2.【中等题】简述Statement与PreparedStatement的区别?
答:
无论多少次地使用同一个SQL命令,PreparedStatement都只对它解析与编译一次。
当使用Statement对象时,每次执行一个SQL命令时,都会对它进行解析与编译,使用PreparedStatement对象比使用Statement对象的速度更快。
3.【中等题】在connection类中提供了3个控制事务的方法,分别就是:
答:
setAutoCommit(booleanbln)
commit():
提交事务
rollback():
撤销事务
4.【提高题】请简述元数据。
答:
在SQL中,描述数据库或其组成部分的数据称为元数据(区别于那些存在数据库中的实际数据)。
我们可以得到三类元数据:
关于数据库的元数据、关于结果集的元数据以及关于预备语句参数的元数据。
5.【提高题】ResultSet类中的Cursor方式主要有
ResultSet、TYPE_FORWARD_ONLY,ResultSet、TYPE_SCROLL_SENSITIVE,ResultSet、TYPE_SCROLL_INSENSITIVE等方式,您能详细说明不。
答:
ResultSet、TYPE_FORWARD_ONLY(为缺省设置):
游标只能前进不能后退,也就就是只能从第一个一直移动到最后一个。
ResultSet、TYPE_SCROLL_SENSITIVE:
允许游标前进或后退并感应到其它ResultSet的光标的移动情形。
ResultSet、TYPE_SCROLL_INSENSITIVE:
允许游标前进或后退并不能感应到其它ResultSet的光标的移动情形。
第二十章XML
笔试题
一、填空题
1.【基础题】XML就是一种标记语言。
2.【基础题】XML的设计宗旨就是传输数据,而非显示数据。
3.【基础题】XML文档必须有一个元素就是所有其她元素的父元素。
该元素称为根元素。
二、选择题
三、名词解释
1.【基础题】XML:
EXtensibleMarkupLanguage可扩展标记语言
2.【基础题】DTD:
DocumentTypeDefinition文档类型定义
3.【基础题】W3C:
WorldWideWebConsortium万维网联盟
4.【基础题】CSS:
CascadingStyleSheets层叠样式单
5.【基础题】XSL:
EXtensibleStylesheetLanguage可扩展样式单语言
四、问答题
1.【中等题】XML文档定义有几种形式?
它们之间有何本质区别?
答:
1)两种形式dtdschema。
2)本质区别:
schema本身就是xml的,可以被XML解析器解析(这也就是从DTD上发展schema的根本目的)。
2.【中等题】格式良好的XML文档的标准就是必须遵守XML1、0规范中的语法规则,应满足的条件主要包括:
答:
文档应包含一个或多个元素
文档中只有一个根元素,该元素无任何部分出现在其它元素中
元素必须正确关闭
元素不得交叉
属性值必须加引号
3.【中等题】XML与HTML的主要差异(难度:
中)
答:
XML不就是HTML的替代。
XML与HTML为不同的目的而设计:
XML被设计为传输与存储数据,其焦点就是数据的内容。
HTML被设计用来显示数据,其焦点就是数据的外观。
HTML旨在显示信息,而XML旨在传输信息。
第二十一章Java+XML应用
笔试题
一、填空题
二、选择题
三、名词解释
1.【基础题】DOM:
DocumentObjectModel文档对象模型
2.【基础题】SAX:
SimpleAPIforXML文档边读入边解析
四、问答题
1、【提高题】请描述出DOM与SAX解析XML文档各有什么有缺点?
答:
DOM:
处理大型文件时其性能下降的非常厉害。
这个问题就是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问。
SAX:
就是事件驱动型的XML解析方式。
它顺序读取XML文件,不需要一次全部装载整个文件。
当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问。
2、【中等题】您在项目中用到了xml技术的哪些方面?
举例说明
答:
用到了数据存储,信息配置两方面。
数据存储:
可以将数据库中的数据保存成一个xml文件以方便网络传输、
信息配置:
struts-config、xml就是struts框架的核心配置文件,该文件由struts应用程序启动时自动加载,struts会从中读取ActionForm,Action等相关配置
1.【中等题】sleep()与wait()有什么区别?
答:
sleep()方法就是使线程停止一段时间的方法。
在sleep时间间隔期满后,线程不一定立即恢复执行。
这就是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级(b)正在运行的线程因为其它原因而阻塞。
wait()就是线程交互时,如果线程对一个同步对象x发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。
2.【中等题】启动一个线程就是用run()还就是start()?
答:
启动一个线程就是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。
这并不意味着线程就会立即运行。
run()方法可以产生必须退出的标志来停止一个线程。
3.【中等题】请说出您所知道的线程同步的方法。
答:
wait():
使一个线程处于等待状态,并且释放所持有的对象的lock。
sleep():
使一个正在运行的线程处于睡眠状态,就是一个静态方法,调用此方法要捕捉InterruptedException异常。
notify():
唤醒一个处于等待状态的线程,注意的就是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而就是由JVM确定唤醒哪个线程,而且不就是按优先级。
Allnotity():
唤醒所有处入等待状态的线程,注意并不就是给所有唤醒线程一个对象的锁,而就是让它们竞争。
4.【提高题】请描述出线程存在的几种状态?
答:
1)线程可以正在运行(running)。
只要获得CPU时间它就可以运行。
2)运行的线程可以被挂起(suspend),并临时中断它的执行。
3)一个挂起的线程可以被恢复(resume,允许它从停止的地方继续运行。
4)一个线程可以在等待资源时被阻塞(block)。
5)在任何时候,线程可以终止(terminate),这立即中断了它的运行。
一旦终止,线程不能被恢复。
5.【提高题】当一个线程进入一个对象的一个synchronized方法后,其它线程就是否可进入此对象的其它方法?
答:
不能,一个对象的一个synchronized方法只能由一个线程访问。
第二十三章网络编程
笔试题
一、填空题
二、选择题
三、名词解释
1.【中等题】TCP:
TransmissionControlProtocol传输控制协议
就是一种面向连接的保证可靠传输的协议。
通过TCP协议传输,得到的就是一个顺序的无差错的数据流。
发送方与接收方的成对的两个socket之间必须建立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都就是serversocket)等待建立连接时,另一个socket可以要求进行连接,一旦这两个socket连接起来,它们就可以进行双向数据传输,双方都可以进行发送或接收操作。
2.【中等题】UDP:
UserDatagramProtocol用户数据报协议
UDP就是无连接通信协议,UDP不保证可靠数据的传输,但能够向若干个目标发送数据,接收发自若干个源的数据。
简单的说,如果一个主机向另外一台主机发送数据,这一数据就会立即发出,而不管另外一台主机就是否已准备接收数据。
如果另外一台主机收到了数据,它不会确认收到与否。
3.【基础题】IP:
InternetProtocol互联网协议
4.【基础题】LAN:
localareanetwork局域网
5.【基础题】WAN:
wideareanetwork广域网
四、问答题
1、【提高题】什么就是网络通信协议
答:
计算机网络中实现通信必须有一些约定即通信协议,对速率、传输代码、代码结构、传输控制步骤、出错控制等制定标准。
2、【提高题】网络通信接口
答:
为了使两个结点之间能进行对话,必须在它们之间建立通信工具(即接口),使彼此之间能进行信息交换。
接口包括两部分:
硬件装置:
实现结点之间的信息传送
软件装置:
规定双方进行通信的约定协议
3.【提高题】您能说出TCP/IP的7层协议不?
答:
应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
第二十四章J2EE与Servlet概述
笔试题
一、填空题
1.【基础题】我们常用的Servlet的版本就是2、4。
2.【基础题】Tomcat的核心配置文件就是server、xml。
3.【基础题】Tomcat中发布一个WEB应用时,通常把Web应用发布在webapps目录下。
4.【基础题】Tomcat将Jsp生成的Servlet源文件与与字节码文件放在work目录下。
5.【基础题】Tomcat的内置编码就就是使用了ISO-8859-1。
二、选择题
三、名词解释
1.【基础题】JavaEE:
JavaPlatformEnterpriseEdition
2.【基础题】HTTP:
HypertextTransferProtocol
四、问答题
1.【提高题】C/S与B/S之比较
答:
C/S与B/S就是当今世界开发模式技术架构的两大主流技术。
C/S就是美国Borland公司最早研发,B/S就是美国微软公司研发。
1)C/S架构软件的优势与劣势
a)应用服务器运行数据负荷较轻。
b)数据的储存管理功能较为透明。
c)C/S架构的劣势就是高昂的维护成本且投资大。
d)传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高与低效率已经不适应工作需要。
2)B/S架构软件的优势与劣势
a)维护与升级方式简单。
b)成本降低,选择更多。
c)应用服务器运行数据负荷较重。
2.【提高题】J2EE规范了服务器端应用系统的开发框架,其中最核心的思想就就是分层与组件的思想,那么分层就是哪几层,分别有哪些组建?
答:
分层:
共分为四层,数据层,业务层,表述层,客户层。
组件:
三大类,即业务逻辑组件(EJB/JavaBean组件)、Web组件(JSP与Servlet组件)与客户端组件(应用程序客户端组件或Applet组件)。
3.【提高题】J2EE就是技术还就是平台还就是框架?
答:
J2EE本身就是一个标准,一个为企业分布式应用的开发提供的标准平台。
J2EE也就是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。
4.【提高题】JAVA13种核心技术,您能说出来不?
答:
J2EE基础技术XML、RMI、JNDI、JMS
J2EE主要技术JDBC、Servlet、JSP、EJB
J2EE其它技术JTA、JTS、JavaIDL、JavaMail、JAF
5.【基础题】您能说出哪些J2EE开发工具与服务器
答:
开发工具:
Borland公司的JBuilder
Sun公司的SunJavaStudio
开源的IDEEclipse
服务器:
Apache的Tomcat
IBM的WebSphere
BEA的WebLogic
6.【中等题】说一说Servlet的生命周期?
答:
servlet有良好的生存期的定义,包括加载与实例化、初始化、处理请求以及服务结束。
这个生存期由javax、servlet、Servlet接口的init,service与destroy方法表达。
7.【中等题】什么就是Web容器?
答:
实现J2EE规范中web协议的应用、该协议定义了web程序的运行时环境,包括:
并发性,安全性,生命周期管理等等、
第二十五章Servlet
笔试题
一、填空题
二、选择题
三、名词解释
四、问答题
1.【中等题】什么就是Web容器?
答:
实现J2EE规范中web协议的应用、该协议定义了web程序的运行时环境,包括:
并发性,安全性,生命周期管理等等、
2.【中等题】说一说Servlet的生命周期?
答:
servlet有良好的生存期的定义,包括加载与实例化、初始化、处理请求以及服务结束。
这个生存期由javax、servlet、Servlet接口的init,service与destroy方法表达。
3.【中等题】JAVASERVLETAPI中forward()与redirect()的区别?
(中等)
答:
前者仅就是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则就是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。
这样,从浏览器的地址栏中可以瞧到跳转后的链接地址。
所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。
在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。
4.【基础题】写出Servlet类的基本结构?
答:
publicclassServletNameextendsHttpServlet{
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throws
ServletException,IOException{
}
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throws
ServletException,IOException{
}
}
5.【基础题】什么情况下调用doGet()与doPost()?
答:
Jsp页面中的form标签里的method属性为get时调用doGet(),为post时调用doPost()。
第二十六章JSP
笔试题
一、填空题
二、选择题
1.【基础题】在Jsp指令中errorPage(“url”)的意思就是(C)
A.将本页面设置为错误的页面
B.将本页面中所有的错误的信息保存到url变量中
C.为本页面指定一个错误页面
D.没有具体的含义
三、名词解释
1.【基础题】JSP:
JavaServerPage
2.【基础题】JS:
JavaScript
四、问答题
1.【中等题】JSP与Servlet有哪些相同点与不同点,她们之间的联系就是什么?
(中等)
答:
JSP就是Servlet技术的扩展,本质上就是Servlet的简易方式,更强调应用的外表表达。
JSP编译后就是"类servlet"。
Servlet与JSP最主要的不同点在于,Servlet的应用逻辑就是在Java文件中,并且完全从表示层中的HTML里分离开来。
而JSP的情况就是Java与HTML可以组合成一个扩展名为、jsp的文件。
JSP侧重于视图,Servlet主要用于控制逻辑。
2.【中等题】jsp的四种范围就是什么?
(中等)
答:
pageContext否就是代表与一个页面相关的对象与属性。
一个页面由一个编译好的Javaservlet类(可以带有任何的include指令,但就是没有include动作)表示。
这既包括servlet又包括被编译成servlet的JSP页面
request就是就是代表与Web客户机发出的一个请求相关的对象与属性。
一个请求可能跨越多个页面,涉及多个Web组件(由于forward指令与include动作的关系)
session就是就是代表与用于某个Web客户机的一个用户体验相关的对象与属性。
一个Web会话可以也经常会跨越多个客户机请求
application就是就是代表与整个Web应用程序相关的对象与属性。
这实质上就是跨越整个Web应用程序,包括多个页面、请求与会话的一个全局作用域
3.【中等题】JSP中动态INCLUDE与静态INCLUDE的区别?
(中等)
答:
动态INCLUDE用jsp:
include动作实现 includepage="included、jsp"flush="true"/>它总就是会检查所含文件中的变化,适合用于包含动态页面,并且可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 程序员 笔试 试题 汇总 答案