读书人

阿里地区B2B北京专场java开发面试题(

发布时间: 2012-08-31 12:55:03 作者: rapoo

阿里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、你的父母怎么看待你的

?

1 楼 makemyownlife 2012-02-04 您好 向您问一下 这里的这段代码大多数情况下运行正常,但那些情况不正常 我看了半天也没找出来 能否指教一二。 2 楼 yueyemaitian 2012-02-06 makemyownlife 写道您好 向您问一下 这里的这段代码大多数情况下运行正常,但那些情况不正常 我看了半天也没找出来 能否指教一二。
提示一点,notify是可以唤醒wait处的线程,也可以唤醒synchronized处的线程 3 楼 zxwu 2012-02-07 yueyemaitian 写道makemyownlife 写道您好 向您问一下 这里的这段代码大多数情况下运行正常,但那些情况不正常 我看了半天也没找出来 能否指教一二。
提示一点,notify是可以唤醒wait处的线程,也可以唤醒synchronized处的线程
if (list.size() <= 0)
while (list.size() <= 0) 4 楼 yueyemaitian 2012-02-08 zxwu 写道yueyemaitian 写道makemyownlife 写道您好 向您问一下 这里的这段代码大多数情况下运行正常,但那些情况不正常 我看了半天也没找出来 能否指教一二。
提示一点,notify是可以唤醒wait处的线程,也可以唤醒synchronized处的线程
if (list.size() <= 0)
while (list.size() <= 0)
呵呵,是的 5 楼 feikiss 2012-03-16 yueyemaitian 写道makemyownlife 写道您好 向您问一下 这里的这段代码大多数情况下运行正常,但那些情况不正常 我看了半天也没找出来 能否指教一二。
提示一点,notify是可以唤醒wait处的线程,也可以唤醒synchronized处的线程
是说如果list的size为0时,这时同时过来两条pop请求,然后两个线程都在等待,然后另一线程进行了push操作,就会将这两个pop请求的线程均唤醒,然后问题就该出现了,不知我理解正确不。。。

读书人网 >编程

热点推荐