面试题整理

1.     Form提交的两种方式有什么区别

答:form表单中 method有两种提交方法,get和post分别对应HttpServlet中的doGet()和doPost()方法。

区别:

1).  get数据传输,他是把数据放在了http协议中的http_header中拼接在URL后面,因为URL的长度有限制,所以get方式传输数据大小收到了限制。Post方式的数据被放在了http协议的Http_body中,原则上大小没有限制

2).  get传递参数是通过URL来传递的, 这样用户的信息被暴露在url中,信息不安全

3).  但是执行效率却比Post方法好

 

2.     谈谈final, finally, finalize的区别

答:   一。final

如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在new一个对象时初始化(即只能在声明变量或构造器或代码块内初始化),而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能覆盖(重写)。

二。finally

在异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。

 

三。finalize

方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。注意:finalize不一定被jvm调用,只有当垃圾回收器要清除垃圾时才被调用。

 

3.     页面传值的几种方式

答:一、超链接
 链接

二、form表单
    1.可显示的控件
     
 
    2.如果要传递的值,不需要显示在页面上
      (1)
      (2)
 
三、JSP的include和forward标签
   
              
   

四、JavaScript方式
  location. href ("V.jsp?username="+v+"&age=25");

 

五、设置session和request
 

4.     面向对象的特点

答:三大特性是:封装,继承,多态 

封装:将一个类中的成员变量全部定义成私有的,只有类中的方法可以访问到这些成员变量

继承:子类可以在父类的基础上进行内容的扩充,或者修改

多态:如果编译时的类型和运行时的类型不一致时会出现多态

编译时的类型和运行时的类型是父类与子类的关系

如果子类重写父类的方法,编译类型是父类,运行时是子类,引用类型调用重写的方法,就会执行子类定义的实现

 

5.     接口和抽象类的区别

答: 1、抽象类是类,它的子类不能再继承其它类了,但可以实现一个和多个接口。接口不是类,它的子接口可以继承多个接口。

2、抽象类中是可以有不用abstract修饰的方法,而接口中只能有抽象方法,即方法都要用abstract修饰。

3、抽象类可以实现接口,而接口是不能继承或实现抽象类的。

 

6.     Session cookie application的区别

答: 相同点: 都能用来储存数据

不同点:

1.Application储存在服务端,没有时间限制,服务器关闭即销毁(前提是自己没写销毁方法)

2.Session储存在服务端,客户端(浏览器)关闭即销毁(若长时间不使用 且 浏览器未关闭的情况下, 默认自动销毁时间为30分钟)

3.Cookie 储存在客户端,由用户自己销毁

 

7.     Java和javaScript区别

答: Java一门面向对象的解释型的编程语言,Javascript基于对象。它们没有任何关系!

 

8.     谈谈sql注入

答: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击.

 

9.     连接池

答: 数据库连接池,简称dbcp  database connection pool

 

存在意义:

数据库的连接是非常耗费系统资源的,一个应用通常都是需要与数据库打交道,也就需要经常连接数据库,这样导致浪费大量系统资源;

 

连接池的原理就是:我事先创建好几个数据库连接放着,当我的系统需要操作数据库时就从连接池里直接拿连接,并将这个连接标记为忙 ;用完后在放会池中,标记为空闲;

当连接池里的连接都在被使用,如果此时还要连接,连接池就会在创建连接放到池里,,这些连接的数量,都是在配置文件里由你控制的

 

10.  Ajax数据结构

答: $.ajax({

                   url: "url,

                   type : "POST",

                   async : false,

                   data : {

                            xxx : xxx

                   },

                   dataType : 'json',

                   success : function(data) {

                            …

                   },

                   error :function(XMLHttpRequest, textStatus, errorThrown) {

                            …

                   }

你可能感兴趣的:(面试题整理)