一、单选题
1、下列哪一种是正确的(A)
A. abstract修饰符可修饰字段、方法和类声明抽象方法不可写出大括号 B. 抽象方法的 body 部分必须用一对大括号{ }包住 C. 声明抽象方法,大括号可有可无
D. abstract修饰符可修饰字段、方法和类
2. 如下代码
public class Test {
public int aMethod() {
static int i = 0; i++; return i; }
public static void main (String args[]) {
Test test = new Test(); test.aMethod();
int j = test.aMethod(); System.out.println(j); } }
输出结果是什么?(D)
A. 0 B. 1 C. 2
D. 编译失败
3. 下列哪种说法是正确的( D)
A. 实例方法可直接调用超类的实例方法 B. 实例方法可直接调用超类的类方法 C. 实例方法可直接调用其他类的实例方法 D. 实例方法可直接调用本类的类方法
4. 在Servlet处理请求的方式为: (C)
A.以进程的方式 B.以程序的方式 C.以线程的方式 D.以响应的方式
5. 以下关于异常的说法正确的是:(D)
A. 一旦出现异常,程序运行就终止了
B. 如果一个方法申明将抛出某个异常,它就必须真的抛出那个异常 C. 在catch子句中匹配异常是一种精确匹配 D. 可能抛出系统异常的方法是不需要申明异常的
6. 下面关于Java的引用,说法正确的是:(B)
A. 应用实际上就是指针 B. 应用本身是Primitive C. 引用就是对象本身
D. 一个对象只能被一个引用所指引
7. 在一个线程中Sleep(1000)方法,将使得该线程在多少时间后获得对CPU的控制(假 设睡眠过程中不会有其他事件唤醒该线程)?(C)
A. 正好1000毫秒 B. 1000毫秒不到 C. =>1000毫秒 D. 不一定
8. 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为 (C)
A、隐藏 B、覆盖 C、重载 D、Java不支持此特性
9. 下列哪些语句关于Java内存回收的说明是正确的? (B)
A、程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存
C、内存回收程序允许程序员直接释放内存
D、内存回收程序可以在指定的时间释放内存对象
10. 如果要让一个对象成为HashMap的key, 需要重写Object的什么方法? (B)
A、clone 和 equals B、hashCode 和 equals C、clone 和 hashCode D、以上都不对
二、简答题(用Java或者伪码都可) 1. 实现快速排序(Quick Sort)
2. 用递归方式实现字符串反转,如输入embrace, 输出为e
3. 请列出你擅长的大数据生态圈技术/产品/框架(如hadoop、spark、kafka等),谢谢。