Java面试总结(01)

笔试部分

一、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();
    }
}

答案:没有输出结果。

四、类可以多继承吗? 

扫描二维码关注公众号,回复: 2215368 查看本文章

答案:不能

五、接口可以多继承吗?

答案:可以

六、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框架就是基于反射原理的。

猜你喜欢

转载自blog.csdn.net/u012430402/article/details/81023523
今日推荐