概述
笔试部分
一、b的结果为
int a = 2;
int b = (a++)/3;
System.out.println(b);
答案:0
二、下列哪些输出为true
float f = 10f;
Double d = 10.0;
int a = 10;
Double e = d;
System.out.println(f == d);
System.out.println(f == a);
System.out.println(f == e);
System.out.println(a == e);
System.out.println(d.equals(f));
答案:除了最后一个其他都为true。
三、下面代码的运行结果
public class A {
int a = 3;
public A(){
if (a == 5){
printA();
}
}
public void printA(){
System.out.println(a);
}
class B extends A{
int a = 5;
public void printA(){
System.out.println(a);
}
}
@Test
public void test(){
A a = new B();
}
}
答案:没有输出结果。
四、类可以多继承吗?
答案:不能
五、接口可以多继承吗?
答案:可以
六、Set集合的元素可以重复吗?根据什么来判断重复的?
答案:不能重复,根据key和hashcode来判断的。
七、写出三个中断线程相关的方法
stop()(已废弃)、interrupt()、isInterrupted()、interrupted()
八、匿名内部类可以定义多个构造方法吗?
答案:匿名内部类不能定义构造方法。
九、switch语句可以使用什么数据类型?
答案:int、byte、char、short、String(jdk1.7+)
(其实还有一些题,想不起来了)
上机部分
要求使用给定的已经搭好框架工程(SSM框架),连接Oracle数据库,并且自己设计员工表和部门表,外键关联,然后使用代码做增删改查的操作。
由于Oracle数据库长时间没有使用,主键这一块要使用序列,上机的时候没想起来,但是建表语句以及主要的代码基本都写出来了,但很可惜,结果没运行出来。
技术面试
主要问了一些框架以及Tomcat服务器、数据库、高并发处理措施等问题。
一、简单说一下MVC框架的运行流程
我的答案:我拿SpringMVC举例,用户发送的请求先由前端控制器拦截,前端控制器根据映射地址找到相应的Handler处理请求,处理完之后返回一个ModelAndView逻辑视图对象,这个视图不是最终的视图,经过渲染之后返回给浏览器,呈现给用户。
二、Tomcat服务器的最大连接数大概是多少?
答案:我的答案是500左右(我记得在哪看到过,但是这个是错误的)。
面试官的补充:Linux的和Windows的不太一样,Linux的最大连接数大概是1000个左右。
三、高并发访问下,怎样缓解数据库的压力?
我的答案:读写分离、SQL语句优化。
面试官的补充:缓存(redis)。
四、访问量超过Tomcat服务器的最大连接数怎么办?
我的答案:搭集群、使用nginx做负载均衡。
五、会使用io流读取字符串吗?
我的答案:忘记了。(这个其实我是会的,但当时真没想起来)
六、对多线程这一块熟悉吗?
我的答案:不太熟悉。(这一部分确实不太熟悉,得加强)
七、简述一下反射机制的原理,在什么地方用到过?
我的答案:反射这一块接触的很少,一般就在连接数据库加载驱动的时候用到。(该加强啊!!!)
面试官的补充:Spring框架就是基于反射原理的。
最后
以上就是畅快黑猫为你收集整理的Java面试总结(01)的全部内容,希望文章能够帮你解决Java面试总结(01)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复