面试题和笔试题: 1. 对java面向对象的理解;
面向对象的程序设计很接近于我们人类自然的思维,相对于面向过程的程序设计,它具有更好的可扩展性和可维护性,使我们编写的代码更健壮! 面向对象主要有四大特性:封装、抽象、继承和多态。各自定义: 封装:在面向对象语言中,封装特性是由类来体现的,我们将现实生活中的一类实体定义成类. 抽象:抽象就是将一类实体的共同特性抽象出来,封装在一个抽象类中,所以抽象在面向对象语言是由抽象类来体现的。 继承:在面向对象语言中,就是一个类可以继承另一个类的一些特性,从而可以代码重用; 多态:多态就是通过传递给父类对象引用不同的子类对象从而表现出不同的行为,多态可为程序提供更好的可扩展性,同样也可以代码重用。
2. 对ssh的理解;
struts的功能,就在于搭架框架,形成jsp-form,actrion(即control,其应用service,service又应用了 dao)-jsp,即mvc。struts的action部分又转给spring去处理。spring则简化了事务处理。hibernate的作用在于简 化了sql代码的处理。spring不单要在struts的action中起作用,也要为hibernate产生数据源和SessionFactory。
3. 说一下mvc的模式的理解;
MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。
4. Xml的解析方法,区别是什么;
有
DOM,SAX,STAX
等
DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问
5. Webservice的了解;
1,什么是 Web Service ?
Web Service 就是一个网络组件(一个可以通过网络访问的程序)。
它有一个或多个端口(Port),这些端口用于接收客户端的请求,并返回响应
请求和响应的 都是一种基于XML的消息。 不过这种消息遵循特定的格式(SOAP )。 2,怎样调用 Web Service?
每个Web Service 都有一个描述文件(WSDL ), 它描述 一个 Web Service 的如下方面: (1)服务的端口(接收SOAP消息的端口) (2)服务提供的操作
(3)操作的输入输出格式的定义(通过XMLSchema 定义输入输出格式)
有了Web Service 的描述文件(WSDL ),我们就知道怎样调用这个Web Service 中定义的操作了。
(1)通过服务提供的操作找到你想调用的操作
(2)找到这个操作的输入格式的定义(XMLSchema ),按照这种输入格式构造一个SOAP消息
(3)将这个SOAP消息发送到服务的指定端口
(4)准备接收一个从Web Service服务器返回的 SOAP 响应吧 !
3,Web Service服务器
一个Web Service服务器,本质上和一个Web服务器是相同的。 它主要做下面这些事:
--> 监听网络端口(监听服务端口) --> 接收客户端请求(接收SOAP请求)
--> 解析客户端请求(解析SOAP消息,将SOAP消息转换为数据对象) --> 调用业务逻辑 (调用Web Service实现类的特定操作,参数是由SOAP消息
转换而来的数据对象)
--> 生成响应 (将返回值转换为SOAP消息)
--> 返回响应 (返回SOAP响应)
6. Struts的工作原理;
1、初始化,读取struts-config.xml、web.xml等配置文件(所有配置文件的初始化)
2、发送
HTTP
请求,客户端发送以.do
结尾的请求
3、填充FormBean(实例化、复位、填充数据、校验、保存) 4、将请求转发到Action(调用Action的execute()方法) 5、处理业务(可以调用后台类,返回6、返回目标响应对象(从8、Http响应,返回到Jsp页面
Action
ActionForward
对象)
返回到
ActionServlet)
7、转换Http请求到目标响应对象(查找响应,根据返回的Forward keyword)
7. Decode函数的作用;
DECODE函数的作用:它可以将输入数值与函数中的参数列表相比较,根据输入值返回一个
对应值.。例子:select decode(sal,800,’八百’,1000,’一千’,’其他金额’)from emp where empno=7788;
8. 如何删除一个表中重复的数据;
delete from tablename where id not in(select max(id) from tablename group by filedname);7
9. 对事物的理解;
通常的观念认为,事务仅与数据库相关,事务必须服从ISO/IEC所制定的ACID原则,ACID是: 原子性(atomicity:事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。 一致性(consistency):一致性表示当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行前的状态。 隔离性(isolation):隔离性表示在事务执行过程中对数据的修改,在事务提交之前对其他事务不可见。 持久性(durability):持久性表示已提交的数据在事务执行失败时,数据的状态都应该正确。Java事务的类型有三种:JDBC事务、JTA(Java Transaction API)事务、容器事务。
10. 你觉得代码规范重要吗;
重要。规范可以尽量避免bugs的数量,和减轻开发leader去复查代码花费的精力。 11. 在没有主键的情况下,如何删除表中重复的数据,请举例说明; Delete from emp where rowed not in (select max(rowid) from emp group by empno ); 12. Ajax的工作流程;
Ajax的工作原理相当于在用户和服务器之间加了—个中间层,使用户操作与服
务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎自己来做, 只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。Ajax其核心只有JavaScript、XMLHTTPRequest和DOM。

