0%

oppo 2025426笔试

单选20题40分,编程3题60分

单选

  1. 代码运行结果
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public static void main(String[] args) {  
    HashMap<String, Integer> map = new HashMap<>();
    map.put("A", 1);
    map.put("B", 2);
    map.put("C", 3);
    for(String key : map.keySet()) {
    map.put(key, map.get(key) + 1);
    }
    for(String key : map.keySet()) {
    // A 2 B 3 C 4
    System.out.println(key + ": " + map.get(key));
    }
    }
  2. linux查看文件后10个字符的命令
    tail -c 10 文件名 或者 cat xxx.txt | tail -c 10
  3. mG大小的数组排序,存储空间只有mG大小,哪个排序算法会出错(哪个排序算法需要额外的空间)
    归并排序、基数排序需要额外空间
  4. 代码运行结果
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class MyException extends Exception{  

    }
    class Me {
    void drink(){}
    }
    class MySon extends Me {
    void eat() throws MyException {}
    }
    子类重写方法时,抛出的异常不能比父类更宽泛
    父类方法无异常声明时,子类重写方法不能新增编译时异常
  5. HTTP不适合实时聊天应用的原因
    效率低,每次通信都要三次握手,协议开销大
  6. 29个节点的无向连通图,至少多少条边(28)
  7. c++代码运行结果
    代码含义是,清楚最低位1,输出9999,一共有8个1
    1
    2
    3
    4
    5
    6
    7
    8
    int compute(int p) {
    int num = 0;
    while (p) {
    num++; // 统计1的个数
    p = p & (p - 1); // 清除最低位的1
    }
    return num;
    }
  8. 分页32位,页号18位,那么最大页长多少(2^14)
  9. ArrayList 和 LinkedList
    LinkedList 底层是双向链表
  10. 代码运行结果
  11. 资源被永久移动的状态码是(301,302是临时移动资源)
  12. HTTPS中验证服务器身份的是(数字证书)
  13. Linux磁盘挂载
  14. Mysql
    主键唯一且不为空
    delete删除表数据,不删除表结构
    TRUNCATE 清除所有表数据
    视图不存储数据,但用于更新
  15. 求时间空间复杂度
  16. 二叉树,深度为i的节点值为i,高度为6,节点总数N为多少
  17. new 和 malloc的区别
    new一个对象自动调用一次构造
    new[] 多个对象,每个对象自动调用一次构造
    malloc 使用free释放内存,并不是用delete
    new分配的内存用delete释放
  18. c++ 内联函数
    inline 函数在编译时被展开
    类中的成员函数会自动转成内联函数
  19. 顺序、链式、索引、散列存文件有什么特点
  20. 关系型数据库每张表几个主键(一个)

编程题

C卷的题目

  1. n长度的数组代表河流,每个位置0为空,1代表有石头,可以踩在石头上过河,求要到达河对面的最长一步最短为多少(15分)
    模拟,看最大一步需要跨多大
  2. n行n列的01方阵,要求进行一些操作使A方阵和B方阵相等,一次操作能选择A一行或一列反转(0变成1,1变成0),最少几次能做到A等于B,若A不能变成B返回-1(1<=n<=4)(20分)
    数据范围小,枚举,每行每列有两种选择,翻转或不翻转,翻转的顺序不影响结果
  3. 有两个n长度的数组a和b,a、b之间的距离为:0- i下标对(ai-bi)^2求和。一次操作能选择a或b中的一个元素加一或减一,最多能操作K次,求距离最小缩小到多少(0<=ai,bi,K<=1e9 0<=n<=1e5)(25分)