论坛首页 入门技术论坛

某公司的java笔试题,来测测你的基础如何吧

浏览 53080 次
该帖已经被评为新手帖
作者 正文
   发表时间:2010-06-02   最后修改:2010-06-08

这是一套提供给中级以上程序员使用的笔试题,题目很简单,但请不要忽视它们背后所引申出的问题:

1。

public class Test {

	public static boolean get() {
		try {
		       return  false;
		} finally {
		       return  true;
		}
	}
	//请大家思考一个问题,return的具体实现是什么?如果返回false,为什么;如果返回是true,又是为什么呢?给个你认为正确答案的理由出来,这才是考题的目的
	public static void main(String[] args) {
		System.out.println(get());
                }
}

 

求打印结果?

2。以下哪些变量名的定义是不合法的?

String a , a.b , 0a , _a , a_ , a0 ;

 

3。

public static void main(String[] args) {
         String classPath = "java.lang.String";
         System.out.println(classPath.replaceAll(".", "/"));
}

 

求打印结果?

4。

public static void main(String[] args) {
         StringBuilder sb = new StringBuilder();
         switch(1) {
	case 1 : sb.append("Hello a");
	case 2 : sb.append("b");
	case 3 : sb.append("c");
	default : sb.append("d");
          }
          System.out.println(sb.toString());
}

 求打印结果?

5。

public class Increment {
    public static void main(String[] args) {
        int j = 0;
        for (int i = 0; i < 100; i++)
            j = j++;
        System.out.println(j);
    }
}

 

求打印结果?

6。

public class HelloGoodbye {
    public static void main(String[] args) {
        try {
            System.out.println("Hello world");
            System.exit(0);//你知道这句话真正含义之后这道题就很简单了
        } finally {
            System.out.println("Goodbye world");
        }
    } 
}

 

写出打印结果并给出简单描述。

7。

import java.util.*;

public class DatingGame {
    public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();
        cal.set(1999, 12, 31); // Year, Month, Day
        System.out.print(cal.get(Calendar.YEAR) + " ");

        Date d = cal.getTime();
        System.out.println(d.getDay());
    }
}

 

写出打印结果?

 

。。。。。。

总共20多个题吧,太多了,后续再加上

主要还有涉及内部类、异常处理、final方法、final域、浮点数的精度问题、集合类HashMap、HashSet的操作,泛型、包装类、char、short和int值的混合计算、静态变量和方法的初始化(类的初始化)

接口和抽象类的区别,还有写sql的,比较简单。

另外,有两个上机笔试题,上机测试是在笔试通过之后才有的流程,二选一

1。 编写一个类,将指定路径下的所有文件的名称打印出来(递归方法)

2。 给你一个文本文件,请找出文件中数据的规律,并且将指定日期范围内的数据列表抽取出来(io操要比较熟悉)

记不起来了,以上是我在机器里跑了一遍的,拿过来跟大家分享下

写了这么多,好辛苦啊,希望朋友们别抨我口水哈,欢迎投精,我会继续补充剩下的那些笔试题的。

   发表时间:2010-06-02  
确实够基础!
0 请登录后投票
   发表时间:2010-06-02  
答错了一个,不好感觉这些题怎么这么恶心啊。

哪个变态公司出这题。
0 请登录后投票
   发表时间:2010-06-02  
thank you
0 请登录后投票
   发表时间:2010-06-02  
这些貌似都会。
0 请登录后投票
   发表时间:2010-06-02  
IrenBJ 写道

5。

public class Increment {
    public static void main(String[] args) {
        int j = 0;
        for (int i = 0; i < 100; i++)
            j = j++;
        System.out.println(j);
    }
}

 

求打印结果?


请说说为什么 打印是 0

0 请登录后投票
   发表时间:2010-06-02  
mathfox 写道
答错了一个,不好感觉这些题怎么这么恶心啊。

哪个变态公司出这题。

这些个题很恶心吗?不觉得啊,我反而觉得出的很好,既然我暴露了这些题,不仅希望大家能把结果写出来,更重要的是大家知道这些题都分别考了哪些知识点吧。从这个角度去看,我觉得还是非常好的。java基础功底不错的人答这些题应该是游刃有余的,并且在知道答案的时候也知道为什么会是这个答案,这才是重点。
0 请登录后投票
   发表时间:2010-06-02  
比较适合初级程序员 考SCJP时就考类似题型
0 请登录后投票
   发表时间:2010-06-02  
感觉很简单啊,莫非我一不小心就中级程序员了?
0 请登录后投票
   发表时间:2010-06-02  
wnick 写道
IrenBJ 写道

5。

public class Increment {
    public static void main(String[] args) {
        int j = 0;
        for (int i = 0; i < 100; i++)
            j = j++;
        System.out.println(j);
    }
}

 

求打印结果?


请说说为什么 打印是 0


那我先问问你,j++和++j的区别在哪里? 明白了这两者的区别我想这道题应该就不难得出正确结果了。

0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics