尔湾科技

  • 灰度发布是怎么做的?

  • SpringBoot的组件的加载机制?

  • SpringBoot starter的加载?有没有自己实现过Starter

  • 有没有了解过SPI

  • Java锁有没有了解过?

  • 乐观锁与悲观锁有没有在项目中使用过?

  • 分布式锁 redis zk 具体实现机制?

  • Redission如何解决redis分布式锁的缺陷?

  • 可用性系统的实时性?

  • 报警是怎样实现的?

  • MySQL索引的数据结构?

  • Hash索引和B树索引有什么区别?

  • hash索引是否可以进行范围查询?

  • MySQL 行级锁,表级锁?

innodb 行级锁分为两种(共享锁(shared lock)读锁)和(排他锁(exclusive lock)写锁)
读锁是共享的,或者说是互相不阻塞的。多个客户在同一时刻可以同时读取同一个资源,而互不干扰。
写锁是排他的,也就是说一个写锁会阻塞其他的写锁和读锁,这是出于安全模式的考虑,只有这样,才能确保在给定时间内,只有一个用户能执行写入,并防止其他用户读取正在写入的同一资源。

在一个事务中无论开启了排它锁还是共享锁,对于另一个事务中的普通查询(非锁查询)都是不影响的(可以查询出来的),因为普通查询没有任何锁机制

如果事务A开启了排他锁
事务B在执行的时候无论使用共享锁还是排他锁,都查询不出来

如果事务A开启了共享锁
事务B如果开启了共享锁,可以查询
如果开启了排他锁,无法查询 因为排他锁与共享锁不能存在同一数据上。

mysql InnoDb引擎中update,delete,insert语句自动加排他锁

  • 限流是怎么做的?限制的QPS还是限制的数

  • SpringCloud Alibaba有没有了解 dubbo gateway zuul

  • Kafka的限流是怎么做的?

可以通过bin/kafka-configs.sh脚本来实现限流
可以针对 user client-id (user,client-id)三个维度来配置限额。

//配置user+clientid。例如,user为”user1”,clientid为”clientA”。
bin/kafka-configs.sh  --zookeeper localhost:2181 --alter --add-config 'producer_byte_rate=1024,consumer_byte_rate=2048' --entity-type users --entity-name user1 --entity-type clients --entity-name clientA
//配置user。例如,user为”user1”
bin/kafka-configs.sh  --zookeeper localhost:2181 --alter --add-config 'producer_byte_rate=1024,consumer_byte_rate=2048' --entity-type users --entity-name user1
//配置client-id。例如,client-id为”clientA”
bin/kafka-configs.sh  --zookeeper localhost:2181 --alter --add-config 'producer_byte_rate=1024,consumer_byte_rate=2048' --entity-type clients --entity-name clientA

你可能感兴趣的:(尔湾科技)