变态面试题

来源:互联网 发布:fragment design淘宝 编辑:程序博客网 时间:2024/04/25 11:28
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
原理和浮点数的计算机表示方式有关 ,你不用上机,就答对了,你最好去微软,接替安德尔森.

原创粉丝点击