0%

海康威视0420笔试

25道单选50分,10道多选30分,两道编程题20分

单选

  1. 正则表达式匹配
  2. 程序运行结果
    num1 和 num2 指向的是同一个对象
    Java 中方法始终的值传递,传递的是引用的副本
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public static void main(String[] args) {  
    Integer num1 = new Integer(1);
    Integer num2 = num1;
    work(num2);
    System.out.println(num1.intValue()); // 1
    System.out.println(num1 == num2); // true
    }
    public static void work(Integer integer) {
    integer = new Integer(2);
    }
  3. StampLock(不是可重入锁)
    如果一个线程已经持有写锁(writeLock),再次尝试获取同一把锁会导致死锁
  4. 哪个不是字节流类型
    FileOutputStream、FileInputStream、InputStreamReader(字符流Reader、Writer)、ByteArrayInputStream
  5. Lambda表达式作用(简化函数式接口实现)
  6. 接口的default方法(可以被调用,可以被覆盖实现)
  7. 未认证是哪个状态码(401,请求需要身份认证)
  8. AVL树
  9. sql 语句
  10. zset添加成员并设置分数的命令(zadd)
  11. 什么不是关系型数据库(MongoDB)
  12. 统计网站当前在线人数,count保存的范围是(application)
  13. web开发,数据跨请求存储在哪里
  14. servlet生命周期(加载类、实例化、初始化、请求、销毁)
  15. spring事务传播行为(REQUIRES_NEW无论是否当前是否存在事务,都会创建一个独立的新事务)
  16. 判断是什么数据结构(B(D,R) D{a,b,c,d,e}, R{(a,b),(b,c),(c,d),(d,e),(e,a)} 环形链表)
  17. 代码执行结果
    输出是1,1 靠的是类加载和静态变量初始化的顺序,静态变量按声明顺序初始化
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    public class test {  
    static test t = new test();
    static int a;
    static int b = 1;
    test() {
    a++;
    b++;
    }
    public test getInstance() {
    return t;
    }
    public static void main(String[] args) {
    test t = test.t.getInstance();
    System.out.println(t.a + " " + t.b);
    }
    }
  18. 异常
    子类方法抛出的异常范围不能大于父类方法声明的异常范围
    try-catch,也能捕获Error,但不推荐
  19. 有序单链表插入一个节点的时间复杂度
  20. TCP和UDP区别
  21. Java序列化
    PrinterWriter不能用于对象序列化输出
  22. 程序运行结果
    会编译错误,final修饰的变量一旦赋值,不能被改变
    1
    2
    3
    4
    public void printstr(final String str) {  
    str = str + "!!";
    System.out.println(str);
    }
  23. &和&&
  24. 异常(异常是一种对象,JVM会自动创建)
  25. Having作用(对分组后的结果筛选)

多选

  1. Spring
    配置文件能设置Bean初始化函数和消亡函数
    属性注入可以是简单数据也可以是对象,构造注入可以是对象
    能设置Bean延迟加载
  2. 读配置注解
    @Value、@ConfigurationProperties、@PropertySource 和 Environment接口
  3. 数据引擎要考虑的因素(并发行、查询复杂度、扩展性和可靠性)
  4. Email相关的协议(SMTP、POP3、IMAP、MIME)
  5. final
    修饰类时,不能被继承
    修饰方法时,不能被重写
    修饰变量时,不能被改变
  6. 线程不能运行三种原因(休眠、等待、阻塞)
  7. 反射功能
    运行时判断一个对象的类,获取一个类的成员变量
  8. Object类中的方法
    getClass、clone、equals
  9. inner join、left join、right join
    内连接只返回两表都有的数据
  10. bean中的作用域

编程题

都A了

  1. 最长子序列
  2. SQL题,一个公司表(公司ID,公司名),一个用户表(用户ID,用户名,邮箱,公司ID),一个设备表(设备ID,设备名,公司ID,在线状态),根据用户email,查出设备
    两个join,一开始写的只过40%,后来灵机一动,筛选条件里加上设备状态为在线的就过了
    1
    2
    3
    4
    5
    select u.user_name, c.company_name,d.device_name
    from user u
    left join company c on u.company_id = c.id
    left join device d on c.id = device.company_id
    where u.email = 'xxx' and device.online = 1