0%

美的20250317笔试

两个算法题限制Java语法,虽然简单,但不熟

单选

  1. 线程同步关键字
    synchronizedvolatileReentrantLock
  2. 快排思想
    快速排序的基本思想是通过选择一个“基准”元素,将数组分为两部分,使得一部分的所有元素都小于基准,另一部分的所有元素都大于基准,然后递归地对这两部分进行排序。
  3. sleep() 和 wait() 区别
    sleep()
    • 定义:sleep()Thread类的一个静态方法。
    • 功能:它使当前正在执行的线程暂停执行指定的时间(以毫秒为单位),期间该线程不会释放任何锁,也就是说,如果一个线程调用了sleep()方法,它仍然持有之前获取的所有锁。
    • 使用场景:当你希望线程暂时停止执行一段时间,而不涉及线程间的协作时可以使用sleep()。例如,在模拟延迟或定时任务中。
      wait()
    • 定义:wait()Object类的一个实例方法。
    • 功能:它必须与同步块或同步方法一起使用,并且会释放当前对象的锁。当一个线程调用某个对象的wait()方法时,这个线程会被加入到该对象的等待队列中并进入等待状态,直到另一个线程调用同一个对象的notify()notifyAll()方法来唤醒它。
    • 使用场景:主要用于线程之间的协作,比如生产者-消费者问题中,用来协调多个线程对共享资源的访问。
  4. 数组和链表区别
    数组静态分配内存、链表动态分配内存,数组和链表都分配在堆区
  5. 代码运行结果
    1
    2
    3
    4
    public static void main(String[] args) {  
    int i = 4;
    System.out.println("value值为:" + (i > 4 ? 99.9 : 9)); // 输出: value值为:9.0
    }
  6. 事务ACID性质
  7. 存储引擎
    1. InnoDB用自适应哈希索引(Adaptive Hash Index, AHI)加速
  8. 数据库可重复读特点
    只有幻读问题
  9. 数据库默认隔离级别
    可重复读
  10. 线性链表特点
    元素在逻辑上顺序,在物理存储上,不是顺序的

不定向

  1. Redis 惰性删除+定期删除
  2. 垃圾回收机制特点
  3. OS内存管理:段表、页表
  4. List 的 Iterator,打印元素
    1
    2
    3
    4
    while (iterator.hasNext()) {
    String element = iterator.next();
    System.out.println(element);
    }
  5. 垃圾回收策略
    CMS收集器是老年代的收集器

编程题

  1. 不限语言,核心代码模式
  2. 限制Java,核心代码模式
  3. 限制Java,ACM模式