1.自我介绍一下
2.项目架构,描述一下最近做过的一个项目及你的收获?
3.接下来就是技术面试
设计模式懂哪些?
这个一下子有点想不起来,想了一会儿,才断断续续的答出:
单例模式(继续问:写一个出来)
工厂方法模式,继续问,该模式主要用在哪里?
策略设计模式(Comparator)
适配器模式(InputStreamReader)
后来的面试过程中,又想到了动态代理设计模式(Spring BeanFactory),责任链设计模式(Filter),模板方法模式(Servlet 的service 方法).
Set接口的特点。
答:无序,不重复(继续问:怎么判断不重复。答:equals方法,这个答案似乎与他的想法有点不一致,所以他继续问:就equals方法吗?我刚听到这个问题不是很理解。随即他又举了HashMap的例子,问HashMap 为什么可以那么快的找到对象,我说那是因为散列存储的缘故。)
接口与抽象类的区别?(在使用上)
这个问题有点难度,答不上来
抽象类可以有构造函数吗?
之前想当然的以为抽象类不能实例化,所以不需要构造函数啊,他就说是不需要还是不可以。
这个实际上是可以的,他还给我举了个例子。一个类继承抽象类的情况,而且这个抽象类里有实例变量。现在想来,这个应该也能证明继承时实际上在内存里只是创建了一个对象吧(因为抽象类不能实例化,如果这一点是对的话)
线程问题,我回来用代码验证一下:
第一个问题是main 方法里的f1 ,f2 能正常执行吗?
我当时想想这个没怎么问题啊,但是又有点担忧,再想想了一下,有没有异常需要捕捉呢?
他说不需要。然后我很犹犹豫豫的答了,应该没问题吧,然后他也跟我说了这个是不会有问题的,我无语了。。。。
第二个问题是f1里调用f2可以吗?
我说可以,他给的解释比较专业,我没听懂,他说这个方法是可重入的,然后又提了信号量的?
我说大学学过,现在具体有点记不清了
接下来又问了线程池,
我说仅仅是了解,讲了java Concurrent 包
技术就到这儿。
最后另外一个人面的
她问了我:
对于加班的情况的看法。
还提了一个问题: 有两个5升水的水壶和6升水的水壶,然后问说怎么盛出3升水来。
一时没想出来。
然后就让我反问问题。
2.项目架构,描述一下最近做过的一个项目及你的收获?
3.接下来就是技术面试
设计模式懂哪些?
这个一下子有点想不起来,想了一会儿,才断断续续的答出:
单例模式(继续问:写一个出来)
工厂方法模式,继续问,该模式主要用在哪里?
策略设计模式(Comparator)
适配器模式(InputStreamReader)
后来的面试过程中,又想到了动态代理设计模式(Spring BeanFactory),责任链设计模式(Filter),模板方法模式(Servlet 的service 方法).
Set接口的特点。
答:无序,不重复(继续问:怎么判断不重复。答:equals方法,这个答案似乎与他的想法有点不一致,所以他继续问:就equals方法吗?我刚听到这个问题不是很理解。随即他又举了HashMap的例子,问HashMap 为什么可以那么快的找到对象,我说那是因为散列存储的缘故。)
接口与抽象类的区别?(在使用上)
这个问题有点难度,答不上来
抽象类可以有构造函数吗?
之前想当然的以为抽象类不能实例化,所以不需要构造函数啊,他就说是不需要还是不可以。
这个实际上是可以的,他还给我举了个例子。一个类继承抽象类的情况,而且这个抽象类里有实例变量。现在想来,这个应该也能证明继承时实际上在内存里只是创建了一个对象吧(因为抽象类不能实例化,如果这一点是对的话)
线程问题,我回来用代码验证一下:
public class Test{
public synchronized void f1(){
System.out.println("hello f1");
// comment this at the first question
f2();
}
public synchronized void f2(){
System.out.println("hello f2");
}
public static void main(String[] args){
Test test1 = new Test();
[color=red]test1.f1();
test1.f2();[/color] }
}
第一个问题是main 方法里的f1 ,f2 能正常执行吗?
我当时想想这个没怎么问题啊,但是又有点担忧,再想想了一下,有没有异常需要捕捉呢?
他说不需要。然后我很犹犹豫豫的答了,应该没问题吧,然后他也跟我说了这个是不会有问题的,我无语了。。。。
第二个问题是f1里调用f2可以吗?
我说可以,他给的解释比较专业,我没听懂,他说这个方法是可重入的,然后又提了信号量的?
我说大学学过,现在具体有点记不清了
接下来又问了线程池,
我说仅仅是了解,讲了java Concurrent 包
技术就到这儿。
最后另外一个人面的
她问了我:
对于加班的情况的看法。
还提了一个问题: 有两个5升水的水壶和6升水的水壶,然后问说怎么盛出3升水来。
一时没想出来。
然后就让我反问问题。