IT培训网 - IT职场人学IT技术上IT培训网
一文囊括2018最新java面试题及答案
时间:2018-07-04 13:17:18 来源:Java培训网 作者:IT培训网 已有:名学员访问该课程
2018最新的java面试题是什么?技术的番新连带着面试题也是与时俱进,java面试中能够胜出,这是一个关键因素,下面IT培训网小编就帮助大家盘点2018年最新的java面试题及其答案,详见如下!
2018最新最全java面试题及答案
一、代码查错(每个5分)
1.short s1 = 1;
s1 = s1 + 1;
答:s1+1运算结果是int型,需要强制转换类型。
2.abstract class Name {
private String name;
public abstract boolean isStupidName(String name) {}
}
答:abstract method必须以分号结尾,且不带花括号
3.public class Something {
void doSomething () {
private String s = "";
int l = s.length();
}
}
答:局部变量前不能放置任何访问修饰符 (private,public,和protected)。final可以用来修饰局部变量
4.abstract class Something {
private abstract String doSomething ();
}
答:abstract的methods不能以private修饰。
5.public class Something {
public int addOne(final int x) {
return ++x;
}
}
答:int x被修饰成final,意味着x不能在addOne method中被修改
6.interface A{
int x = 0;
}
class B{
int x =1;
}
class C extends B implements A {
public void pX(){
System.out.println(x);
}
public static void main(String[] args) {
new C().pX();
}
}
答:在编译时会发生错误(错误描述不同的JVM有不同的信息,意思就是未明确的x调用,两个x都匹配(就象在同时import java.util和java.sql两个包时直接声明Date一样)。对于父类的变量,可以用super.x来明确,而接口的属性默认隐含为 public static final.所以可以通过A.x来明确
二、问答题
1.数组有没有length()这个方法? String有没有length()这个方法?(3分)
答:数组没有length()这个方法,有length的属性。String有length()这个方法。
2.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?(3分)
答:可以。必须只有一个类名与文件名相同
3.String 和StringBuffer的区别?(3分)
答:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。
4.说出Servlet的生命周期?(5分)
答:Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
5.forward 和redirect的区别?(6分)
答:forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。
redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。
6.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? (3分)
答:switch(expr1)中,expr1是一个整数表达式。因此传递给switch 和case 语句的参数应该是int、short、char 或者byte。long,string 都不能作用于swtich。
7.JSP的内置对象及方法?(5分)
答:request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。
response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)
out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。
pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。
session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息
applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息
config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。
page表示从该页面产生的一个servlet实例
8.说出你知道的设计模式?(3分)
答:Factory(工厂模式), Builder(建造模式), Factory Method(工厂方法模式),
Prototype(原始模型模式),Singleton(单例模式), Facade(门面模式),
Adapter(适配器模式), Bridge(桥梁模式), Composite(合成模式),
Decorator(装饰模式), Flyweight(享元模式), Proxy(代理模式),
Command(命令模式), Interpreter(解释器模式), Visitor(访问者模式),
Iterator(迭代子模式), Mediator(调停者模式), Memento(备忘录模式),
Observer(观察者模式), State(状态模式), Strategy(策略模式),
Template Method(模板方法模式), Chain Of Responsibleity(责任链模式)
三、数据库(每个4分)
为学生选课,建立3个表:
Studen学生表 (
SID --学号,
SNAME --学生姓名,
SDEPT --所属单位,
SAGE --学生年龄
)
Course课程表 (
CID --课程编号,
CNAME --课程名称,
)
Stugrade成绩表(
SID --学号,
CID --课程编号,
GRADE --成绩
)
(1)使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名?
答案:select SID ,SNAME from student where SID in(select SID from course,stugrade where course.CID=stugrade.CID and course.CNAME=’税收基础’)
(2) 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位?
答:select SNAME,SDEPT from student s,stugrade sc where s.SID=sc.SID and sc.CID=’c2’
(3) 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位?
答:select SNAME,SDEPT from student where SID not in(select SID from stugrade where CID=’c5’)
(4)查询选修了课程的学员人数
答:select count(distinct SID) from sc
(5) 查询选修课程超过5门的学员学号和所属单位?
答:select SNAME,SDEPT from student where SID in(select SID from stugrade group by SID having count(distinct CID)>5)
四、编程实现字符串abcdefg倒序输出。(10分)
五、说说职业规划(8分)
每期开班座位有限.0元试听抢座开始!
温馨提示 : 请保持手机畅通,咨询老师为您
提供专属一对一报名服务。
- 上一篇:java程序员常见的面试笔试题有哪些
- 下一篇:史上最全的JAVA软件工程师面试题