java软件开发工程师面试题3篇【通用文档】
java软件开发工程师面试题1 1.存储过程和函数的区别 从参数的返回其情况来看: 如果返回多个参数值最好使用存储过程,如果只有一个返回参数值的话可以使用函数。从调用情况来看: 如果在SQL下面是小编为大家整理的java软件开发工程师面试题3篇【通用文档】,供大家参考。
java软件开发工程师面试题1
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 且话费较长时间。
4.Oracle安装完成后,如何使用命令行启动和关闭数据库?
打开:STARTUP [RESTRICT] [PFILE=filename] [OPEN [RECOVER][database] ]| MOUNT |NOMOUNT
STARTUP OPEN:STARTUP :缺省的参数是OPEN,打开数据库,允许数据库的访问。当前实力的控制文件中描述的所有文件都已打开。
STARTUP MOUNT:MOUNT数据库,仅仅给DBA进行管理操作,不允许数据库用户的访问。仅仅只是当前实例的控制文件打开,数据文件未打开。
STARTU NOMOUNT :仅仅通过初始化文件,分配出SGA区,启动数据库后台进程,没有打开控制文件和数据文件。不能访问任何数据库。
STARTUP PFILE=filename :以filename为初始化文件启动数据库。不是采用缺省初始化文件。
STARTUP FORCE:中止当前数据库的运行,并开始重新正常的启动数据库。
STARTUP RESTRICT:只允许具有RESTRICTED SESSION权限的用户访问数据库。
STARTUP RECOVER:数据库启动,并开始介质恢复。
关闭:shutdown有四个参数:NOMAL、TRANSACTIONAL、IMMEDIATE、ABORT。缺省不带任何参数时表示NORMAL。
SHUTDOWN NORMA:不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。
SHUTDOWN TRANSACTIONAL:不允许新的连接、不等待会话结束、等待事务结束做一个检查点并关闭数据文件。启动时不需要实例恢复。
SHUTDOWN IMMEDIATE:不允许新的连接,不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件。没有结束的事务是自动rollback的。启动时不需要实例恢复。
SHUTDOWN ABORT:不允许新的连接、不等待会话结束、不等待事务结束、不做检查点并且没有关闭数据文件。启动时自动进行实例恢复。
另外,对于NORMAL、TRANSACTIONAL、IMMEDIATE,DE Buffer Cache的内容写入了数据文件,没有提交的事务被回滚,所有的资源被释放,数据库*净的关闭。对于ABORT,DB Buffer Cache的内容没有被写入数据文件,没有提交的事务也没有回滚。数据库没有dismount和关闭,数据文件也没有关闭。当数据库启东市,需要通过redo log恢复数据,通过回滚段对事物回滚,对资源进行释放。
java软件开发工程师面试题2
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软件开发工程师面试题3篇扩展阅读
java软件开发工程师面试题3篇(扩展1)
——Java软件开发工程师个人简历3篇
Java软件开发工程师个人简历1
姓名:xx
目前所在:xx市
年龄:
户口所在:xx市
国籍:*
婚姻状况:未婚
民族:汉族
身高:xxcm
体重:xxkg
求职意向
人才类型:不限
应聘职位:软件工程师
工作年限:XX年
职称:
求职类型:全职
可到职日期:随时
月薪要求:5000~8000元
希望工作地区:xx区
工作经历
XX公司 起止年月:20xx年07~20xx年02
公司性质:民营企业 所属行业:计算机软件
担任职位:Java软件开发工程师
工作描述:
①负责程序编码工作
②负责程序代码的单元测试工作
③负责按照公司的软件开发规范编写相应的项目技术文档
④项目问题管理及跟踪,项目代码质量监控
⑤对小组内开发人员技术培训等工作
离职原因:寻求更高的发展空间
教育背景
毕业院校:xx城建职业学院
最高学历:大专 获得学位:毕业日期:20xx-06
专业一:软件技术专业二:
起始年月终止年月学校(机构)所学专业获得证书证书编号
20xx-03~20xx-07xx培训机构Java程序员
语言能力
外语:英语良好粤语水*:良好
其它外语能力:
国语水*:良好
工作能力及其他专长
①J2SE、J2EE、Web编程
②Jsp、Servlet、EL、jstl、xml、JDBC
③Hibernate、spring、struts1和2、Lucene
④Html、DIV/CSS、JavaScript、jQuery、json、ajax、DWR、
⑤MVC、DAO、IOC、AOP等多种设计模式进行软件设计
⑥WebLogic、tomcat等服务器
⑦Java集成开发环境Eclipse、MyEclipse、Editplus进行开发
⑧mysql、Oracle、SqlServer数据库
⑨SVN版本控制、sqldeveloper、Eclipse、MyEclipse
自我评价:
曾获奖项
一、20xx年7月荣获“国信蓝点杯”全国软件专业人才设计与开发大赛广东赛区Java软件开发高职高专组第3名一等奖。
二、20xx年9月荣获“国信蓝点杯”全国软件专业人才设计与开发大赛全国总决赛Java软件开发高职高专组第15名二等奖。
主要项目经验
一、网络版办公自动化管理系统(WebOA)
项目描述:本系统是一个实现企业内各种信息资源共享、加强员工间的交流、提高整体工作效率、为领导各种有用数据、方便领导对公司情况的及时了解、提供决策支持和提供各种工作记录以备事后查询的信息系统。
主要负责:
1.组织机构管理模块,该模块主要包括机构管理和人员管理。
⑴机构管理:采用树状结构,可以完成添加、删除等操作。在点击某个机构的名称,可以查看这个机构的详细信息以及所有子机构列表(在子机构列表上,还可以点击机构名称进行进一步的导航)。在列表界面上,可以点击“返回”以便返回上一级机构。
⑵人员管理:也可以完成添加、删除等操作,但在进行添加操作的过程中需要选择该人员需要分配到那一个机构部门底下。
2.权限管理模块,该模块主要包括模块管理、角色管理和用户管理。
⑴模块管理:采用树状结构,可以完成添加、删除等操作。在点击某个模块的名称,可以查看这个模块的详细信息以及所有子模块列表(在子模块列表上,还可以点击模块名称进行进一步的导航)。在列表界面上,可以点击“返回”以便返回上一级模块。
⑵角色管理:可以完成添加角色信息、删除角色信息以及给角色授权等操作。在给角色授权操作中,角色授权界面上按照两级模块的"形式列出系统所有模块,以及在这些模块上面的CRUD(添加、读取、更新、删除)权限,当点击选中其中某个模块的某个权限时,系统自动添加此权限。
⑶用户管理:用户管理中主要有分配账号、删除账号、分配角色和用户授权操作。在分配帐号操作中,如果已经有帐号,则提示无法继续分配帐号,如果想修改帐号的话,需要先删除帐号,再重新分配;在分配角色操作中,一个用户可以拥有多个角色,在选择需要分配的角色时,同时可以输入其优先级,如果想要修改某个角色的优先级,可以选择重新分配一次这个角色,同时给它指定另外一个优先级即可;在用户授权操作中,打开的授权界面跟角色授权类似,但是,用户授权多了一个“不继承”选择框,只有在选择了这个框的前提下,给用户的单独授权设置才是有效的,否则它将使用其拥有的角色的权限。
二、商品交易系统
项目概述:本系统为大型企业提供一个在线商品交易*台,*台的主要目的是让企业在*台上发布商品及资讯,用户可以在此*台上购买商品并参与商品的评论。围绕这一目的,系统需要实现商品管理,商品订购,多部门订单处理,商品促销,内容管理等功能。
主要负责:
1.产品后台管理:产品具有类别、品牌、生产厂商、供应商、样式、尺码等属性,产品类别可以实现无限级分类,品牌具有中英文名称及Logo。网站员工在该模块中可以对产品信息进行管理。通过更换模版商可以实现产品页面不同的显示风格;
2.产品前台显示:网站首页提*品类别导航,用户点击产品类别可以查看该类别下的产品列表,在产品列页面上可以根据销量多到少、价格高到低、价格低到高、最近上架时间对商品进行排序,并且可以按品牌及男女款对产品进行筛选,产品列表具有图文版和图片版两种显示方式,点击具体的商品可以查看
3.产品全文搜索:采用compass实现商品的全文搜索功能。用户输入查询关健词就可以搜索到相关商品,匹配度高的商品显示在前面;
4.购物车:用户可以把产品添加入购物车,同一产品如果样式或尺码不同视为两个购物项,对同一商品多次点击“购买”,每点击一次累加购物车中该商品的购买数量。购物车具有添加商品、删除商品、修改商品购买数量、清空购物车、计算商品总销售价、总市场价功能。
java软件开发工程师面试题3篇(扩展2)
——java初级工程师面试题3篇
java初级工程师面试题1
1.如何优化数据库,如何提高数据库的性能?
解答:
1) 硬件调整性能
最有可能影响性能的是磁盘和网络吞吐量,解决办法扩大虚拟内存,并保证有足够可以扩充的空间;把数据库服务器上的不必要服务关闭掉;把数据库服务器和主域服务器分开;把SQL数据库服务器的吞吐量调为最大;在具有一个以上处理器的机器上运行SQL。
2)调整数据库
若对该表的查询频率比较高,则建立索引;建立索引时,想尽对该表的所有查询搜索操作, 按照where选择条件建立索引,尽量为整型键建立为有且只有一个簇集索引,数据在物理上按顺序在数据页上,缩短查找范围,为在查询经常使用的全部列建立非簇集索引,能最大地覆盖查询;但是索引不可太多,执行UPDATE DELETE INSERT语句需要用于维护这些索引的开销量急剧增加;避免在索引中有太多的索引键;避免使用大型数据类型的列为索引;保证每个索引键值有少数行。
3)使用存储过程
应用程序的实现过程中,能够采用存储过程实现的对数据库的操作尽量通过存储过程来实现,因为存储过程是存放在数据库服务器上的一次性被设计、编码、测试,并被再次使用,需要执行该任务的应用可以简单地执行存储过程,并且只返回结果集或者数值,这样不仅可以使程序模块化,同时提高响应速度,减少网络流量,并且通过输入参数接受输入,使得在应用中完成逻辑的一致性实现。
4)应用程序结构和算法
建立查询条件索引仅仅是提高速度的"前提条件,响应速度的提高还依赖于对索引的使用。因为人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,特别是对数据量不是特别大的数据库操作时,是否建立索引和使用索引的好坏对程序的响应速度并不大,因此程序员在书写程序时就忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在数据量特别大时或者大型的或是复杂的数据库环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明显。在工作实践中发现,不良的SQL往往来自于不恰当的索引设计、不充份的连接条件和不可优化的where子句。在对它们进行适当的优化后,其运行速度有了明显地提高!
2.JS中的三种弹出式消息提醒(警告窗口、确认窗口、信息输入窗口)的命令是什么?
解答:alert confirm prompt
3.描述JSP和Servlet的区别、共同点、各自应用的范围
解答:JSP在本质上就是SERVLET,但是两者的创建方式不一样.Servlet完全是JAVA程序代码构成,擅长于流程控制和事务处理,通过Servlet来生成动态网页很不直观.JSP由HTML代码和JSP标签构成,可以方便地编写动态网页.因此在实际应用中采用Servlet来控制业务流程,而采用JSP来生成动态网页.
4.在java语言中int 和 Integer 有什么区别
解答:int是基本数据类型,Integer是int的包装类,属于引用类型
5.计算下列结果:
25&3 =
25|3=
解答:25的二进制是11001 , 3的二进制是00011, 按位与的结果是:00001 ,按位或的结果是:11010,因此转成10进制分别为:1 和27
java初级工程师面试题2
1.JDK1.5中支持的 for循环的语法
解答:
for(type element : array) { System.out.println(element)} type 集合(不仅仅指Collection,也包含普通的数组)中元素的数据类型 element 遍历到的元素 array 集合对象本身(当然不只是Collection)
2.简述synchronized和java.util.concurrent.locks.Lock的异同?
解答:
主要相同点:Lock能完成synchronized所实现的所有功能 主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁,而Lock一定要求程序员手工释放,并且必须在finally从句中释放。
3.如何格式化日期
解答:
Date now=new Date();
SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”);
String formatNow=sdf.format(now);
变量formatNow就是格式化好的日期。
4.将字符“12345”转换成long型
解答: String s=”12345″;
long num=Long.valueOf(s).longValue();
5.struts中如何实现国际化,涉及哪些文件?
解答:“国际化”是指一个应用程序在运行时能够根据客户端请求所来自的国家/地区、语言的不同而显示不同的用户界面。Struts框架通过使用标记,以及使用java.util数据包中定义的Locale和ResourceBundle类来支持国际化。java.text.MessageFormat类定义的技术可以支持消息的格式。利用此功能,开发人员不需了解这些类的细节就可进行国际化和设置消息的格式。会涉及到资源文件,不需了解这些类的细节就可进行国际化和设置消息的格式。会涉及到资源文件,struts-config.xml配置文件,web.xml配置文件。
java软件开发工程师面试题3篇(扩展3)
——java软件开发工程师面试题宝典3篇
java软件开发工程师面试题宝典1
1)transient和volatile是java关键字吗?
如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。例如: class T
{
transient int a; //不需要维持
int b; //需要维持
}
这里,如果T类的一个对象写入一个持久的存储区域,a的内容不被保存,但b的将被保存。
volatile修饰符告诉编译器被volatile修饰的变量可以被程序的其他部分改变。在多线程程序中,有时两个或更多的线程共享一个相同的实例变量。考虑效率问题,每个线程可以自己保存该共享变量的私有拷贝。实际的变量副本在不同的时候更新,如当进入synchronized方法时。 用strictfp修饰类或方法,可以确保浮点运算(以及所有切断)正如早期的Java版本那样准确。切断只影响某些操作的指数。当一个类被strictfp修饰,所有的方法自动被strictfp修饰。
strictfp的意思是FP-strict,也就是说精确浮点的意思。在Java虚拟机进行浮点运算时,如果没有指定strictfp关键字时,Java的编译器以及运行环境在对浮点运
算的表达式是采取一种近似于我行我素的行为来完成这些操作,以致于得到的结果往往无法令你满意。而一旦使用了strictfp来声明一个类、接口或者方法时,那么所声明的范围内Java的编译器以及运行环境会完全依照浮点规范IEEE-754来执行。因此如果你想让你的浮点运算更加精确,而且不会因为不同的硬件*台所执行的结果不一致的话,那就请用关键字strictfp。
你可以将一个类、接口以及方法声明为strictfp,但是不允许对接口中的方法以及构造函数声明strictfp关键字,例如下面的代码:
strictfp interface A {}
public strictfp class FpDemo1 {
strictfp void f() {}
}
2. 错误的使用方法
interface A {
strictfp void f();
}
public class FpDemo2 {
strictfp FpDemo2() {}
}
一旦使用了关键字strictfp来声明某个类、接口或者方法时,那么在这个关键字所声明的范围内所有浮点运算都是精确的,符合IEEE-754规范的。例如一个类被声明为strictfp,那么该类中所有的方法都是strictfp的。
2)抽象类和接口有什么区别?
1.abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。
2.在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在 interface中一般不定义数据成员),所有的成员方法都是abstract的。
3.abstract class和interface所反映出的设计理念不同。其实abstract class表示的是"is-a"关系,interface表示的是"like-a"关系。
4.实现抽象类和接口的类必须实现其中的所有方法。抽象类中可以有非抽象方法。接口中则不能有实现方法。
5.接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。
6.抽象类中的变量默认是 friendly 型,其值可以在子类中重新定义,也可以重新赋值。
7.接口中的方法默认都是 public,abstract 类型的。
3)能说一下java的反射(reflection)机制吗?
开放性和原因连接(causally-connected)是反射系统的两大基本要素
java软件开发工程师面试题宝典2
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都是这样的容器。
java软件开发工程师面试题3篇(扩展4)
——java面试题目3篇
java面试题目1
1.谈谈对XML的理解?说明Web应用中Web.xml文件的作用?
解答:XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml是Internet环境中跨*台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
web.xml的作用是配置欢迎页,servlet,filter,listener等的。
2.jsp有哪些内置对象?作用分别是什么?(至少三个)
解答:
1)request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header和session数据的有用的方法。
2)response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)。
3)out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。
4)pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。
5)session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息。
6)application 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息。
7)config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。
8)page表示从该页面产生的一个servlet实例。
9)exception 针对错误网页,未捕捉的例外
3.事务是什么?有哪些属性,并简要说明这些属性的含义。
解答:事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。
事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。
事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性。
原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
4、Collection 和 Collections的区别?
解答:Collection是java.util下的接口,它是各种集合的父接口,继承于它的接口主要有Set 和List;Collections是个java.util下的类,是针对集合的帮助类,提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
5、HashMap与TreeMap的区别?
解答:HashMap通过hashcode对其内容进行快速查找,而TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的)。
6、ArrayList和Vector的区别?
解答:同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程不安全的,不是同步的;数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半。
java面试题目2
1.试述数据库完整保护的主要任务和措施。
解答:数据库的完整性保护也就是数据库中数据正确性的维护。数据库完整性包括三个内容:实体完整性规则,参照物完整性规则以及用户定义完整性规则。 前两个是有DBMS自动处理。
实体完整性规则是说针对于基表中的关键字中属性值不能为空值,是数据库完整性的基本要求,主关键字和元组的唯一性对应。
参照物完整性规则是不允许引用不存在的元组:即基表中的外关键字要么为空,要么关联基表中必存在元组。
用户定义完整性规则针对具体的数据环境由用户具体设置的规则,它反应了具体应用中的语义要求。 一个完整性规则一般由下面三部分组成:完整性约束条件设置,完整性约束条件的检查以及完整性约束条件的处理.后两部分在数据库中一般有相应的模块处理。另外触发器也可以做完整性的保护,但触发器大量用于主动性领域。
2.请说明SQLServer中 from tablea & truncate table tablea的区别
解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,使HWK值为0,不需要 rollback segment .而Delete是DML操作需要rollback segment 且花费较长时间.
3. Oracle安装完成后,如何用命令行启动和关闭数据库?
解答:
打开
STARTUP [FORCE] [RESTRICT] [PFILE= filename] [OPEN [RECOVER][ database] | MOUNT | NOMOUNT] STARTUP OPEN:STARTUP缺省的参数就是OPEN,打开数据库,允许数据库的访问。当前实例的控制文件中所描述的所有文件都已经打开。 STARTUP MOUNT:MOUNT数据库,仅仅给DBA进行管理操作,不允许数据库的用户访问。仅仅只是当前实例的控制文件被打开,数据文件未打开。 STARTUP NOMOUNT:仅仅通过初始化文件,分配出SGA区,启动数据库后台进程,没有打开控制文件和数据文件。不能访问任何数据库。 STARTUP PFILE= filename:以filename为初始化文件启动数据库,不是采用缺省初始化文件。 STARTUP FORCE:中止当前数据库的运行,并开始重新正常的启动数据库。 STARTUP RESTRICT:只允许具有RESTRICTED SESSION权限的用户访问数据库。 STARTUP RECOVER:数据库启动,并开始介质恢复
关闭
SHUTDOWN有四个参数:NORMAL、TRANSACTIONAL、IMMEDIATE、ABORT。缺省不带任何参数时表示是NORMAL。
命令SHUTDOWN NORMAL:不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。 SHUTDOWN TRANSACTIONAL:不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。 SHUTDOWN IMMEDIATE:不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件。没有结束的事务是自动rollback的。启动时不需要实例恢复。 SHUTDOWN ABORT:不允许新的连接、不等待会话结束、不等待事务结束、不做检查点且没有关闭数据文件。启动时自动进行实例恢复。 另外,对于NORMAL、TRANSACTIONAL、IMMEDIATE,DB Buffer Cache的内容写入了数据文件,没有提交的事务被回滚,所有的资源被释放,数据库被“干净”的关闭。 对于ABORT,DB Buffer Cache的内容没有写入数据文件,没有提交的事务也没有回滚。数据库没有dismount和关闭,数据文件也没有关闭。当数据库启动时,需要通过redo log恢复数据,通过回滚段对事务回滚,对资源进行释放。
4. 类有哪三个基本特性?各特性的优点?
解答:类具有封装性、继承性和多态性。
封装性:类的封装性为类的成员提供公有、缺省、保护和私有等多级访问权限,目的是隐藏类中的私有变量和类中方法的实现细节。
继承性:类的继承性提供从已存在的类创建新类的机制,继承(inheritance)使一个新类自动拥有被继承类(父类)的全部可继承的成员。
多态性:类的多态性提供类中方法执行的多样性,多态性有两种表现形式:重载和覆盖。
java面试题目3
1.IP地址的编码分为哪俩部分?
IP地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。
2.用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。
循环链表,用取余操作做
3.不能做switch()的参数类型是:
switch的参数不能为实型。
4. static有什么用途?(请至少说明两种)
a.限制变量的作用域
b.设置变量的存储域
7. 引用与指针有什么区别?
a 引用必须被初始化,指针不必。
b 引用初始化以后不能被改变,指针可以改变所指的对象。
c 不存在指向空值的引用,但是存在指向空值的指针。
8. 描述实时系统的基本特性
在特定时间内完成特定的任务,实时性与可靠性
9. 全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
全局变量储存在静态数据库,局部变量在堆栈
10. 什么是*衡二叉树?
左右子树都是*衡二叉树 且左右子树的深度差值的绝对值不大于1
11. 堆栈溢出一般是由什么原因导致的?
没有回收垃圾资源
12. 什么函数不能声明为虚函数?
constructor
13. 冒泡排序算法的时间复杂度是什么?
O(n^2)
14. 写出float x 与“零值”比较的if语句。
if(x>0.000001&&x<-0.000001)
16. Internet采用哪种网络协议?该协议的主要层次结构?
tcp/ip 应用层/传输层/网络层/数据链路层/物理层
17. Internet物理地址和IP地址转换采用什么协议?
ARP (Address Resolution Protocol)(地址解析協議)
java软件开发工程师面试题3篇(扩展5)
——软件开发工程师工作职责有哪些 (菁选3篇)
软件开发工程师工作职责有哪些1
1、软件的程序设计与代码编写。
2、有关技术方案、文档的编写,软件单元的测试。
3、根据项目具体要求,承担开发任务,按计划完成任务目标。
4、配合系统分析人员完成软件系统以及模块的需求调研、需求分析。
5、独立完成软件系统及模块的编码。
6、协助测试人员完成软件系统及模块的测试。
7、负责编制与项目相关的技术文档。
8、根据项目具体要求,承担大型网站设计与开发。
9、部分软件功能模块设计和软件界面美化。
10、协助测试试人员完成软件系统及模块的测试。
软件开发工程师工作职责有哪些2
1.负责开发项目的系统分析、研发与组织实施
2.负责开发符合系统要求的软件内容
3.修改以有的"系统方案,以维持优良的操作性能及正常的信息沟通
4.mes程序的设计与开发;
5.提高生产的效率,保障系统的稳定性及可靠性
6.适应性维护工作
7.掌握生产流程,优化生产控制
8.提供技术指导,促进系统操作技术和译码编程的有效使用
9.跟踪it技术进展,做好技术储备
10.推广完善公司系统,完成项目接口、开发工作
11.协助相关应用软件的安装调试工作
软件开发工程师工作职责有哪些3
1、理解业务:理解用户业务,了解用户需求,明确用户要做什么,只有理解业务才有能力将业务转化为软件产品。
2、软件设计:根据用户需求和计算机软件、硬件的发展,采用成熟的技术实现应用系统的概要设计和详细设计。这是高级程序员的职责,也是我们努力的目标。
3、编码:根据设计方案编写、调试代码。这是最基本的要求。
4、测试:通过单元测试、集成测试等软件测试手段,查找、更正软件中存在的缺陷。目前,单元测试一般有开发人员完成,集成测试则由测试人员完成。
5、维护:软件交付客户后,还要参与软件的维护工作,及时解决客户使用中遇到的问题。
6、参加各种会议,参与评审:软件是多人合作的行业,与同事进行沟通交流是必备的能力。
java软件开发工程师面试题3篇(扩展6)
——手机测试工程师面试题 (菁选2篇)
手机测试工程师面试题1
1、什么是手机软件测试
手机作为专用的消费类电子产品需要进行以下测试:可靠性测试(对于硬件则是RQT;对于软件则是field trial);标准符合性测试(FTA);互操作性测试(IOT);安全性测试(安规测试);强度测试等。
2、性能测试
性能测试强调长时间、重复或者高强度的进行某些操作,来验证产品在各种极限条件下的表现。性能测试隶属于软件测试中的系统测试,它对软件在集成系统中运行的性能行为进行测试,旨在及早确定和消除软件中与构架有关的性能瓶颈。
3、手机中的性能测试分类
(1)时间相关的性能测试可分为长时间保持测试和限定时间反应测试
(2)次数相关的性能测试是测试终端重复稳定地进行某项功能的能力
(3)并发测试主要是测试终端同时进行多项业务时表现出的处理能力,例如同时进行CS域语音业务和PS域下载业务,或者在MP3播放的同时进行上网业务,以测试协议栈、操作系统和处理器对并发业务的支持能力
(4)负载测试主要是验证系统的负载工作能力。例如同时进行多个ftp下载,使下行传输率接近极限值,观察终端是否可以正常工作
4、手机性能测试的方法
手机性能测试的方法按照自动化程度不同可分为手工测试和自动测试。
手机测试工程师面试题2
1. 什么是手机软件测试?
手机作为专用的消费类电子产品需要进行以下测试:可靠性测试(对于硬件则是RQT;对于软件则是field trial);标准符合性测试(FTA);互操作性测试(IOT);安全性测试(安规测试);强度测试等。
2. 什么是性能测试?
性能测试强调长时间、重复或者高强度的进行某些操作,来验证产品在各种极限条件下的表现。性能测试隶属于软件测试中的系统测试,它对软件在集成系统中运行的性能行为进行测试,旨在及早确定和消除软件中与构架有关的性能瓶颈。
3. 手机中的性能测试分类是什么?
(1) 时间相关的性能测试可分为长时间保持测试和限定时间反应测试 (2) 次数相关的性能测试是测试终端重复稳定地进行某项功能的能力 (3) 并发测试主要是测试终端同时进行多项业务时表现出的处理能力,例如同时进行CS域语音业务和PS域下载业务,或者在MP3播放的同时进行上网业务,以测试协议栈、操作系统和处理器对并发业务的支持能力(4) 负载测试主要是验证系统的负载工作能力。例如同时进行多个ftp下载,使下行传输率接近极限值,观察终端是否可以正常工作
4. 手机性能测试的方法?
手工测试主要是通过测试人员手动操作,并借助某些监测仪器和工具,来验证手机性能。但由于手机功能众多,并且性能测试工作量大,如果单个测试工程师靠手动按键来执行所有测试用例,花费的时间少则几小时,多则需要几天的时间,这样耗费大量测试时间的同时也容易让测试工程师产生疲倦甚至是厌倦心理,很容易造成测试的遗漏。手机测试中常碰到很多重复性高的工作,如发送数条 SMS 或者 MMS 以验证其收发成功率以及稳定性、连续进行多次呼叫、多次对文件系统进行添加删除操作、多任务多进程情况下的冲突测试以及极限测试等等,都是重复性高的工作,手动执行的话费时费力,如果能有一套自动执行的机制,将能大大提高测试的效率。
由此产生了对手机自动化测试工具的需求。手机这种板机的MMI功能测试不同于基于PC上的MMI测试,后者借助PC*台,目前市场上已有非常多功能强大且通用的自动测试工具支持其测试,如比较典型的有Winrunner, Robot, Loadrunner等等,但这些工具通常不能兼容到象手机这种嵌入式系统中来。这就要求测试人员能够基于当前*台进行二次开发,来满足自动化测试的需求。
推荐访问: