Java面试题

全部教程

×

初级Java工程师面试题(42~81企业真题)

42、设有一个二维数组 A[m][n],假设A[0][0]存放的位置在 644(10),A[2][2]存放的文职在676(10)每个元素占一个空间,问 A[3][3](10)存放在什么位置? 脚注(10)表示用 10进制表示(C)

A.688

B.678

C.692

D.699

43、下列代码执行结果是(B)

public static void main(String args[]) {
    Thread t = new Thread() {
        public void run() {
            pong();
        }
    };
    t.run();
    System.out.print("ping");
}
static void pong() {
    System.out.print("pong");
}

A.pingpong

B.pongping

C.pingpong 和 pongping 都有可能

D.都有可能

44、下面程序能正常运行吗(可以)

class NULL {
    public static void haha() {
        System.out.println("haha");
    }
    public static void main(String[] args) {
        ((NULL) null).haha();
    }
}

45、解释一下什么是 Servlet, 说一说 Servlet 的生命周期

Servlet 是一种服务器端的 Java 应用程序,具有独立于平台和协议的特性,可以生成动态的 Web 页面。 它担当客户请求(Web 浏览器或其他 HTTP 客户程序)与服务器响应(HTTP 服务器上的数据库或应用程序)的中间层。Servlet是位于 Web 服务器内部的服务器端的 Java 应用程序,与传统的从命令行启动的 Java 应用程序不同,Servlet 由 Web 服务器进行加载,该 Web 服务器必须包含支持 Servlet 的 Java 虚拟机。

Servlet 生命周期可以分成四个阶段:加载和实例化、初始化、服务、销毁。当客户第一次请求时,首先判断是否存在 Servlet 对象,若不存在,则由 Web 容器创建对象,而后调用 init()方法对其初始化,此初始化方法在整个 Servlet 生命周期中只调用一次。完成 Servlet 对象的创建和实例化之后,Web 容器会调用 Servlet 对象的 service()方法来处理请求。当 Web 容器关闭或者 Servlet 对象要从容器中被删除时,会自动调用 destory()方法。

46、过滤器有哪些作用和用法?

对于一个 web 应用程序来说,过滤器是处于 web 容器内的一个组件,它会过滤特定请求资源请求信息和响应信息。一个请求来到时,web 容器会判断是否有过滤器与该信息资源相关联,如果有则交给过滤器处理,然后再交给目标资源,响应的时候则以相反的顺序交给过滤器处理,最后再返回给用户浏览器。

常见的过滤器用途主要包括:对用户请求进行统一认证、对用户的访问请求进行记录和审核、对用户发送的数据进行过滤或替换、转换图象格式、对响应内容进行压缩以减少传输量、对请求或响应进行加解密处理、触发资源访问事件等。

47、写出一个冒泡排序

public static void bubbleSort() {
    int arr[] = {-5, 29, 7, 10, 5, 16};
    for (int i = 1; i < arr.length; i++) {
        for (int j = 0; j < arr.length - i; j++) {
            if (arr[j] < arr[j + 1]) {
                int temp;
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
    for (int i = 0; i < arr.length; i++) {
        System.out.print(" " + arr[i] + " ");
    }
}

48、写出一个单例的实现(懒加载方式)

class LazySingleton {
    private LazySingleton() {
    }

    private static class SingletonHolder {
        private static LazySingleton instance = new LazySingleton();
    }

    public static LazySingleton getInstance() {
        return SingletonHolder.instance;
    }
}

 49、2006 年某人连续打工 24 天,共赚了 190 元(日工资 10 元,星期日工资 5 元,星期日休息无工资)。已知他打工是从 1 月下旬的某一天开始的,这个月的 1 日恰好是星期日, 这人打工结束的那一天是 2 月(C)日

A.2 月 6 日

B.2 月 14 日

C.2 月 18 日

D.2 月 21 日

50、由甲地到乙地有一天线路的巴士,全程行驶时间 42 分钟,到达总站后,司机至少休息 10 分钟,巴士就掉头行驶,如果这条线路甲,乙两边总站每隔 8 分钟都发一辆(不必是同一时间),则这条线路至少需要是多少俩巴士(C)

A.15

B.14

C.13

D.12

51、编号为 1 至 10 的 10 个果盘中,每盘都盛有水果,共盛放 100 个。其中第一盘里有 16 个,并且编号相邻的三个果盘中水果是的和都相等,求第 8 盘中水果最多可能有几个(A)

A.11

B.12

C.13

D.14

52、假设一个池塘,里面有无穷多的水,现在有 2 个空水壶,容积分别是 5 升和 6 升,问如何用这两只水壶取得 3 升水。

5L 桶打满水,全部倒入 6L 桶;

5L 桶再次打满,往 6L 桶倒水至其满。此时 5L 桶留下 4L 水;

6L 桶清空,将 5L 桶中的 4L 水倒入 6L 桶;

5L 桶打满水,往 6L 桶倒水至其满,则 5L 桶中得 3L 水。

53、在房里有三盏灯,房外有三个开关,在房外看不见房内的情况,你只能进门一次,你用什么方法来区分那个开关控制哪一盏灯。

先打开第一个开关,开一会再关上,然后打开第二个开关进入房间再摸一下每个灯,发热的那盏是第一个开关的,亮的那盏是第二个开关的,没变化的那盏是第三个开关的。

54、两个盲人,他们各自买个两双黑袜和白袜,8 双袜子的布质,大小完全相同,每双袜子都有 1 张商标纸连着,两位盲人不小心把 8 双袜子混在的一起,问他们怎样才能取回黑袜和白袜各两双。

把每双袜子分成两只。每人各拿一只。这样,每人手中就有四只黑袜,四只白袜。每人也就有两双黑袜,两双白袜了。

55、一楼到十楼的每层电梯门口都方和一颗钻石,钻石大小不一,你乘坐电梯从一楼到十楼,每层楼电梯门都会打开一次,手里只能拿一颗钻石,问怎样才能拿到最大的钻石。

电梯每层都会开一下的,所以,在第一层就拿,到第二层,看到更大就换一下,更小就不换,一直这样上去,到最上层后,拿到的就是最大的。

56、ArrayList list = new ArrayList(20);语句中的 list 集合大小扩充了几次(A)

A.0

B.1

C.2

D.3

57、如果去掉了 main 方法的 static 修饰符会怎样(B)

A.程序无法翻译。

B.程序能正常编译,运行时或抛出 NoSuchMethodError 异常。

C.程序能正常编译,正常运行。

D.程序能正常编译,正常运行一会会立刻退出。

58、启动 java 程序进程时,输入一下哪个参数可以实现年轻代的堆大小为 50M(C )

A.-Xms50M

B.-Xmx50M

C.-Xmn50M

D.-Xss50M

59、下面程序输出的结果是(A)

static boolean foo(char c) {
    System.out.print(c);
    return true;
}

public static void main(String[] args) {
    int i = 0;
    for (foo('A'); foo('B') && (i < 2); foo('C')) {
        i++;
        foo('D');
    }
}

A.ABDCBDCB

B.ABDCDBCB

C.ABDBCDCB

D.ABDBCDCB

60、下面哪些是 Thread 类的方法(A,B,D)

A.start()

B.run()

C.exit()

D.getPriority()

61、以下语句输出的结果是什么(C)

System.out.print(Integer.MAX_VALUE*2);

System.out.print(Integer.MIN_VALUE*2);

A.-2 -1

B.-1 -2

C.-2 0

D.-1 -1

62、