第一部分 Java基础
第二部分 Java进阶

企业Java实战面试题

1、在Java中,负责对字节代码解释执行的是()?

A.应用服务器

B.虚拟机

C.垃圾回收器

D.编译器

答案选:B

2、一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈输出的序列的是()?

A.5 4 1 3 2

B.2 3 4 1 5

C.1 5 4 3 2

D.2 3 1 4 5

答案选:B

3、下列那一个选项按照顺序包括了OSI模型的7个层次()?

A.物理层数据链路层传输层网络层会话层表示层应用层

B.物理层数据链路层会话层网络层传输层表示层应用层

C.物理层数据链路层网络层传输层会话层表示层应用层

D.网络层传输层物理层数据链路层会话层表示层应用层

答案选:C

4、当客户度关闭一个从连接池中获取的连接,会发生下面哪一种情况()?

A.连接不会关闭,只是简单地归还给连接池

B.连接被关闭,但又被重新打开并归还给连接池

C.连接永久性关闭

答案选:A

5、以下哪些不是javaScript的全局函数()?

A.eval

B.escape

C.setTimeout

D.parseFloat

答案选:C

6、你使用mkdir命令创建一个临时的文件夹/tmp/aaa,并将一些文件复制其中,使用完后要删除/mnt/tmp文件夹及其中的所有文件,应该使用命令()?

A.rm/tmp/aaa

B.rm–r/tmp/aaa

C.rmdir–r/tmp/aaa

D.rmdir/tmp/aaa

答案选:B

7、在UML提供的图中,()用于按数据顺序描述对象间的交互?

A.协作图

B.网络图

C.序列图

D.状态图

答案选:C

8、下面有关系统并发访问数估算数据哪个最有效:()?

A.高峰时段日处理业务量100000

B.高峰时段平均每秒请求数80

C.同时在线用户100

D.平均每秒用户请求50

答案选:B

9、不同级别的用户对同一对象拥有不同的访问权利或某个客户端不能直接操作到某个对象,但有必须和那个对象有所互动,这种情况最好使用什么设计模式()?

A.Bridge模式

B.Facade模式

C.Adapter模式

D.Proxy模式

答案选:D

10、下面哪个Set是排序的?()?

A.LinkedHashSet

B.HashSet

C.TreeSet

D.AbstractSet

答案选:C

11、编程题:用1,2,2,3,4,5这6个数字,用Java写一个main函数,打印出所有不同的排列,如:512234,412345等,要求:“4”不能在第三位,“3”与”5”不能相连。

package com.bjpowernode.test;
import java.util.Iterator;
import java.util.TreeSet;
public class NumberRandom {
    String[] stra = {"1", "2", "2", "3", "4", "5"
    };
    int n = stra.length;
    boolean[] visited = new boolean[n];
    String result = "";
    TreeSet<String> ts = new TreeSet<String>();
    int[][] a = new int[n][n];
    private void searchMap() {
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                if (i == j) {
                    a[i][j] = 0;
                } else {
                    a[i][j] = 1;
                }
            }
        }
        //3和5不能相连
        a[3][5] = 0;
        a[5][3] = 0;
        //开始遍历
        for (int i = 0; i < n; i++) {
            search(i);
        }
        Iterator<String> it = ts.iterator();
        while (it.hasNext()) {
            String str = it.next();
        //4不能在第三位
            if (str.indexOf("4") != 2) {
                System.out.println(str);
            }
        }
    }

    private void search(int startIndex) {
        visited[startIndex] = true;
        result = result + stra[startIndex];
        if (result.length() == n) {
            ts.add(result);
        }
        for (int j = 0; j < n; j++) {
            if (a[startIndex][j] == 1 && visited[j] == false) {
                search(j);
            } else {
                continue;
            }
        }
        //一个result结束后踢掉最后一个,寻找别的可能性,若没有的话,则继续向前踢掉当前最后一个
        result = result.substring(0,result.length() - 1);
        visited[startIndex] = false;
    }
    public static void main(String[] args) {
        new NumberRandom().searchMap();
    }
}

12、编程题:一个数如果恰好等于它的因子之和,这个数就称为”完数”.例如6=1+2+3。编程找出1000以内的所有完数。

public class wsTest{
    public static void main(String[]args){
        for(int m=2;m<1000;m++){
            int s=0;
            for(int i=1;i<m;i++){
                if((m%i)==0)
                    s+=i;
            }
            if(s==m){
                System.out.print(m+"its factors are:");
                for(int j=1;j<m;j++)
                {
                    if((m%j)==0){
                        System.out.print(j);
                        System.out.print("");
                    }
                }
                System.out.println();
            }
        }
    }
}

结果:​​​​​​​

6 its factors are:1 2 3
28 its factors are:1 2 4 7 14
496 its factors are:1 2 4 8 16 31 62 124 248

 

全部教程