前言
总结前两天巨衫数据库校招笔试的错题,我投的是Java岗(数据库云平台开发),题目不难,考的有Java基础(一些工具类的使用、Map、单例模式)、数据结构(二叉树遍历、快速排序、手写排序代码),虽然笔试过了,但面试答的很不好
错题总结
1、Java类执行顺序:下列代码的输出结果是:
package com.cuoti;
/**
* @author: Radish
* @date: 2020-11-16 0:13
*/
class HelloA {
public HelloA(){
System.out.println("HelloA");
}
{
System.out.println("I'm A class");
}
static {
System.out.println("static A");
}
}
class HelloB extends HelloA {
public HelloB() {
System.out.println("HelloB");
}
{
System.out.println("I'm B class");
}
static {
System.out.println("static B");
}
}
public class ConstructTest1 {
public static void main(String[] args) {
new HelloB();
}
}
综上执行顺序:
- 父类静态初始化块
- 静态初始化块
- 父初始化块
- 父构造方法
- 初始化块
- 构造方法
2、快速排序:10,2,99,4,13,8,1,7 (假定选择10作为第一轮快排的key),第一轮排序后的结果
确保关键字边都比它小,右边都比它大
7,2,1,4,8,10,13,99
所有顺序:
第一趟:(7 2 1 4 8)10(13 99)
第二趟:(4 2 1)7(8)10(13 99)
第三趟:(4 2 1)7 8 10 13 (99)
第四趟:(1)2(4)7 8 19 13 99
第五趟:1 2 4 7 8 19 13 99