前天去一个公司面试(公司就不说了,反正不是一般的外包公司,小公司),在面谈之后,他们知道我没经验,就说给我一份Javase的面试题,虽说是javase的题目,前面是Javase部分的东西,后面什么都有吧,hibernate缓存机制,spring的ioc aop,还有struts方面的东西,因为题目都是基本概念,我感觉答得还可以,只是有一点我很郁闷,有一个题目是找错误的,题目要求就是找错代码中错误的地方,但是那几行代码本来就没有错,当时我也有点蒙,就按照他考察的意图答了代码是这样的
public class Test {
void dosomeThing(){
String s = "";
int i = s.length();
}}
我当时想根本就没有错误啊,但是我估计是他是写错了,应该是String s;不应该初始化s,这样你int i = s.length();时肯定有错了。我也就是String s="";我就按照s没有初始化的情况来回答,肯定有错,但是它给出的题目没有错,还叫找错,我很郁闷,虽然我知道自己挂了(估计他们是招有经验的),但是我还是怀疑他们在面试上不够专业。

解决方案 »

  1.   

         在eclipse中试了下,真没发现估计就是看下你的信息,和基础咯!
      

  2.   

    一般是这样的:
    String s = "";
    int i = s.length;
    你那个是对的。
      

  3.   

    类中的函数一般都要定义可见性的吧,这里面的doSomeThing()没有定义public什么的,虽然可以运行,不过不规范。。我是这么认为的,不知道对不对,呵呵
      

  4.   

    我看是肯定有错,JAVA面试题大全里我这里有, 
      你自己找一下同类的→点击进入
      

  5.   

    我也觉得,他本来应该想写
    S.length;让你改错的。
      

  6.   

    还有一种可能,是因为没有指明public之类,破坏了封装性。SCJP的考试中有过这种题。