研发相关,来讨论下快手这道场景题好不?


有没有大佬帮忙看看快手这道场景题啊,考点是什么?当时面试的时候没get到点


/*
需要给同事A提供inShop接口,判断用户U是否在浏览店铺S
客户端每5秒调用consume传浏览东西Action
实现两个方法:consume,inShop

public class Action {
    private long userId;
    private long shopId;
}
public void consume(Action action);

public boolean inShop(long userId, long shopId) ;
*/
求讨论,求解答~~~
#Java开发##快手##笔试题目#
全部评论
有两种思路,一是定一个concurrenthashmap里面key是用户id和店铺id租个的一个字符串,然后value是当前时间。 Consume方法每获得一个消息就存到map里面。然后inShop方法去get,如果发现时间大于5s就反悔false。 但是这样内存应该会越占越大,每个用户每5s就存一次。 另外一个思路是用redis,来一个存一个key同样是用户id与店铺id的组合。value随意。设置5s的过期时间,如果查的时候发现没有那就是用浏览别的去了,或者用户下线了。
点赞 回复 分享
发布于 2021-06-28 01:15

相关推荐

07-11 11:10
门头沟学院 Java
请问各位大三兄弟们跟hr说多久实习时间到时候可以提前跑路吗?
程序员小白条:问就是六个月以上,可以一年,实习都这样,你入职后想跑就跑
点赞 评论 收藏
分享
05-20 21:57
已编辑
门头沟学院 Java
喜欢吃卤蛋的悲伤蛙在...:建信融通没消息吧,我2说有实习挂简历不理了
点赞 评论 收藏
分享
06-12 16:23
已编辑
小米_软件开发(准入职员工)
点赞 评论 收藏
分享
07-11 10:56
门头沟学院 Java
码客明:大胆的说自己能实习6个月就行
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

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