斩获美团秋招!感谢大麦项目!

最开始时用的点评项目,面试官总问我有什么亮点?我是真的回答不上来啊

后来在gitee上看到了大麦这个项目,介绍的也比较好,就跟着学习了,亮点确实不少,用的是SpringCloud微服务
我把面试时问过的问题贴出来,八股文就不贴了,只贴和项目有关的,希望对大家有帮助

1. 项目中的分布式锁设计上使用了多种使用方式,为什么这么设计?还提到了事务问题,会造成什么问题?
2. 为什么要使用本地锁和分布式锁结合的方式?在不同用户选择不同票价的情况下,多个加锁和解锁的操作不会有问题吗?
3. 在解决缓存击穿的问题上,我看项目中提到可以把锁去掉来进一步提高并发?具体是怎么做的?
4. 存在缓存雪崩的问题吗?如何处理的?
5. 订单的分库分表用到了基因法,详细说说?
6. 用户购票后的剩余数量在数据库和缓存中一致性是怎么保证的?
7. 在Redis中怎么设计的存储?都使用了什么数据结构?如果进一步拆分?
8. 项目中提高了深度使用了Springboot的自动装配机制?这个深度使用体现在了哪里?
9. 在使用ElasticSearch来显示演唱会的分页,那深分页问题怎么解决的?
10. 对Redisson进行分片拆分设计提高延迟订单关闭的效率?这个分片拆分是怎么设计的?和分库分表的分片是一回事吗?
11. 分布式链路id为什么不用Skywalking而是自己设计?在使用线程池的情况下如何解决传递的?
12. 用树形结构来搭建业务验证这种方式不觉得麻烦吗?真正作用在哪里?
13. 项目中用到了这么设计模式,分别都是在哪里运用的?在设计的过程中是如何思考?
14. 详细讲讲灰度服务的过滤流程,如果我不在请求头中传递的话,还有其他的方式吗?
15. 觉得项目中哪方面带给你的帮助最大?不一定是技术方面

还有一些其他的问题,不太重要,这里就不写出来了

其实刚才说的这些问题,有些细节没有答的很好,因为时间有点来不及,星哥说让我以后慢慢的学习整个项目对工作也有帮助

当时星哥和我说 面试后会帮我好好复盘总结,只要帮忙宣传一下项目就行,现在既然已经成功了,那就帮忙一下

项目中的亮点其实还挺多的,我自己也没学完,像锁的优化、数据一致性、缓存穿透、击穿、雪崩、缓存粒度的控制、分库分表、设计模式什么的都有了

面试官对项目中的解决方案也是比较有兴趣

项目地址在gitee上搜索 damai 就可以了
全部评论
m
1 回复 分享
发布于 11-03 16:20 广东
m
点赞 回复 分享
发布于 10-13 12:43 北京
m
点赞 回复 分享
发布于 10-13 20:01 湖北
m
点赞 回复 分享
发布于 10-26 00:02 广东
m
点赞 回复 分享
发布于 11-04 15:21 江苏
校招就会那么多?
点赞 回复 分享
发布于 11-04 18:02 北京
m
点赞 回复 分享
发布于 11-08 18:16 湖北
m
点赞 回复 分享
发布于 11-11 12:07 四川

相关推荐

10-30 00:18
已编辑
门头沟学院 Java
推荐个Java的微服务开源项目,项目是仿制的大麦网购票系统,涉及了微服务、分库分表、本地缓存/分布式缓存、消息中间件、线程池、本地锁/分布式锁等主流技术。有的功能接口比如生成订单还提供了多个版本,针对一些高并发场景逐步进行优化,实现了多种解决方案。这次秋招突击学习了几周,用这个项目替换了之前的单体项目去面试,很明显的感觉到一面、二面的通过率提升了不少。面试过程中面试官也问了挺多关于项目的问题,整理了下大概有这些:1. 使用微服务架构的优势是什么,拆分微服务的依据是什么?2. 分库分表怎么做的?分库分表在设计时会碰到哪些问题?怎么解决的?3. 项目中提到针对缓存击穿、缓存雪崩、缓存击穿做了优化,具体是怎么实现的?4. 分布式链路ID为什么不用Skywalking而是自己实现?异步调用时是怎么解决跨线程传递的?5. 项目中哪些地方用到了Redis缓存,是如何实现缓存一致性的?6. 你提到了使用了本地缓存+redis缓存实现多级缓存,怎么保证多级缓存的一致性?多实例情况怎么解决?7. 项目中哪些地方用到了分布式锁,使用分布式锁的时候有碰到什么问题吗?8. 你提到项目中实现了自定义的分布式锁组件,为什么要这么做,解决了哪些问题?9. 项目里提到了用redisson实现了分布式延迟队列,具体是怎么实现的?10. 购票时的余票扣减是怎么实现的?为什么要用lua+redis来实现,有没有更好的方法?目前碰到面试官问过的,主要就是这些问题,项目内容还是挺多的,代码量也很大,还有很多知识点都没来得及深入学。项目本身是完全开源的,具体地址在gitee上搜damai应该就能找到。
点赞 评论 收藏
分享
7 59 评论
分享
牛客网
牛客企业服务