java程序员面试题库
Java程序员想要在面试中有好的表现,那么面试前的准备很重要,了解面试问题很有必要,以下是小编帮你们整理的java程序员面试题,一起来学习啦。
java程序员面试题(一)
1.j2ee是什么?它包含哪些技术?
从整体来讲,J2EE是使用java开发技术开发企业级应用的工业标准,它是java技术不断适应和醋精企业级应用过程的产物。适用于企业级应用的j2ee,提供一个平台独立的、可移植的、多用户的、安全的和基于标注呢企业级平台,从而简化企0业应用的开发、管理和部署。J2EE是一个标准,而不是一个现成的产品。
主要包括以下这些技术:
(1)Servlet servlet是java平台上的CGI技术。Servlet在服务器端运行,动态的生成web页面。与传统的CGI和其他类似CGI的技术相比,Java Servlet具有更高的效率并更容易使用。对于Servlet,从夫的请求不会导致同一程序的多次转载,它是依靠线程的方式来支持并访问的。
(2)JSP Jsp(java server page)是一种是实现普通静态HTML和动态页面输出混合编码的技术。从这一点看,非常类似Microsoft ASP、PHP等技术。借助形式上的内容和外观表现的分离,web页面制作的任务可以比较方便的话费给页面设计人员和程序员,并方便的通过JSP来合成。在运行时态,JSP将会被首先转换成Servlet,并以Servlet的形态编译运行,因此它的效率和功能与Servlet相比没有差别,一样具有很高的效率。
(3)EJB EJB定义了一组可充用的组件:Enterprise Beans。开发人员可以利用这些组件,像搭积木一样建立分布式应用。
(4)JDBC JDBC(Java DataBase Connectivity,java数据库连接)API是一个标准SQL(Structured Query Language,结构化查询语句)数据库访问接口,它使数据库开发人员能够使用标准Java API编写数据库应用程序。JDBC API主要用来连接数据库和调用SQL命令执行各种SQL语句。利用JDBC API可以执行一般的SQL语句、动态SQL语句及带IN和OUT参数的存储过程。JAVA中的JDBC 相当于Microsoft平台中的ODBC(open Database Connectivity)。
2.测试生命周期、测试过程分为几个阶段、以及各阶段的含义?
软件测试生命周期一般包括6个阶段:
(1)技术:产品定义阶段
(2)分析:外部文档阶段
(3)设计:文档架构阶段
(4)构建:单元测试阶段
(5)测试周期:错误修正,重复系统测试阶段
(6)最后测试和实施:代码冻结阶段
3.您做系统设计用各种工具?
Visio,Rational rose,power designer的
4.什么是web容器?
容器就是一种服务程序,在服务器一个端口就有一个提供相应服务的程度,而这个程序就是处理从客户端发出的请求,如java中的Tomat容器,ASP的IIS火舌PWS都是这样的容器。
5.运行是异常与一般异常有何异同?
异常表示程序运行高城中可能会出现的非正常状态,运行时异常表示虚拟机的同城操作中可能遇到的异常,是一种常见运行异常。Java编译器要求方法必须声明抛出可能发生的非运行异常,但是并不要求必须声明抛出未被捕获的运行时异常。
6.Hibernate中:不看数据库,不看XML文件,不看查询语句,怎么能知道表结构?
可以看与xml文件对应的域模型。
java程序员面试题(二)
1.类有哪三种基本特性?各特性的优点?
类具有封装性、继承性、和多态性。
封装性:类的封装性为类的成员提供公有、缺省、保护和私有等多级访问权限,目的是隐藏类中的私有变量和类中的方法的实现细节。
继承性:类的继承性提供从已存在的类的创建新类的机制,继承(inheritance)使一个新类自动拥有被继承类(父类)的全部可继承的成员。
多态性:类的多态性提供类中方法执行的多样性,多态性有两种表现形式:重载和覆盖。
2.谈谈对XML的理解?说明web应用中web.xml文件的作用?
XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language标砖通用标记语言)。XML是Internrt环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。拓展标记语言XML是一种简单的实际存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
Web.xml的作用是配置欢迎页,servlet 、filter、listenter等的。
3.Jsp有哪些内置对象?作用分别是什么?
1).request 表示HttpServlet Request对象。它包含了有关浏览器请求的信息,并且提供了几个获取cookie,header和session数据的有用的方法。
2).response表示HttpServletResponse对象,并且提供了几个用于设置送回浏览器的响应的方法(如cookies,header信息等)
3).out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法能用于向浏览器回送输出结果
4).pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象API,并且包装了用用的servlet相关功能的方法。
5).session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息。
6).application表示一个javax.servlet.ServletContext对象,这有助于查找有关servlet引擎和servlet环境信息。
7).config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数
8).page表示从该页面产生的一个servlet实例
9).exceptiom针对错误页面,未捕捉的例外
4.事务是什么?有哪些属性,并且简要说明这些属性的含义。
事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。 事务通常是由高级数据库操纵语言(如SQL,C++或java)书写的用户程序的执行所引起,并用刑辱begin transaction 和end transaction语句(或者函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。
事务具有4个属性:原子性、一致性、隔离性、持续性。这4个属性通常称之为ACID特性。
原子性(atomicity):一个事务是一个不可分割的工作单位,事务中包括的著操作要么都做,要么都不做。
一致性(consistency):事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性(isolation):一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
持久性(durability):持久性也称之为永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
java程序员面试题(三)
1.存储过程和函数的区别
从参数的返回其情况来看:
如果返回多个参数值最好使用存储过程,如果只有一个返回参数值的话可以使用函数。 从调用情况来看:
如果在SQL语句(DML或者select)中调用的话一定是存储函数或者是存储的分装函数不可以是存储过程,但是调用存储函数的时候还有很多限制以及函数的纯度等级问题,如果实在过程化语句中调用的虎牙,就要看你是实现什么样的功能。函数一般情况先是用来计算并返回一个计算结果而存储过程一般是一用来完成特定的数据操作(比如修改、插入数据库表或执行某些dml语句),所有虽然他们的语法上很相似但用户在使用他们的时候所需要完成的功能大部分情况下是不同的。
2.试述数据库完整保护的主要任务和措施
数据库的完整性保护也就是数据库中正确性的维护。数据库的完整性包括三个内容:实体完整性规则、参照物完整性规则和用户定义完整性规则。前两个使用DBMS自动处理。
实体完整性规则:是说针对基表中的关键字属性不能为空值,是数据库完整性的基本要求,主关键字和元组的唯一性对应。
参照物完整性规则:是不允许引用不存在的元组:即基表中的外关键字要么为空,要么关联基表中必然存在元组。
用户定义完整性规则:针对具体的数据环境由用户具体设置的规则,它反映了具体应用中的语义要求。一个完整性规则一般有下面三个部分组成:完整性约束条件设置,完整性约束条件的检验以及完整性约束条件的处理。后两部分在数据库中一般由相应的模块处理。另外触发器也可以做完整性的保护,但触发器大量用于主动性领域。
3.请说明SQLServer中的delete from tablea & truncate table tablea的区别。
两者都可以用来删除表中的所有记录。区别在于:truncate是DDL操作,它移动HWK,是HWK值为0,不需要rollback segment ,而Delete是DML操作需要rollback segment 且话费较长时间。
看了“java程序员面试题”