时间:9.2

1. 选择题

部分选择题内容

  • 网络状态304,什么意思?

    自上次访问以来,请求的资源未被修改

  • JVM中 HashMap 的初始容量是多少?

    16

  • 有 n 个线程,每个线程需要 m 个资源 x,最少需要多少个资源 x 才可以避免发生死锁?

  • 一个子网掩码的题

  • 一个链表删除节点的题

  • 一个完全二叉树,有200个节点,有多少叶子节点?

    100

  • 一个递归的题,输入8,问输出结果是多少

  • 为减少 CPU 中断,采用什么机制(问题记不清了)?

    应该是缓冲

  • 有以下代码:

User.java

public class User {
    private String name;
    private int age;

    {
        System.out.println("A");
    }

    static {
        System.out.println("B");
    }

    User(){
        System.out.println("C");
    }

    User(int age,String name){
        this.age = age;
        this.name = name;
        System.out.println("D");
    }
}

Student.java

public class Student extends User{
    {
        System.out.println("a");
    }

    static {
        System.out.println("b");
    }

    Student(){
        System.out.println("c");
    }

    Student(int age,String name){
        super(age,name);  // 调用父类中带有参数的构造器
        System.out.println("d");
    }
}

执行 User user = new Student(12,”Tom”); 会输出什么?

BbADad(父类中的静态代码、子类中的静态代码、父类中的非静态代码、父类中的有参构造方法、子类中的非静态代码、子类中的有参构造方法)

更多扩展可见:继承和多态的子类和父类代码执行顺序研究

2. 编程题

编程题明显就是在刷业绩。。

  1. 给了一个 0-9 数字的集合,让输出它们能组成的最大数字。

    直接从大到小排序,再在转换成整数……

  2. 两个链表拼接加排序

    最小堆加修改指针……

  3. 青蛙跳楼梯,只是变成了一个人旅游,一天可以去1-2个地点,问有多少种方法。

    最简单的动态规划问题……