货拉拉
一面:
结合项目询问八股
1.解释一下缓存击穿缓存穿透缓存雪崩并给出解决方案
2.说一下redis数据怎么保持一致性的
3.如果有热key怎么处理的
4.redis集群主从数据不一致怎么处理的(不会,面试官说不会也没事,现在确实没比较完善的处理方式
5.说一下怎么解决redis并发问题
6.如果reids挂掉数据直接打到数据库怎么保证并发
还有一些细节问题记不太清了,围绕项目
二面:
依然是项目拷打,不过更深更细节
1.介绍一下你的项目,说一下流程
2.一人一单超卖问题怎么解决的?(这里问的很细,比如reids用什么做key怎么存储的,存了哪些信息都会问
3.你说到redis用用户id做key那我多个业务都需要用这个用户id怎么办
4.除了用用户id做key还有什么方式
5.如果你用业务做key用户id存入set集合那么这种方式,那么此时有一个热点key你怎么解决(我回答了主从复制,分片集群
6.你这里都是写数据可以用主从复制吗?然后我说用分片集群,于是继续问分片的话你这里key只有一个怎么分片呢?并且说一下分片集群是什么流程(答得不好,没想出来一个key怎么分片
7.你的下单流程是怎么样的?
8.你判断下单资格以后直接返回下单成功可是如果你消息发送出去消费者因为一些意外情况消费失败怎么办呢?(这里又延伸到了一些死信交换机延迟队列等等问题
9.手撕算法给一个数组里面有不同元素其中一个元素数量大于数组长度一半(我一开始用排序,面试官说有没有时间复杂度低的,我又用哈希,面试官又问有没有时间复杂度空间复杂度都低的。不会了
还有一些细节问题记不清了,都是围绕项目
总结:八股问的很少,更多的都是项目拷打与场景问题,需要对项目有一定理解。但八股还是要多背,背的多了遇到关联的知识点可以凭借八股的储备引导面试官的提问方向靠近你会的。 算法感觉还是看运气,遇到的都是没刷过的