• mysql有哪些引擎?

      • MyISAM 和 InnoDB
        • 表级锁、行级锁
        • 支持事务、不支持事务(最大区别)
        • 聚集索引、非聚集索引
        • 存储表的行数、InnoDB不存储表的行数
      • 什么是数据库引擎?
        • xxxxx
      • 为什么要有数据库引擎?
        • 各有特点
      • 在什么情况下适合使用MYISAM以及InnoDB
        • xxxxx
    • 有100w条数据,数据会实时更新,如何获取最大的前100个值,面试官提示用堆

      1. 1. <br />
    • i++是原子操作吗?底层有几步

      • 不是
        1. 从内存中加载到寄存器
        2. 寄存器中的值++
        3. 将寄存器中的值写回内存
    • 一个进程包含100个线程,一个cpu有四个核心,这四个核心都会被使用吗?我回答可以,因为线程是cpu调度基本单位,也不知道对不

      • https://www.zhihu.com/question/401721046/answer/1288907876
      • 一个cpu核心有一套寄存器,可以执行一个任务(一般是线程),所以一个核心同一时刻只能运行一个线程。(不论这个线程是哪个进程的,cpu眼里没有进程的概念)。每隔一定时间(没记错的话是20ms)会切换线程(可能是同一个进程的线程,也可能是另外一个进程的线程,如果是其它进程的线程,会切换cr3)。
    • 数组中存在大量相同的数,快速排序会有什么问题吗

      • https://juejin.cn/post/6844904062958174222#heading-3
      • 对于含有大量重复元素的数组,使用上述的快速排序效率是非常低的,因为在我们上面的判断中,如果元素小于v,则将元素放在v部分。此时,如果数组中有大量重复元素,>v部分会变得很长,导致左右两边不均衡,性能降低。