跳到主要内容

0424-面试-珠海伟思

  1. Excel 导入导出
    • 1000w 11 分半优化到 5 分半
      • 分页查询(用子查询+limit 代替 limit )
      • 使用 SXSSFWorkBook,采用流式写入
      • 尽量重复使用 CellStyle 对象
      • 调整分页查询的大小和一次向 sheet 中写入的数据量
    • 有没有观察性能瓶颈是在哪里?
      • CPU
      • 磁盘
      • 数据库
  2. 线程池
  3. HashMap 源码
    • 底层数据结构
    • 扩容机制
    • hashcode 算法
    • 有序 map 有没有用到过?
  4. List
    • ArrayList
    • LinkedList
    • 底层实现
    • 增删改的复杂度
  5. 设计模式
    • 单例模式:配置
    • 模板:导出 excel,定义一个抽象父类,定义一个导出的方法,子类实现导出的逻辑
    • 策略:数据上传到上游,有多个接口
    • 责任链:数据上报审批的工作流
  6. 采用多线程导出 excel 时,为什么时间不是随着线程的数据线性减少?
    • 资源争夺:多个线程同时访问一个资源
    • 线程管理:线程的创建和销毁(一般会使用到线程池,线程只创建一次),上下文切换
    • CPU 核心数小于线程数,导致线程切换
    • 并行度设计:有些任务是有先后执行顺序的,必须等前一个任务执行完才能执行。
  7. 有没有做过压力测试?