1. java基础面试题都有哪些
1.java异常机制的原理与应用
答:每当程序出现异常之后,如果程序没有进行相应的处理,则程序会出现中断现象。
实际上,产生了异常之后,JVM会抛出一个异常类的实例化对象,如果此时使用了try语句捕获的话,则可以进行异常的处理,否则,交给JVM进行处理。当try语句捕获异常之后,将与catch语句的异常类型进行匹配,如果匹配成功则执行catch内的语句。简单的应用:在所以throws语句的地方加入try-catch。标准应用:try-catch-finally-throw-throws一起使用。
2. 垃圾回收机制的优点
答:释放无用的对象所占用的空间。方式:自动回收,手动回收。使用System.gc(),实际上调用Runtime.getRuntime().gc()
3. Error与Exception区别
答:Error是jvm进行处理,是jvm出错
exception是可以由程序处理的,可以用try-catch捕获的
4. final,finally,finallize
答:final定义的变量的值不能改变,定义的方法不能被覆盖,定义的类不能被继承
finally是异常的统一出口,finallize是垃圾回收前的收尾工作,是Object类定义的
5. Anonymous Inner Class是否可以extends,是否可以implements Interface
答:允许继承和实现,因为匿名内部类就是在抽象类和接口的基础上发展起来的
6. Static Nested Class 与Inner Class的区别
答:使用Static定义的Class就是外部类,可以通过外部类. 内部类直接访问
而Inner Class是不能被外部访问的,只能通过外部类的实例再找到内部类实例。
7. HashMap and HashTable?
答:HashMap:1) released in jdk 1.2,new Class 2)采用异步处理方式,性能较高,是非线程安全的 3)允许null
HashTable:
1)released in jdk 1.0 ,old Class
2)采用同步处理方式,性能低,是线程安全的
3)不允许null
8. assert代表什么?
答:asserts是jdk 1.4之后发布的新关键字,表示断言,即程序执行到某个地方肯定是预计的值,一般开发很少使用。要使用assert,必须加上 -ea参数
9. gc是什么?
答:gc是garbage collection,垃圾回收,使用gc可以进行垃圾空间的释放
10. String s = new String("xyz")产生了几个对象?
答:一个匿名对象xyz,在栈空间内。一个new实例化的对象,在堆空间内。
11. sleep() and wait()?
答:sleep()是Thread类定义方法,表示线程的休眠,可以自动唤醒
wait()方法是Object类定义的方法,需要手动notify()和notifyAll()//sleep()不释放资源,wait()释放资源
12. Overload与Override的区别
答:Overload:重载
|- 在一个类中定义的若干方法
|- 所有的方法名相同,但参数类型或个数不同
|- 只有参数有关,与返回类型无关
Override:覆写
|- 在继承的关系中
|- 子类定义了父类同名的方法,参数类型或个数最好完全一样。
|- 访问权限不能更严格
13. abstract class 和 interface有什么区别?
答:抽象类:
|-由抽象方法和常量、变量、全局常量、构造方法、普通方法组成
|-使用abstract声明
|-子类要通过extends继承抽象类,子类如果不是抽象类,则必须覆写抽象类的全部抽象方法
|-存在单继承的局限
|-抽象类可以实现若干个接口
接口:
|-由抽象方法和全局常量组成
|-使用interface关键字
|-子类要通过implements实现接口,子类如果不是抽象类,则必须覆写抽象类的全部抽象方法
|-一个子类可以实现多个接口
|-接口不能继承一个抽象类,但允许继承多个接口
2. java web 考试2题
第一题 在servlet里用 resqust.getParameter("userID"); resqust.getParameter("userType"); 可以拿到相应的值。然后自己打印一下。
第二题 设计Book和DVD两个实体内,就对应两张表了 我不知容道为什么要用继承 。。
3. java web考试题
<!DOCTPYEhtml>
<html>
<head>
<title>表单页</title>
<metacharset="utf-8"/>
</head>
<body>
<formmethod="get"action="b.html">
姓名:<inputtype="text"id="name"name="name"value=""/>(必填)<br/>
密码:<inputtype="password"id="pwd"name="pwd"value=""/>(必填)<br/>
确认密码:<inputtype="password"id="cpwd"name="cpwd"value=""/><br/>
性别:<inputtype="radio"name="sex"id="sex0"checked="checked"value="男"/>
<labelfor="sex0">男</label>
<inputtype="radio"name="sex"id="sex1"value="女"/>
<labelfor="sex1">女</label><br/>
爱好:
<inputtype="checkbox"name="hobby"id="hobby0"checked="checked"value="计算机"/>
<labelfor="hobby0">计算机</label>
<inputtype="checkbox"name="hobby"id="hobby1"value="音乐"/>
<labelfor="hobby1">音乐</label>
<inputtype="checkbox"name="hobby"id="hobby2"value="体育"/>
<labelfor="hobby2">体育</label>
<inputtype="checkbox"name="hobby"id="hobby3"value="文学"/>
<labelfor="hobby3">文学</label><br/>
星座:
<selectid="constellation"name="constellation">
<optionvalue="牡羊座">牡羊座</option>
<optionvalue="金牛座">金牛座</option>
<optionvalue="双子座">双子座</option>
<optionvalue="巨蟹座"selected="selected">巨蟹座</option>
<optionvalue="狮子座">狮子座</option>
<optionvalue="室女座">室女座</option>
<optionvalue="天平座">天平座</option>
<optionvalue="天蝎座">天蝎座</option>
<optionvalue="人马座">人马座</option>
<optionvalue="山羊座">山羊座</option>
<optionvalue="宝瓶座">宝瓶座</option>
<optionvalue="双鱼座">双鱼座</option>
</select>
<br/>
个人简介:<textarearows="5"cols="20"id="intro"name="intro"></textarea><br/>
<inputtype="submit"value="提交"/><inputtype="reset"value="重置"/>
</form>
</body>
</html>
<!DOCTYPE>
<html>
<head>
<metacharset="utf-8"/>
</head>
<body>
您的姓名是:<spanid="name"></span><br/>
您的密码是:<spanid="pwd"></span><br/>
您的性别是:<spanid="sex"></span><br/>
您的爱好是:<spanid="hobby"></span><br/>
您的星座是:<spanid="constellation"></span><br/>
您的简介是:<br/><spanid="intro"></span>
<scripttype="text/javascript">
functiongetData(){
leturl=location.href;
letnum=url.indexOf("?");
letdata=url.substr(num+1);
letarrays=data.split("&");
for(letiinarrays){
letn=arrays[i].indexOf("=");
if(n>0){
letname=arrays[i].substr(0,n);
letvalue=decodeURI(arrays[i].substr(n+1));
console.log("name="+name+",value="+value);
if(name=="name"){document.getElementById("name").innerHTML=value;}
if(name=="pwd"){document.getElementById("pwd").innerHTML=value;}
if(name=="sex"){document.getElementById("sex").innerHTML=value;}
if(name=="hobby"){document.getElementById("hobby").innerHTML=value;}
if(name=="constellation"){document.getElementById("constellation").innerHTML=value;}
if(name=="intro"){document.getElementById("intro").innerHTML=value;}
}
}
}
getData();
</script>
</body>
</html>
上面的代码存为a.html,后面的代码存为b.html,把两文件放在一起即可。这是纯Html代码,没有后端代码。
你要是要用JavaWeb的话,那就需要建项目了,这儿没法写了。
4. 寻找腾讯淘宝等公司的java web开发面试题
我刚刚过了淘宝的面试 准备去实习 其实这些公司看重的还是java基础 j2se的内容
java常用集合内
字符串问题
常见的异常容 处理方法
list的子类
删除重复数据 最快方式
抽象类 接口 之间的区别联系
jsp两种跳转方式
jsp page对象 内置对象 两种包含方式
servlet struts 线程安全
struts spring 之间问题
spring事务管理
jdbc事务管理
jdbc批量插入数据
jdbc使用流程
statenment preparestatement之间的区别
内部类 什么时候使用 实例化内部类
数据库常用语句
URL URI区别
这些是我面试时候主要的问题总结 还是基础比较重要的啊
再就是他们搜索研发部 很看重算法 而且题目都不简单啊