`

阿里B2B北京专场java开发面试题(2011.10.29)

阅读更多

 

笔试(只记下来了几道)

1、写出以下代码的输出结果:

	public class DispatchTest {  
		public static void main(String[] args) {  
			Base b = new Sub();  
			System.out.println(b.x);  
		}  
	}  
	  
	class Base {  
		int x = 10;  
	  
		public Base() {  
			this.printMessage();  
			x = 20;  
		}  
	  
		public void printMessage() {  
			System.out.println("Base.x = " + x);  
		}  
	}  
	  
	class Sub extends Base {  
		int x = 30;  
	  
		public Sub() {  
			this.printMessage();  
			x = 40;  
		}  
	  
		public void printMessage() {  
			System.out.println("Sub.x = " + x);  
		}  
	}  

2、这段代码大多数情况下运行正常,但是某些情况下会出问题。什么时候会出现什么问题?如何修正?

	public class MyStack {
		private List<String> list = new ArrayList<String>();

		public synchronized void push(String value) {
			synchronized (this) {
				list.add(value);
				notify();
			}
		}

		public synchronized String pop() throws InterruptedException {
			synchronized (this) {
				if (list.size() <= 0) {
					wait();
				}
				return list.remove(list.size() - 1);
			}
		}
	}

3、画出最熟悉的三个设计模式的类图

4、写代码分别使得JVM的堆、栈和持久代发生内存溢出(栈溢出)

 

第一面(只记得这么多了)

1、笔试题第四题实现又口述了下

2、有个每秒钟5k个请求,查询手机号所属地的笔试题(记得不完整,没列出),如何设计算法?请求再多,比如5w,如何设计整个系统?

3、比较熟悉什么技术?我说jvm和oracle,就让我画jvm的体系结构,画了之后说各个部分的职责,并扯到运行期优化。

 

第二面(没有技术细节,都是泛泛的,但是我回答的比较保守,只觉得能滔滔不绝的说上半小时才敢说看过或了解)

1、是否愿意去杭州

2、熟悉各种技术框架么?源码读过么?

3、数据库了解什么?mysql了解么

4、前台技术,看我用的ExtJS,就问是否了解JQuery

5、进现在的公司,觉得对技术是否有提升?

 

第三面,此面没有技术问题

第四面HR(感觉这面问题回答的有点扯,毕竟是这么几年来首次面HR,之前面过2、3个公司,要么很早就挂了,要么感觉流程太长,自己不愿意面下去)

1、愿意去杭州发展么?我说要考虑,hr就问主要考虑什么问题

2、从技术角度来说,你觉得你跟你同学比怎么样

3、你的父母怎么看待你的

 

分享到:
评论
8 楼 406657836 2013-06-15  
在csdn中发了一篇关于这道题的讨论
http://blog.csdn.net/liguogangde/article/details/9103501
如有问题请及时指出呵。
7 楼 yueyemaitian 2012-12-03  
litianyu0815 写道
结果怎么样?你进阿里了???

嗯,进了tmall
6 楼 litianyu0815 2012-11-06  
结果怎么样?你进阿里了???
5 楼 feikiss 2012-03-16  
yueyemaitian 写道
makemyownlife 写道
您好 向您问一下 这里的这段代码大多数情况下运行正常,但那些情况不正常 我看了半天也没找出来 能否指教一二。

提示一点,notify是可以唤醒wait处的线程,也可以唤醒synchronized处的线程

是说如果list的size为0时,这时同时过来两条pop请求,然后两个线程都在等待,然后另一线程进行了push操作,就会将这两个pop请求的线程均唤醒,然后问题就该出现了,不知我理解正确不。。。
4 楼 yueyemaitian 2012-02-08  
zxwu 写道
yueyemaitian 写道
makemyownlife 写道
您好 向您问一下 这里的这段代码大多数情况下运行正常,但那些情况不正常 我看了半天也没找出来 能否指教一二。

提示一点,notify是可以唤醒wait处的线程,也可以唤醒synchronized处的线程

if (list.size() <= 0)
while (list.size() <= 0)

呵呵,是的
3 楼 zxwu 2012-02-07  
yueyemaitian 写道
makemyownlife 写道
您好 向您问一下 这里的这段代码大多数情况下运行正常,但那些情况不正常 我看了半天也没找出来 能否指教一二。

提示一点,notify是可以唤醒wait处的线程,也可以唤醒synchronized处的线程

if (list.size() <= 0)
while (list.size() <= 0)
2 楼 yueyemaitian 2012-02-06  
makemyownlife 写道
您好 向您问一下 这里的这段代码大多数情况下运行正常,但那些情况不正常 我看了半天也没找出来 能否指教一二。

提示一点,notify是可以唤醒wait处的线程,也可以唤醒synchronized处的线程
1 楼 makemyownlife 2012-02-04  
您好 向您问一下 这里的这段代码大多数情况下运行正常,但那些情况不正常 我看了半天也没找出来 能否指教一二。

相关推荐

Global site tag (gtag.js) - Google Analytics