`
naouguhtaeyeti
  • 浏览: 20016 次
文章分类
社区版块
存档分类
最新评论

面试小结

阅读更多
1.自我介绍一下
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升水来。
一时没想出来。
然后就让我反问问题。

















分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics