- hashMap底层结构,hash算法的好处是什么,为什么采用数组加链表,数组有哪些特性(内存地址连续,查找快),怎么解决哈希碰撞,链地址法;
- 并发编程需要注意哪些地方,如何处理变量的线程安全,sycronized关键字原理
- 分布式锁实现方式,有什么区别,为什么redission是重量级,为什么数据库做分布式锁性能不如redis
- redis为什么是单线程的,为什么不采取多线程,redis为什么快
- redis的ZSet底层结构,解释一下什么是压缩链表,什么是跳表,跳表是一种什么实现思想,这种思想在什么其他地方使用到过。(多级索引)
- mysql索引有哪些使用上的经验,为什么要必建主键索引,没有主键索引的话查询一定会走全表扫描吗,哈希索引哪些地方会用到,为什么用的比较少,怎么理解最左原则,底层原理是什么,为什么不遵循最左原则就不走索引了。
用户没有定义主键,那么InnoDB会使用第一个非空的唯一索引作为聚簇索引;
用户既没有定义主键,也没有定义唯一索引,那么InnoDB会自动生成一个不可见的ROW_ID的列名为GEN_CLUST_INDEX的聚簇索引,该列是一个6字节的自增数值,随着插入而自增。
没有建立主键的话就没法通过主键来进行索引,查询的时候都是全表扫描,大数据量就会出现性能问题。
而且不设置主键,在进行写操作的时候,由于ROW_ID是共享的,这意味着插入的时候需要共享该序列,那么高并发插入的时候为了保持自增的唯一性就避免不了锁的竞争,进而影响性能。
- 建索引的时候要考虑哪些东西,为什么索引量大了不好,了解过前缀索引吗
- 怎么进行慢sql治理
- 怎么检查表字段是否合理
- mysql的事务有了解过吗,怎么实现事务的
- 讲讲事务的传播性,transaction注解做了哪些事,讲讲代理模式
- Kafka可以做哪些事,有哪些特性,讲讲Kafka架构怎么保证高可用的,是什么思想,
- 讲讲之前做过的项目觉得内容最多的,比较难的地方,你是怎么解决的。
- 用spring-security的时候遇到过哪些难点。
- 手撕算法:二叉树的层序遍历
版权归原作者 M78在逃工程师 所有, 如有侵权,请联系我们删除。