1.项目介绍,主要问一些动态限流相关的实现
2.简历上写了有redis大key、热key治理经验,问了下如何治理的(大key拆分+数据压缩,LRU本地缓存+Redis构成多级缓存)
3.场景题:5000qps写用户-商品收藏关系,10w qps读收藏关系。
如何设计(mq+redis+mysql的具体设计);
Redis的存储结构设计+如何优化(bitmap);
mq死信队列如何处理?重试导致的数据一致性问题如何解决(redis记录时间戳)
还有什么办法来保证redis和mysql的数据一致性么(没思路,面试官说做数据对账)
写场景下有必要使用mq来异步处理嘛?(qps低不需要,还要额外去处理引入的数据不一致、消费失序等问题)
mysql负载过大如何处理(读写分离);
mysql能够处理的最大qps多少(1~10w?)
每年产生数十亿条收藏关系,如何存(分库分表),如何定位存到哪个库(根据用户id或商品id确定,一开始说的做一致性哈希,但没必要,强行增加维护成本与难度)
4.算法题:最长递增子序列
总结,面试官特别友善,场景问题描述得很清晰,举了很多例子帮助我理解。我不会的地方也会给我提示,总体感觉非常好