美团日常一面凉经

问了个人情况和最近有哪些实习面试
介绍部门情况,疯狂拷打项目。
以为大公司看不上玩具项目,只会问八股,没怎么准备,被问的汗流浃背,一问细节就懵逼
项目问题:
1.讲一个秒杀优惠卷的一个流程?
2.如何保证秒杀业务的超卖问题?
    乐观锁
3.rua脚本能解决业务的多线程安全问题么?
    保证了业务的原子性(多条redis命令一次性执行完),不能保证多线程的安全问题,多线程安全是通过setnx完成的
4.首页的随机blog是按排序规则去显示的?  
    根据点赞数排序(select * from tb_blog order by liked)
5.feed流推送原理,普通人和网红大v会一样么?
    推拉结合,普通人直接推流,网红大v对于普通粉丝采取主动拉取的方式,对于死粉采用推的方式。
6.feed流数据保存在哪里?
    保存在redis中,每个用户都有自己一个信箱feed:user_id,当关注者发布新推文时候,会把blog_id推送到粉丝信箱里
7.blog的评论是怎么展示,万一有上万条评论怎么办?

8.blog在数据库是怎么保存的?
    发布人id,关联商铺id, 标题,图片地址(探店的照片最多9张,多张以","隔开),内容,点赞数

9.blog点赞接口,如何避免一个重复点赞?
    在redis维护了一个set,key为blog:liked:id,保存了点赞该博客的用户id。

10.项目哪些地方用到互斥锁?
    避免在长时间的缓存重建商铺,高并发请求导致缓存击穿;

11.看你存在点赞排行blog的功能,点赞排行如何实现,排行数据在哪里维护和更新,假如点赞更新,会立马更新么?
    当时回答是在redis中维护了点赞的排行,实际黑马点评中是直接查数据排序的,没认真看源码,给自己挖坑。如果是根据sortedset保存blog_id,然后score是点赞数的话。可以通过异步线程去更新数据库。或者是点赞完以后主动更新redis和mysql。

12.商铺缓存更新策略是什么?
    先修改数据库,后删除缓存。如果直接更新缓存,如果该数据没有用户查询都是无效数据。其此先数据库后缓存删除比先缓存删除后数据库更新更能避免脏数据出现

13. 为什么用redisson?
提供了分布式锁(分布式系统多进程可见的锁,实现了一人一单,锁住userID),

最后一道算法题炸裂
面试官我想做数据结构和算法,我说算法刷的比较多点,他说这道比较简单。
力扣16题,上来就没有思路,太菜了很常规一道题,面试官又给思路,又帮忙改bug,到最后都没a出了,估计是真把面试官整无语了

总结:面试官人很好,感觉一开始回答问题已经漏洞百出,还愿意给我面了将近2h

思考:
1. 热门博客实现(按照点赞数排行)
黑马点评实现是直接查数据库(order by liked)。
gpt分析
     - Redis有序集合:可以利用Redis的Sorted Set数据结构,将博客的ID作为成员,点赞数作为分数(score)。
     -  使用缓存与数据库结合的方式:将前10名的博客数据缓存到Redis中,定期或在数据更新时刷新缓存。(感觉不适合点赞频繁场景)
     -  使用消息队列异步更新:用户点赞时,将点赞事件写入消息队列(如Kafka、RabbitMQ)。消费者从消息队列中读取点赞事件,更新Redis和数据库中的数据。定期同步: 定期将Redis中的数据同步回数据库,以确保持久化。
全部评论
投美团十多天了,简历初筛都没消息,麻了
2 回复 分享
发布于 2024-10-19 09:49 山东
我当时也是聊得好好的 手撕没出来
2 回复 分享
发布于 2024-10-17 21:01 上海
哥,我想请问一下rabbitmq优化黑马点评的教程哪里可以看呀 真的很感谢
点赞 回复 分享
发布于 2024-12-06 00:15 辽宁
感觉好难啊
点赞 回复 分享
发布于 2024-11-12 17:24 河北
我今天面试的也是被拷打了异步秒杀之类的,但是我没有笔试
点赞 回复 分享
发布于 2024-10-31 00:23 辽宁
项目是点评吗😂
点赞 回复 分享
发布于 2024-10-24 17:13 湖北
佬有结果了吗
点赞 回复 分享
发布于 2024-10-21 15:00 黑龙江
选数据结构会怎样
点赞 回复 分享
发布于 2024-10-19 20:49 江苏
2h,卧槽,这得多煎熬啊😭两小时被拷打
点赞 回复 分享
发布于 2024-10-18 18:15 湖北
佬官网投了你是隔几天约面的
点赞 回复 分享
发布于 2024-10-18 11:36 江苏
佬,啥部门啊
点赞 回复 分享
发布于 2024-10-18 11:26 湖南
哪个岗位啊佬
点赞 回复 分享
发布于 2024-10-18 09:15 山西
佬啥部门
点赞 回复 分享
发布于 2024-10-17 23:31 湖北
什么时候投的
点赞 回复 分享
发布于 2024-10-17 20:58 陕西

相关推荐

2025-12-08 16:04
门头沟学院 Java
本人本科末9,今年大三。大一大二一直玩,什么都没学到,在大学混日子混了两年,每天不是在打农就是在steam。大三开学时一个和自己玩的好的同学去实习了,才发现自己白白浪费了两年的时间,如果真不冲一下就真去京东,阿里,美团送外卖了今年9月份开始学Java,一开始一直跟着黑马视频看,后面发现看视频效率太低了,时间根本不够,就开始主要看文档和看书了。这几个月一直在学,真的尽力了,希望暑期前能找一份好点的实习。我简历上面的项目大多没有指标,但是实际上我是真没多少时间去做项目,我基本主要是动手只做了外卖和天机,黑马点评和12306我都是只是看了项目。主要是自己的时间真的不多,但是这样子自己的代码能力确实比较差。而且自己也没有做过实际的工程,我顶多用jmeter测试一下接口tps啥的,比如使用Redis管道提升了一点性能,减少Redis交互,这种值得写上去吗?需不需要具体到某些数字求求各位佬给一些建议,看看简历怎么优化?项目介绍是不是不够详细?没有具体到业务方面。项目会不会提到大致实现原理导致面试官一看简历就知道怎么实现就没有问的欲望?专业技能一些字段是不是要加粗,是不是写太啰嗦了?有没有必要压缩内容变成一页?两页的话是不是都要把两页填地满满的。
给秋招一个交代:一页简历最好,网上做的项目放面试官眼里都是玩具,简历上不需要强调有什么难点,记住就行防止真的问。然后背八股,多投多面试就行
点赞 评论 收藏
分享
评论
17
69
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务