时间:9.12 晚 7:30~8:40一、自我介绍二、八股拷打2.1 说一下RabbitMQ的顺序消息和无序消息?2.2 RabbitMQ怎么解决幂等性问题?2.3 RabbitMQ消息失败重试的方式?2.4 你说Consumer会提交ack,不提交Broker会重发,过多久时间就会重发?2.5 RabbitMQ如何实现消息广播?2.6 Mybatis了解吗?Mapper.xml的#和$有什么区别?2.7 你刚才提到了预编译SQL,那你讲讲jdbc预编译SQL的原理?2.8 预编译的SQL会执行几次?2.9 假如jdbc有个update语句,说一下MySQL一条update的执行流程?2.10 MySQL的架构包含哪些部分?2.11 redolog是干什么的?它用来保证原子性吗?2.12 binlog工作在Server层还是存储引擎层?2.13 可重复读的实现原理是什么?MVCC?2.14 MySQL默认的事务隔离级别是什么?2.15 delete和truncate的区别?2.16 truncate涉不涉及事务?2.17 truncate属于DDL还是DML语句?2.18 表里有个字段varchar(10),想改成varchar(20),我在alter修改表结构的时候,会锁住表吗?如果此时有CRUD操作会怎样?为什么?2.19 select a from xxx where b=1 order by c,怎么创建索引效率高?2.20 select a from xxx where b>1 order by c,怎么创建索引效率高?2.21 说一下Java中ReentrantLock的原理?三、手撕3.1 MessBuilder接口void save(String message)保存消息,每执行一次save花费2.5ms。请实现MessageBuilder的批量保存接口int saveBatch(List messages),必须满足下面3个要求: - saveBatch最多保存100条消息 - saveBatch花费的时间不能超过50ms - 返回成功保存消息的条数3.2 leetcode-402. 移掉 K 位数字四、反问4.1 对自己的建议?