[转]面试java架构师的比较变态的题目

1.变态指数 4
     int x=4;
     System.out.println("value is " +((x>4)?99.9:9));
     答案: 9.0
问号表达式的后面两个条件有要求,因为前面的是float,所以后面转为float.
     估计出题者才通过SCJP的考试。
    
2.变态指数 5
     public class Test {
         public static void main(String[] args) {
    int x = 4;
   java.util.Date date = (x > 4) ? new A() : new B();
   }
     }
    
     class A extends java.util.Date {}
     class B extends java.util.Date {}
    
答案: 编译不通过,
     不知道出题人的意图
    
3.变态指数 6
     String s=new String("abc");
     创建了几个String对象?
     答案: 2个
     这样的公司最好不要去
    
     4.变态指数 7
     const是不是java的关键字?
     答案: const是java的关键字,但是java没有实现它
     一般人绝对用不到它
    
     5.变态指数 8
     short s1 = 1; s1 = s1 + 1;与 short s1 = 1; s1 += 1;那个错?
     答案: 1错2对
1因为向上转型了,最后导致类型不匹配错误 , 因为s1的+=是一个操作符,能够自动转型,
     short s1 = 1;
     s1 = s1+1;这句话在c++里面可以的
     不知道出题人的意图

6.变态指数 9
     上海贝尔的面试题:你认为效率最高的方法,实现从1加到100.
     答案 1-100的累加相当于加50次101,这样循环次数从100次降为50次:
     int sun = 0
     for(int i = 1,j = 100 ; i <= 50 ; i++,j--){
     sun = sun + i + j;
     }
     出题人脑子有问题,直接(1+100)*50不是最快...其实类似这样的优化应该不是程序员考虑的范畴吧
    
7.变态指数 10
     System.out.println(5.0942*1000);
     System.out.println(5.0943*1000);
     System.out.println(5.0944*1000);的结果
     答案 :5094.2 5094.299999999999 5094.400000000001
     原理和浮点数的计算机表示方式有关 ,你不用上机,就答对了,你最好去微软,接替安德尔森.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值